Я использую Solaris 10 на SPARC. У меня / usr legacy установлен на zpool usr-pool.
Теперь мне нужно переместить некоторые устройства из usr-pool в другой zpool, для которого не хватает места.
Какой для меня самый безопасный способ сделать это? Я уже знаю, что (поскольку мой zpool не является зеркальным) мне нужно уничтожить и воссоздать zpool. Я знаю, как сделать резервную копию и восстановить снимок zfs. Однако ... Я не понимаю, как размонтировать usr-pool без потери доступа к командам, которые мне нужны в / usr для завершения резервного копирования / восстановления.
Беглое исследование показало, что я должен загрузиться в OpenBoot (init 0), а затем выполнить «boot cdrom -s». Я сделал это, но ни один из zpools недоступен на этом уровне выполнения.
Я также читал, что могу просто скопировать / usr в другое место, символическую ссылку / usr в это место, а затем выполнить резервное копирование / восстановление. Это безопасно?
Буду признателен за руководство.
С.
К сожалению, ZFS в настоящее время не поддерживает сжатие пула.
Поскольку вы уже упомянули, что намерены уничтожить и воссоздать бассейн, вот что нужно делать. Но сначала...
Теперь, с этим в стороне:
/usr-new
zfs-send
из снимка usr-pool
к usr-new
(Вам также необходимо учитывать любые дочерние наборы данных).zfs unmount usr-new
.usr-new
к /usr
(он может жаловаться, но должен работать. Свяжитесь с zfs get mountpoint usr-new
)usr-pool
(т. е. старый) для использования устаревшего монтажа с zfs set mountpoint=legacy usr-pool
(это приведет к тому, что он не будет автоматически монтироваться при загрузке, но также не будет отключен сразу).Вы загрузитесь с новым usr-new
Прикреплено к /usr
и старый usr-pool
не установлен. Затем вы можете уничтожить usr-pool
и повторно используйте диски по мере необходимости.