我在SPARC上使用Solaris 10。 我将/ usr旧版挂载在zpool'usr-pool'上。
我现在需要将usr-pool中的一些设备移动到另一个空间不足的zpool。
什么是最安全的方式来做到这一点? 我已经知道(因为我的zpool没有镜像),我需要销毁并重新创buildzpool。 我知道如何备份和恢复zfs快照。 但是,我很难如何卸载usr-pool,而不会失去对/ usr上需要的命令的访问来完成备份/恢复。
Cursory的研究表明,我应该引导到OpenBoot(init 0),然后“启动光盘-s”。 我这样做了,但是没有任何一个zpools可以在这个运行级别访问。
我也读了我可以复制/ usr到另一个位置,符号链接/ usr到那个位置,然后做我的备份/恢复。 这是安全的吗?
我将不胜感激一些指导。
S.
不幸的是,ZFS目前不支持收缩池。
既然你已经提到你的意图是摧毁和重新创build池,这是做什么。 但首先…
现在,就这样,
/usr-new上创build一个新的池 usr-pool的快照到usr-new zfs-send (您还需要考虑任何后代数据集)。 zfs unmount usr-new 。 usr-new的挂载点改为/usr (可能会报错,但是应该可以正常工作,请检查zfs get mountpoint usr-new ) usr-pool (即旧的)使用传统挂载与zfs set mountpoint=legacy usr-pool (这将导致它不会在启动时自动挂载,但也不会立即卸载它)。 您将使用/usr上的新usr-new启动,并且旧的usr-pool未挂载。 然后,您可以根据需要自由销毁usr-pool并重新使用磁盘。