Пул ZFS с различными размерами дисков

9

Я планирую настроить пул FreeNAS ZFS, используя два диска по 2 ТБ и два диска по 1 ТБ. Я хотел бы иметь избыточность данных как-то. Я читал этот пост, который, кажется, предлагает два варианта: потерять 1 ТБ на 2 ТБ диске с помощью RAIDZ или использовать эту команду (что удваивает пространство, необходимое для избыточности данных):

zfs set copies=2 poolname

Есть ли лучший способ справиться с этим и получить что-то более похожее на Drobo Beyond RAID или Netgear XRAID? Можно ли разделить каждый диск 2 ТБ на разделы 1 ТБ и поместить оба раздела в пул?

Тимоти Р. Батлер
источник

Ответы:

13

Есть лучший способ - создать один пул объемом 3 ТБ, состоящий из двух зеркал.

zpool create test mirror disk1 disk2 mirror disk3 disk4

где disk1 и disk2 - диски размером 1 ТБ, а disk3 и disk4 - диски объемом 2 ТБ.

Редактировать:

Если вы хотите максимизировать размер и не беспокоиться о производительности или рекомендациях, вы можете разделить все диски равными по размеру разделами (или срезами) и создать гибридный пул объемом 4 ТБ с RAIDZ-массивом 4 vdev и зеркалом 2 vdev.

zpool create -f test raidz d0p1 d1p1 d2p1 d3p1 mirror d0p2 d1p2

Обратите внимание на параметр «-f», необходимый для принудительного принятия командой несоответствия уровня репликации.

jlliagre
источник
1
Спасибо за информацию. Так что это будет похоже на обычное зеркалирование, где избыточность «стоит» на 100% больше? Есть ли способ добиться 50% -ной «стоимости» RAID5-подобного вместо паритета? Какова производительность этой конфигурации по сравнению с производительностью установки ZRAID / RAID5 с 4 одинаковыми по размеру дисками?
Тимоти Р. Батлер
@ TimothyR.Butler Вы не можете создать зеркало размером 1 ТБ и применить RAIDZ к двум 2 ТБ и зеркалу 2 ТБ, просто это не работает. Чтобы использовать RAIDZ, у вас должны быть диски одинакового размера (или вы освободите дополнительное место на более крупных дисках, или вам придется начать переходить в нерекомендованные конфигурации). Две конфигурации зеркал, рекомендуемые этими ответами, являются вашими лучшими рекомендуемыми конфигурациями.
Крис С
Спасибо jilliagre и @chriss за комментарии. Я думаю, что я могу просто купить еще два диска и назвать это день. Эта вторая команда, только что добавленная jilliagre, интригует, хотя ... Буду ли я прав, если предположить, что производительность будет такой же хорошей или лучше, чем любая из упомянутых выше, если я использую RAID-массив 4x2 ТБ?
Тимоти Р. Батлер
@ TimothyR.Butler RAIDZ размером 4x2 ТБ будет иметь незначительное снижение производительности по сравнению с двойными зеркалами 2x2 ТБ (в основном RAID10). Эти двое будут иметь лучшую производительность из всего, что мы обсуждали здесь.
Крис С
4

Это зависит от того, сколько хранилищ данных вам нужно. Вы можете создать два пула по 1 ТБ и 2 ТБ каждый, используя RAID 1. Если нет, посмотрите, можете ли вы приобрести диски одинакового размера, и попробуйте RAID 1 + 0 или RAIDZ.

ewwhite
источник
Спасибо. Будет ли два пула лучше, чем один пул с двумя RAIDZ?
Тимоти Р. Батлер
@ TimothyR.Butler Каждое зеркало дисков - это vdev в ZFS. Вы не можете удалить vdevs из пула zfs; поэтому, если в пуле есть два зеркала, в нем всегда должны быть как минимум эти два (вы можете добавить больше, но не удалять). Если вы когда-нибудь захотите переключиться на что-то с меньшим количеством vdevs, вам придется уничтожить пул и начать с нуля. Таким образом, если вы начнете с двух zpools, у вас будет возможность разделить их позже, если вы захотите, но вы потеряете способность автоматически распределять пространство хранения (вам придется размещать файлы в одном или другом пуле по мере их заполнения).
Крис С
@ewwhite, я знаю, что вы имеете в виду под «RAID 1 + 0», но в ZFS нет способа явно сделать это ... некоторые могут быть смущены различием.
Крис С
2

Из руководства администратора ZFS:

«Устройства могут быть отдельными слайсами на предварительно отформатированном диске или целыми дисками, которые ZFS форматирует как один большой слайс».

Так что да, вы можете создать два раздела по 1 ТБ на этих дисках по 2 ТБ, использовать их для RAID-Z vdev, а оставшееся пространство для хранения без резервирования.

Тем не менее, в соответствии с Руководством ZFS Best Practices, вы можете столкнуться с ухудшением производительности:

Для производственных систем используйте целые диски, а не слайсы для пулов хранения по следующим причинам:

  • Позволяет ZFS включить кэш записи диска для тех дисков, которые имеют кэш записи. Если вы используете RAID-массив с энергонезависимым кешем записи, то это менее проблемная проблема, поскольку vdevs должен по-прежнему использовать преимущества кеша записи массива.

  • Для хранилища, подключенного к JBOD, с включенным дисковым кешем, допускается выдача некоторых синхронных записей в виде нескольких дисковых записей с последующей очисткой кеша, что позволяет контроллеру диска оптимизировать планирование ввода-вывода. Отдельно для систем, в которых отсутствует надлежащая поддержка SATA NCQ или SCSI TCQ, наличие включенного кэша записи позволяет хосту асинхронно выдавать одну операцию ввода-вывода из физического ввода-вывода.

  • Процесс восстановления при замене неисправного диска является более сложным, когда диски содержат как файловые системы ZFS, так и UFS в виде слайсов.

Terlisimo
источник
Замечательная работа "вырезать и вставить", но все это уже было рассмотрено в двух других ответах.
Крис С