16.04 中的新功能之一是出色的 ZFS 文件系统。维基百科介绍了一些有趣的用例(页面末尾)但另一个 wiki 页面提到“可以将设备添加到 [ZFS 虚拟设备],但不能从中删除。”
因此,我可以轻松添加驱动器,它们会自动扩大 ZFS 卷,但是当我的机器中物理空间/连接器用完时会发生什么?我该怎么做才能移除/替换物理驱动器?
答案1
您可以从 zpool 替换物理驱动器。请查看 Oracle 制作的此教程。
但是根据 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 tank
。zpool import tank
多年来,我已经这样做过好几次了,这始终是一个足够的解决方案。如果您从一开始就规划好您的池并最大化您的插槽,那么可用的增长选项与其他文件系统类似,因为您总是需要更换磁盘。