Я решил пойти по пути btrfs вместо zfs для моего "NAS". Я тестировал и то, и другое раньше, и должен признать, что обнаружил, что ZFS намного лучше документирован, меня действительно соблазнил его интерфейс командной строки, поэтому для меня ZFS была «лучшим» выбором.
Но тут была остановка: если у вас есть 3 жестких диска по 2 ТБ для ZFS в RAID-5, и вы хотите увеличить их до 4 жестких дисков ТБ, это непросто. Если вы используете пул ZFS как 3HDD и хотите добавить новый жесткий диск, вам нужно добавить еще 3: всего 6x 2 ТБ. А если у вас есть 6HDD и вы хотите увеличить свою FS, вам нужно добавить еще 6 и т. Д. У меня была проблема, что мой корпус NAS не может вместить более 4 дисков, и что я пока не могу позволить себе покупать 4 жестких диска. В этом отношении Btrfs гораздо более гибок.
Однако, когда я только начинал, RAID-5/6 действительно плохо поддерживался. Я провел несколько тестов, как и вы, и в итоге повредил файловую систему. Я проделал те же тесты в RAID-1 и никаких проблем! Поэтому я решил использовать Btrfs в RAID-1, и вместо использования Ubuntu LTS я всегда использую последнюю версию Ubuntu, чтобы получить последнюю версию ядра и пакета btrfs-tools (я использую Ubuntu 15.04 и готовлюсь к переключению до 15.10). Я, вероятно (после тестирования), наконец, перейду на RAID-5, как только выйдет Ubuntu 16.04, и, вероятно, буду придерживаться его.В недавних журналах изменений ядра я видел, что кодовая база для RAID-5/6 намного более зрелая.
Итак, к вашей проблеме. Если вы хотите попробовать Btrfs, особенно в RAID-5 или 6, придерживайтесь самых последних дистрибутивов Linux (например, Arch Linux, последней версии Ubuntu, Fedora и т. Д.). Им может не хватать стабильности других дистрибутивов, но для Btrfs они, вероятно, намного более стабильны.
Одно замечание о вашем «варианте использования»: ваша файловая система Btrfs довольно мала по сравнению с размером файлов, которые вы вставляете. Вероятно, это не совсем хорошо отражает реальный сценарий. Вы должны создавать большие (видео) и маленькие файлы (фотографии, документы) и пытаться заполнить файловую систему до 80%. Один хороший способ проверить это - поместить много файлов в вашу файловую систему, а затем запустить тесты файловой системы, но не для самого тестирования, а из-за стресса, который они вызывают. Для этого можно использовать набор тестов phoronix (например, набор тестов phoronix, pts / disk
).
Если вы смотрите на переменную для определения потока, вы хотите использовать оператор case
.
case "$var" in
val1)
do_something
;;
val2)
do_something_else
;;
esac
Если вы хотите получить пользовательский ввод в интерактивном режиме, вы также можете использовать оператор select
.
select action in proceed ponder perspire quit; do
case "$action" in
proceed)
go_on_then
;;
ponder)
have_a_think
;;
perspire)
exude_salty_secretions
;;
quit)
break
;;
esac
done