У меня есть пул RAID1 ZFS с 2x 5 ТБ зеркальными и 2 1 ТБ зеркальными дисками, и я хочу заменить два устройства 1 ТБ на 4 ТБ. Поскольку zpool add
является отменяемым [1], необходимо уничтожить пул после его воссоздания в нужном макете.
Следовательно
- Я
zpool detach
зеркальные устройства и создал с ними новый пул. - После того, как следующие команды потерпели неудачу из-за перекрывающихся точек монтирования, я удалил и повторно импортировал его с альтернативным корнем, используя
zpool import -R /mnt/data1
- Я создал снимок
migrate1
для запускаsudo zfs send -R data@migrate1 | sudo zfs receive -F data1
которая в данный момент выполняется.
Теперь я хотел бы знать, что лучше всего сделать после завершения канала zfs send
поскольку, насколько я понимаю, мне нужно получить старые data
пула для монтирования в альтернативном корне и новый пул data1
без альтернативного корня после перезагрузки, чтобы иметь возможность удалить старый пул и сделать его доступным для подключения к новому. Может быть, есть другой способ.
Я использую ZFS 0.7.0-182_gc0daec32f8 и SPL 0.7.0-20_g35a44fcb, созданный из исходного кода на Ubuntu 17.10 с Linux 4.13.0-16-generic.
Я проверил
- Могу ли я безопасно перенести пул ZFS из FreeBSD в Ubuntu? что касается Ubuntu против формата FreeBSD, тогда как я остаюсь на том же Ubuntu
- Миграция LVM в ZFS, которая не имеет таких же проблем, как перекрывающиеся точки монтирования и необходимость в
ALTROOT
Я знаю, что это сложно и что не мешало бы держать устройства объемом 1 ТБ внутри пула, но это не является частью вопроса.
[1] Я запросил это как проблему ZFSOnLinux по адресу https://github.com/zfsonlinux/zfs/issues/6857, в которой содержатся ссылки на сложный план / план действий