Создавая свой пул RAID-Z на ZoL, я предполагал, что позже смогу просто вставить дополнительные диски. Между тем я узнал, что это пока невозможно.
Но ... У меня была аналогичная проблема при создании моего первоначального пула. Всего 4 свободных порта SATA, но старый RAID5 с тремя дисками по 2 ТБ и новый RAIDZ1 с тремя дисками по 4 ТБ. Решение заключалось в а) ухудшении RAID5 и б) создании начального RAIDZ с разреженным файлом в качестве «виртуального третьего диска», который был немедленно отключен после создания пула:
dd if=/dev/zero of=/zfs1 bs=1 count=1 seek=4100G
zpool create zfspool raidz /dev/disk1 /dev/disk2 /zfs1
zpool offline zfspool /zfs1
zfspool
. Удалите старые диски RAID5, добавьте третий, новый диск емкостью 4 ТБzpool replace zfspool /zfs1 /dev/disk3
Это сработало действительно здорово! Теперь я узнал, что, хотя ZFS не поддерживает напрямую добавление одного диска в RAIDz, он поддерживает замену дисков на диски большего размера.
Итак, вот мой план. Кто-нибудь видит в этом изъян?
Это сработает? Я знаю, что я более уязвим к потере данных из-за отсутствия избыточности во время процесса, но у меня будет резервная копия наиболее важных данных. На всю полезную нагрузку 6 ТБ не хватает.
И будет ли ZFS автоматически увеличивать пул до (3 + 1) x4TB = 12TB после последнего шага?
Уродливо, но это сработает.
За исключением тех случаев, когда этого не происходит;).
Важно: перед тем, как попробовать, вам лучше иметь протестированную резервную копию на другом носителе или машине!
Да, ZFS увеличит пул, если последний диск или раздел размером 2 ТБ будет заменен на 4 ТБ (если для пула установлено autoexpand = on)
zpool get autoexpand $pool
zpool set autoexpand=on $pool
Замечание: вы не должны использовать RAID-Z на дисках размером более 2 ТБ. Ваш шанс получить ошибку при повторном обновлении при замене неисправного диска очень высок. Пожалуйста, рассмотрите RAID-Z2.
Звучит ужасно. Это ваши данные, так что вы можете делать что хотите ... Однако никто не поддержит решение.
Это действительно та ситуация, в которой вам следует просто начни сначала.
Перенесите данные куда-нибудь на время и восстановите.