Ваши ограничения бюджета заставляют меня думать, что необходимо пойти путем создания системы сами.
Я был крупным сторонником Соляриса основанные на ZFS решения для NAS и/или бэкенды iSCSI для VMware. С частью нечеткости приобретение окружающей Oracle Sun я начал использовать NexentaStor в клиентском развертывании. Платформа привлекательна из-за встроенного сжатия, дедупликации и способности представить устройство хранения данных iSCSI, а также NFS. См. следующую статью для получения информации о платформе ZFS:
http://www.anandtech.com/show/3963/zfs-building-testing-and-benchmarking
Для новых установок я использовал узлы хранения HP ProLiant DL180 G6 и снабжал оборудованием их с 24GB-48GB RAM, контроллеры LSI 9211 SAS для замены встроенных Умных RAID-контроллеров Массива и соединения твердотельных (кэш), 15k об/мин и низкая скорость 7.2k об/мин диски SAS, в зависимости от приложения/среды. Добавьте некоторый дополнительный NICs (2 или gigE с 4 портами), и это - хорошая установка, которая является, вероятно, шагом от использования низкопроизводительного устройства или необработанного Linux NFS.
Nexenta работает хорошо с аппаратными средствами (светодиоды диска, агенты HP, и т.д.) Используя это решение, я на уровне $5 000 - 8 000 за узел хранения, в зависимости от типа дисков. Вам не было бы нужно что-то включенный, но если Вы действительно используете основанное на ZFS решение, приблизительные системные требования для Вашего расположения должны быть 6 или больше дисками данных с помощью RAID 1+0, или RAID 5+0 (избегайте RAID 6), 8 + RAM ГБ, и несколько выделили NICs для сети хранения данных (на ESX и сторонах узла хранения).
Коммерческая установка от PogoLinux может также работать. Я пошел путем создания моего собственного, потому что я предпочитаю аппаратные средства HP, но существует некоторое консервированное решение ZFS С ПОДДЕРЖКОЙ, доступной здесь:
http://www.pogolinux.com/products/storage_director
Если это слишком включено, Ваша следующая опция - что-то как HP MSA P2000 SAN; возможно, одна из присоединенных к SAS моделей как 2312sa. Это - шаг в цене, все же. Возможно, ~ $13 тысяч + США для того, что Вы ищете.
вам не нужно нажимать ввод для выхода. здесь это просто косметический вопрос. это потому, что ваш вывод «перезаписывает» ваш терминал (вы все равно можете ввести любую команду и нажать Enter - она будет выполнена).
Чтобы «исправить» эту проблему с макетом, вы можете попробовать добавить «; sleep 1; echo» к ваша строка должна выглядеть так:
tcpdump -tnn -i eth1 -f multicast | sort | uniq -c | awk '{print $3,"> "$5,$1*$NF/2*8/1024 " Kbps"}' | awk '$1 > 10' & sleep 2s && pkill -HUP -f tcpdump; sleep 1; echo
Надеюсь, что это поможет.
А вот ваш сценарий bash с переменной:
#!/bin/bash
SLEEPTIME=5
tcpdump -tnn -i eth0 -f multicast | sort | uniq -c | awk -v a=$SLEEPTIME '{print $3,"> "$5,$1*$NF/a*8/1024 " Kbps"}' | awk '$1 > 10' & sleep $SLEEPTIME && pkill -HUP -f tcpdump; sleep 1; echo
Попробуйте использовать тайм-аут
, чтобы убить tcpdump по истечении некоторого времени:
(timeout -s HUP 2 tcpdump -tnn -i eth1 -f multicast || true) | sort | uniq -c | awk '{print $3,"> "$5,$1*$NF/2*8/1024 " Kbps"}' | awk '$1 > 10'
Для его написания:
#!/bin/bash
if ! [[ "$1" =~ ^[0-9]+$ ]]; then
echo "Usage: $0 <number of seconds>"
exit 1
fi
(timeout -s HUP $1 tcpdump -tnn -i eth1 -f multicast || true) | sort | uniq -c | awk '{print $3,"> "$5,$1*$NF/2*8/1024 " Kbps"}' | awk '$1 > 10'