我可以从 ZFS 虚拟设备中删除物理驱动器吗?

我可以从 ZFS 虚拟设备中删除物理驱动器吗?

16.04 中的新功能之一是出色的 ZFS 文件系统。维基百科介绍了一些有趣的用例(页面末尾)另一个 wiki 页面提到“可以将设备添加到 [ZFS 虚拟设备],但不能从中删除。”

因此,我可以轻松添加驱动器,它们会自动扩大 ZFS 卷,但是当我的机器中物理空间/连接器用完时会发生什么?我该怎么做才能移除/替换物理驱动器?

答案1

您可以从 zpool 替换物理驱动器。请查看 Oracle 制作的此教程。

替换 ZFS 存储池中的设备

但是根据 zpool 手册页 (snv_92):

 zpool remove pool device ...

     Removes the specified device from the pool. This command
     currently  only  supports  removing hot spares and cache
     devices. Devices that are part of a mirrored  configura-
     tion  can  be  removed using the "zpool detach" command.
     Non-redundant and raidz devices cannot be removed from a
     pool.

因此,如果您意外地将设备添加到 zpool,则需要备份所有内容并重新创建池。

答案2

回答你的最后一句话而不是标题问题,因为这似乎是原因:

对于 zfs,驱动器需要在阵列中具有相同的大小才能实现有意义的组合。对于 raidzX 模式,zpool 的大小受阵列中最小磁盘的限制。

如果要扩大池,则需要确保逐个用更大的磁盘替换磁盘,并让池在每个步骤之间重新同步。添加最后一个磁盘后,池会自动扩大到新的最大容量。有时,需要先导出池然后重新导入,然后才能触发该过程zpool export tankzpool import tank

多年来,我已经这样做过好几次了,这始终是一个足够的解决方案。如果您从一开始就规划好您的池并最大化您的插槽,那么可用的增长选项与其他文件系统类似,因为您总是需要更换磁盘。

相关内容