Как лучше хранить 13 ТиБ данных (mdadm / lvm / zfs / btrfs)?
Добрый день, Хаброчане!
Подскажите, как лучше организовать надёжное хранение большого объёма данных, с кучей файлов. Данных всего примерно 13 ТиБ, может быть чуть больше.
Их можно разделить на две группы:
* 8 ТиБ, примерно 450 000 файлов, размером в среднем от 10 МиБ до 25 МиБ. В 90% случаев они будут только читаться, в 8% дополняться, в 2% удаляться/перезаписываться. Данные уже сжатые, сжать лучше вряд ли получится.
* Примерно 5 ТиБ и около 5 300 000 файлов, очень разного размера, несколько сотен тысяч совсем мелких, по 5 КиБ, какие-то крупные, по несколько гибибайт. Эта группа будет активно обновляться, перезаписываться, удаляться. Тут, теоретически, данные сжимаемые, но не уверен, что это имеет смысл.
Для этого всего припасено 5 дисков TOSHIBA HDWG160, 6 ТБ (5.4 ТиБ).
Я планировал из них собрать что-то вроде программного RAID 6, т.е. полезный объём будет равен объёму только трёх дисков, 18 ТБ.
Что лучше для этого использовать? Собрать средствами mdadm/lvm и сверху разместить ext4 или использовать модные ZFS/BTRFS? Что более надёжно? Что расширяемо? Теоретически, может настать момент, когда объёма хватать перестанет. Смогу ли я добавить ещё такой же диск в массив не потеряв надёжность? Какой вариант будет легче/быстрее восстановить, если накроется один диск? А два?
Каких-то особых возможностей на данный момент не требуется, снапшотов, вероятно - тоже. Может быть, «версионирование» состояний некоторой части данных, для которого хватит скрипта, что будет создавать директории с датой в имени и хардлинки для файлов между ними. Но, если это будет происходить средствами ФС, то хорошо.
P.S.: Памяти 32 ГиБ, Error Correction Type: Multi-bit ECC, что для ZFS должно быть вполне хорошо.
P.P.S.: Может быть какой туториал посоветуете?
мне кажется zfs тут будет подходить лучше, чем связка из mdadm + lvm
как бы весь функционал zfs позволяет делать сама, и в случае необходимости добавить диск или заменить, будет проще.
Lsh, в ZFS нет raid6, есть raidz2
Расширять систему можно не добавляя диски в raidz, а добавляя новые массивы raidz2 в пул
Посмотрите https://www.youtube.com/watch?v=ZR6Hvk0H5SA
с 28:40
То что лучше знаешь/был опыт работы: llvm или zfs/btrfs.
Можно использовать что-то типа TrueNAS и не парится с выбором.
Возможно стоит как-то разделить файлы на группы, а не держать в общей файло-помойке, и группы разложить на разные raid тома, созданные на независимых от других групп дисках...
Стоит подумать еще и о бэкапе всего этого добра.
Btrfs лучше забыть, если хочешь данные хранить, а не терять. Mdadm неплох и надёжен, но есть нюансы с пересборкой. Можно сделать и с LVM, подробно описал ЗДЕСЬ. Но собственно дату рекомендую хранить в ZFS. Сама файловая система защищает от физического падения диска. У меня настроены снапшоты, как защита от случайного стирания. И сделана инкрементальная реплика на ZFS сервер в другой локации на случай здеца. Некоторые разделы зашифрованы, на случай кражи. Описано ЗДЕСЬ, правда когда писал это, ещё шифрование не включал, поэтому про него не написано.