2015年10月15日更新:今天我发现了该zpool split命令,该命令从现有池中拆分出一个新池(使用新名称)。 split比offline和干净得多detach,因为两个池随后可以在同一系统上存在(并分别清理)。export[ed]从系统中拔出新池之前,也可以对其进行干净(正确)的安装。
(我的原始帖子如下)。
警告! 此页面上的各种注释均暗示zpool detach着驱动器可能(或可能),然后以某种方式重新连接驱动器并访问其包含的数据。
但是,根据该线程(和我自己的实验)
zpool detach,从分离的驱动器中删除了“池信息”。换句话说,a detach就像驱动器的快速重新格式化。在detach驱动器上仍有大量数据之后,但是实际上将无法重新安装驱动器并将数据视为可用的文件系统。
因此,在我看来,它detach比更具破坏性destroy,因为我相信它zpool import可以恢复被破坏的池!
一个detach是不是一个umount,也不是一个zpool export,也没有一个zpool offline。
在实验中,如果我先是zpool offline一台设备,然后再zpool detach是同一台设备,则池中的其余部分会忘记该设备曾经存在过。但是,由于设备本身早于offline[d]以前,因此detach[ed]永远不会将其通知给设备本身detach。因此,设备本身仍然具有其池信息,并且可以移动到另一个系统,然后再移动import[ed](处于降级状态)。
为了进一步保护detach您,甚至可以offline在发出detach命令之后但在发出命令之前物理上拔下设备的电源。
我希望先使用offline,然后detach再使用import来备份我的池。像原始海报一样,我计划使用四个驱动器,两个使用恒定的镜像,另外两个用于每月,轮换,异地(和脱机)备份。在将其备份到异地之前,我将通过在单独的系统上导入和清理每个备份来对其进行验证。与原始海报不同,我不介意每月重写整个备份驱动器。实际上,我更喜欢完全重写以便有新鲜感。