池是通过使用 zpool destroy 命令进行销毁的。此命令会销毁池,即使池中包含挂载的数据集也是如此。
# zpool destroy tank
如果使用 zpool destroy 命令销毁池,该池仍可用于导入,如恢复已销毁的 ZFS 存储池中所述。这意味着属于该池的磁盘上的机密数据可能仍可用。如果要将已销毁池的磁盘上的数据销毁,必须对已销毁池中的每个磁盘使用类似于 format 实用程序的 analyze->purge 选项的功能。
使文件系统数据保密的另一种方法是创建加密的 ZFS 文件系统。采用加密文件系统的池被销毁后,即使恢复了已销毁的池,在没有加密密钥的情况下也无法访问其中的数据。有关更多信息,请参见加密 ZFS 文件系统。
销毁池这一操作要求将数据写入磁盘,以指示池不再有效。此状态信息可防止执行导入操作时这些设备作为潜在的池显示出来。在一个或多个设备不可用的情况下,仍可以销毁池。但是,必需的状态信息将不会写入这些不可用的设备。
经过适当修复后,当您创建新池时,这些设备被报告为潜在活动设备。当您搜索池以便导入时,这些设备显示为有效设备。如果池中包含足够多的 UNAVAIL 设备,以致于池本身也变为 UNAVAIL 状态(这意味着顶层虚拟设备变为 UNAVAIL),则此命令将输出一条警告,并且在不使用 –f 选项的情况下无法完成操作。此选项是必需的,因为无法打开池,以致无法知道数据是否存储在池中。例如:
# zpool destroy tank cannot destroy 'tank': pool is faulted use '-f' to force destruction anyway # zpool destroy -f tank
有关池和设备的运行状况的更多信息,请参见确定 ZFS 存储池的运行状况。
有关导入池的更多信息,请参见导入 ZFS 存储池。