使用 ZFS 镜像将根分区移动到不同大小的新磁盘

使用 ZFS 镜像将根分区移动到不同大小的新磁盘

我有不少备用的 500GB 旧 WD Black 磁盘,我将用它们作为家里 FreeBSD NAS 的根文件系统。这些磁盘已在工作中的机架服务器中连续使用了 5 年,因此我认为它们不太可靠。由于我在开始使用 NAS 时有很多备用的 3.5 英寸托架,所以我考虑使用这些旧磁盘将 3 路 ZFS 镜像作为我的根文件系统。

我的目标是,一旦我不再那么缺钱,就为文件系统购买一对 2.5 英寸磁盘。我的问题是,如果我购买不同的磁盘,是否有一种简单的方法来设置 ZFS 文件系统,以便我可以将新的 2.5 英寸磁盘添加到池中,让它重新镀银,然后删除旧的 3.5 英寸 WD Black 磁盘?这样我就不必重新安装操作系统了。

这里的重点是,新的 2.5 英寸磁盘可能有任意大小,但要足够大以包含 OS 分区上的所有数据。

答案1

我还没有尝试过,但你应该可以简单地:

  1. 确保池具有 autoreplace=no 和 autoexpand=no(可能不是严格需要,但为了合理性有好处)
  2. 物理安装新磁盘
  3. detach如果需要,vdev 中的一个镜像磁盘(取决于 ZFS 对 n>3 的 n 路镜像的看法)
  4. attach如果需要,将新磁盘添加到镜像 vdev,然后一次添加一个
  5. 允许池重新同步到新驱动器
  6. 根据需要重复上述操作,直到所有新磁盘都已填充数据
  7. detach镜像 vdev 中剩余的任何旧磁盘
  8. 物理卸载旧磁盘
  9. 扩展池以使用新驱动器的全部容量,例如使用zpool online -e
  10. 如果需要,请重置池上的自动替换和自动扩展属性

或者,您也可以不执行上述步骤 3-5,而是zpool replace一次只处理一个磁盘。

相关内容