LINUX.ORG.RU
решено ФорумAdmin

Как лучше хранить большой массив информации? mdadm / lvm / zfs / btrfs

 , , , ,


5

5

<UPD> Остановился на ZFS по следующим причинам:
* Попробовать интересно
* Контрольные суммы для данных, что должно повышать надёжность
* Это решение всё в одном. Например, ZFS знает, какие блоки принадлежат файлам, а какие свободные. Поэтому при сборке массива не надо ждать, пока по-XOR-ится свободное место, в отличии от mdadm.

Я попробовал mdadm, не увидел, чтобы с ним было быстрее. Возможно, это бы проявилось на SSD, но у меня обычные HDD. Да, в варианте с ZFS есть недостаток, что массив нельзя расширить просто добавив один диск. Но мне прямо сейчас оказалось не надо, это на будущее. А, как тут писали, скоро необходимое решение появится.

Всем спасибо!
</UPD>
-----------
Доброе утро, ЛОРчане!

Подскажите, как лучше организовать надёжное хранение большого объёма данных, с кучей файлов. Данных всего примерно 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.: Может быть какой туториал посоветуете?

★★★★★

Последнее исправление: ls-h (всего исправлений: 3)

Однозначного ответа нет. Я бы выбрал mdadm+lvm. Тут главное не забывать про «3-2-1 backup».

ololoid ★★★★
()
Ответ на: комментарий от ololoid

mdadm+lvm

А просто средствами lvm это можно сделать? Как я понимаю, в основе у них одни и те же механизмы ядра и в утилитах для работы с lvm есть поддержка разных RAID уровней. Может быть какой туториал посоветуешь по конкретным настройкам? Спасибо!

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

Так ты же програмный делаешь.
Какая разница? Там тупо 1 раздел и всё.
Просто xfs быстрее и мгновенно копирует файлы если они на одном разделе. Типа ссылки делает, а не пишет блоки. Если будут одинаковые файлы, ты сэкономишь место.

daxoric128
()
Ответ на: комментарий от daxoric128

Так ты же програмный делаешь.

У меня выбор, сделать RAID средствами самой файловой системы (ZFS, BTRFS) или сделать поверх LVM/mdadm. Я так понимаю, ты предлагаешь XFS именно поверх LVM/mdadm? Сама XFS же не умеет в RAID, так?

Типа ссылки делает, а не пишет блоки. Если будут одинаковые файлы, ты сэкономишь место.

Речь про дедупликацию? Жёсткие ссылки и в других файловых системах есть. Не понял, про что ты говоришь...

ls-h ★★★★★
() автор топика

mdadm известна давно, ext4/xfs известны давно, статистика наработана, руководства написаны. Если задача стоит в максимальной надёжности, используй mdadm.

Снапшоты на LVM замедляют работу LVM, поэтому я бы на них не рассчитывал.

Aceler ★★★★★
()
Ответ на: комментарий от ls-h

А просто средствами lvm это можно сделать?

Нет.

Суть: на mdadm создаешь подходящий тип raid, а с помощью lvm объединяешь созданные raid массивы в единый сторадж.

В итоге у тебя будет:

  1. Надежность - соответственная выбранному типу raid

  2. Расширяемость - в lvm можно наращивать объем практически бесконечно

Например, у меня есть два диска по 4 Тб для «очень важных данных». Я объединяю их в raid1 и поверху создаю lvm волюм. 4 Тб волюм, который продублирован «зеркалом». Потом я покупаю еще 2 диска, снова объединяю их в raid1, но присоединяю уже в существующий lvm волюм. У меня уже 8 Тб пространства, с необходимым мне уровнем надежности.

Суть такова, что имея даже один (любой) raid стоит использовать к нему lvm, что бы можно было легко наращивать объем хранилища в будущем.

ololoid ★★★★
()
Ответ на: комментарий от ololoid

Суть такова, что имея даже один (любой) raid стоит использовать к нему lvm, что бы можно было легко наращивать объем хранилища в будущем.

Т.е., если я захочу сохранить тот же уровень RAID 6, то мне надо будет добавлять сразу минимум три диска, и я получу объём одного?

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

заменить по очереди диски на более ёмкие.
добавить 1 диск к существующему raidz из 5 дисков и получить raidz из 6 - нельзя.
но работы в этом направлении вроде как идут.
zfs делалась для энтерпрайза, а там массивы расширяются не добавлением одного диска, а подключением сразу дополнительной дисковой полки 😏

Minona ★★☆
()
Ответ на: комментарий от Aceler

mdadm известна давно, ext4/xfs известны давно, статистика наработана, руководства написаны.

Вот я тоже думаю, что ZFS/BTRFS хоть и считаются уже надёжными, но как-то боязно ещё...

Как думаешь, стоит ли использовать 6-й уровень или 5-го достаточно? А то пишут, что при таких объёмах может не пересобраться нормально.

И что думаешь про LVM поверх? Если не для снапшотов, то для расширяемости в будущем, как вот товарищ советует: Как лучше хранить большой массив информации? mdadm / lvm / zfs / btrfs (комментарий)

Спасибо!

ls-h ★★★★★
() автор топика
Ответ на: комментарий от daxoric128

Собери raid в биосе и не парься.

Ужасный совет! Во-первых он там будет непонятно какой, проприетарный и неизвестный науке. Во-вторых, всё ли гладко с RAID драйверами для GNU/Linux? Я для AMD чипсетов только под Windows встречал. В-третьих, если вдруг сама материнка накроется и надо будет перенести на другую, заработает ли оно?

ls-h ★★★★★
() автор топика
Ответ на: комментарий от daxoric128

тошибу все разом на памойку

Чего это? Намекаешь на одновременных выход всех дисков, т.к. одна модель?

ls-h ★★★★★
() автор топика
Ответ на: комментарий от Minona

заменить по очереди диски на более ёмкие.

Т.е. это 5 перестроений массива. А потом чего? Свободное место станет частью того же раздела?

ls-h ★★★★★
() автор топика
Последнее исправление: ls-h (всего исправлений: 1)
Ответ на: комментарий от ls-h

А ты чё думаешь соберёшь на саплях и оно протянет 10 лет?
У тебя один выход не давать дискам спать, то есть отключить автопарковку. Если ты это сделаешь, разоришься на электричестве.
Если не сделаешь будешь менять диски каждые полтора - два года.
Все мы знаем легендарный тошиба Р300. Остальные у них не лучше.
Тем более на устройстве харанения не должен стоять мощный процессор. Чтобы супер конденсаторы не работали на него одного.

daxoric128
()
Ответ на: комментарий от ls-h

Мне кажется, что с RAID 5/6 у тебя будет много плясок с количеством дисков при будущих расширениях. Туда же нельзя просто добавить ещё один диск.

С другой стороны, если делать Raid1 и объединять их в LVM, то тебе места не хватит.

Решай сам ;-)

Использовать LVM сама по себе идея хорошая, если у тебя в будущем планируется расширение за счёт количества дисков.

Aceler ★★★★★
()
Ответ на: комментарий от daxoric128

А ты чё думаешь соберёшь на саплях и оно протянет 10 лет?

А ты предлагаешь к не самым надёжным дискам сделать ещё так, чтобы замена материнки стала фатальной? Т.е. увеличить вероятность потери данных?

У тебя один выход не давать дискам спать

Не думаю, что они успеют. Как именно ты предлагаешь это отключить? Для TOSHIBA надо какой-то особый костыль?

Если ты это сделаешь, разоришься на электричестве.

Про это вообще вопрос не стоит.

Тем более на устройстве харанения не должен стоять мощный процессор.
Чтобы супер конденсаторы не работали на него одного.

Что-то совсем запутано всё. При чём тут процессор?

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

Если надо еще один raid6, тогда - да. А вообще сама идея такого подхода с lvm позволяет комбинировать любые типы raid в один сторадж. То есть, можно и «зеркало» добавить к стораджу, например.

ololoid ★★★★
()
Ответ на: комментарий от daxoric128

Если на диске бад есть это говно

ты ошибаешься.

Minona ★★☆
()
Ответ на: комментарий от Aceler

Туда же нельзя просто добавить ещё один диск.

А куда-то вообще можно, кроме RAID1+LVM?

Решай сам ;-)

Ну! Я же на ЛОР не просто так пришёл, а за советом срач устрои...!

ls-h ★★★★★
() автор топика
Ответ на: комментарий от NyXzOr

Нет - значит не умеет или не стоит так делать?

Значит - не стоит так делать. Идея в разделении уровня абстракций для каждой из задач. Для надежности - raid, для расширяемости - lvm.

ololoid ★★★★
()
Ответ на: комментарий от Minona

Камон, он же троллерожденный, скоро посоветует ставить void :)

ololoid ★★★★
()
Ответ на: комментарий от ls-h

Вот так отключается сон
hdparm -B 254 -S 0 -c1 /dev/sda
Или режим ожидания.
Собирать надо на процессоре c минимальным тепловыделением.
Например вот AMD A6 9500E.
Его скорости хватает для гигабита в притык и он не греется.
В блоке трансформатор заряжает конденсаторы импульсом и они какое-то время отдают ток.
Чем больше нагрузка тем чаще заряка.
Больше всего току жрёт процессор. Потому что в нём куча транзисторов. Дискам мало что будет оставаться от чистого тока. У процессора мосфеты есть, а у дисков нету.
Они доедают импульсы за ним.
Нужен блок с серебряным сертификатом чтоб затащить.
Или 2 блока в системник. Отдельный для hdd.
На ноутах hdd живут дольше, потому что проц жрёт меньше и ток чище.

daxoric128
()
Ответ на: комментарий от daxoric128

за то что ты приравнял ZFS и BTRFS тебя надо бить битой.

Minona ★★☆
()
Ответ на: комментарий от NyXzOr

lvcreate --type raid6…

А что в таком случае с расширяемостью? Или для неё надо будет делать уже LVM+LVM?

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

Во-вторых, всё ли гладко с RAID драйверами для GNU/Linux?

Если поднимается, то обычно работает.

В-третьих, если вдруг сама материнка накроется и надо будет перенести на другую, заработает ли оно?

Вот тут проблемка.

anc ★★★★★
()
Ответ на: комментарий от anc

bad это уже приговор посмертно

У меня в боевом массиве на одном диске штук 10 бэдов, не растут. Скраб постоянно что-то чинит. Один раз вылетел диск, я его же перебилдил в массив, все стало тихо.

Lordwind ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.