Файловый сервер, который я создаю, разместит пул ZFS datapool
сделанный из 3 дисков, настроенных как объединение RAID-Z двойной четности. Существует набор данных, datapool/home
созданный на пуле. Набор данных datapool/home
экспортируется как доля NFS. Это - то, что я сделал:
1. zpool create datapool mirror /dev/sdb /dev/sdc /dev/sdd
2. zfs create datapool/doc
Я создал шпульку с 3 дисками и набор данных datapool/doc
. Я знаю, что RAID может быть создан путем выполнения:
mdadm --create --verbose /dev/md0 --level=5 --raid-level=3 /dev/sdb /dev/sdc /dev/sdd
Но, я смущен тем, как настроить мои 3 диска как объединение RAID-Z двойной четности.
Создать объединение RAID-Z с 2 дисками четности (raidz2
), можно работать:
zpool create datapool raidz2 <disk1> <disk2> <disk3> ...
Вы не должны использовать mdadm
в этой конфигурации вообще. ZFS реализует само управление томами - использование mdadm
на тех же устройствах ZFS использует, повредит Ваши данные. Кроме того, после того как Вы создали пул, Вы не можете изменить настройки избыточности данных (если это не находится на новых дисках, Вы добавляете, или если Вы не копируете данные из существующего пула, очистки, и восстанавливаете пул с нуля).
Однако Вы все еще не можете выполнить команду выше только для 3 дисков, если Вы хотите raidz2
. Идея позади RAID-Z является в основном тем же как зеркально отражающий - Вы хотите уменьшить возможности, что дисковый сбой приведет к потере данных, храня избыточную информацию - за исключением того, что это, как предполагается, уменьшает общий объем избыточной информации, которую необходимо хранить для восстановления данных, если диски умирают. Но, если Вы хотите пережить отказы всех кроме одного диска, у Вас должны быть все свои данные по тому последнему выживающему диску, так как нет другого диска, который можно считать для восстановления данных.
Поэтому зеркальное отражение является лучшим, можно сделать только с 3 дисками, если Вы хотите дублирование с 2 отказами:
zpool create datapool mirror <disk1> <disk2> <disk3>
Однако я полагаю, что Вы могли использовать raidz1
вместо этого, если дублирование с 1 отказом в порядке:
zpool create datapool raidz1 <disk1> <disk2> <disk3>