ZFS:为未来增加驱动器做准备

ZFS:为未来增加驱动器做准备

我即将构建一个 Solaris NAS 系统,目前我们有两个驱动器,并计划稍后再添加两个(2TB 企业级 HDD 有点贵!)。

考虑到我将来想要扩展,设置这些驱动器的最佳配置是什么?

我正在考虑镜像驱动器,然后以某种方式转换为 raidz?

最多只有 4 个驱动器,其中后两个将稍后购买。

有任何想法吗?

答案1

镜像是最佳选择。它可以让您轻松添加额外的镜像对以扩展现有卷。无需停机,无需技巧,只需添加更多磁盘即可。除非您真的需要 RAIDZ 中的 6TB 4x2TB,否则 4TB 4x2TB 镜像是更好的选择。镜像还具有降低 CPU 开销、提高性能和在发生故障时更容易恢复的优点。

但是看到人们更喜欢生活在边缘并节省几块钱,这里是如何将数据从双驱动器镜像迁移到四驱动器 raidz 设置的方法:

  • 创建 2 驱动器镜像zpool create mirror cXt1d0 cXt2d0 yourPool
  • 愉快地用数据填满你的硬盘
  • 购买驱动器 3、4(与驱动器 1、2 大小相同)
  • 深呼吸,你即将放弃冗余,因为你很小气。
  • 破坏镜像删除驱动器2:zpool detach cXt2d0 yourPool
  • 创建与您的驱动器大小相同的稀疏文件:mkfile -n 500GB /path/file.img
  • 使用驱动器 2、3、4 和稀疏文件创建一个四驱动器 raidz 池:zpool create raidz cXt2d0 cXt3d0 cXt4d0 /path/file.img newPool
  • 通过分离稀疏文件来降级 raidz 阵列:zpool detach /path/file.img newPool
  • 使用 zfs send/zfs recv 将数据从 yourPool 复制到 newPool (或者仅使用 rsync/cp)
  • 销毁原有的镜像池:zpool destroy yourPool
  • 将驱动器 1 附加到 raidz 池:zpool attach cXt1d0 newPool
  • 等待 ZFS 重新同步驱动器(这将花费几个小时,不要被不动的状态 % 所欺骗,这是一个错误。只需让它研磨即可。)
  • 深吸一口气,呼出这口气,你又会拥有一个多余的水池。

答案2

除非您想备份内容并重新创建 zpool,否则我认为这是不可能的。虽然您可以仅使用两个设备创建一个 raidz 池,但您无法稍后将其扩展为具有 4 个驱动器的 raidz。您可以做的是使用前两个驱动器创建一个镜像,然后使用后两个驱动器向池中添加第二个镜像,但这似乎无法为您提供所需的空间。

答案3

您还可以将其设置为 raidz,创建/使用稀疏文件作为您的最后一个驱动器,立即使该文件离线,然后当您获得驱动器时,用您的新驱动器替换稀疏文件,在用您的驱动器替换离线稀疏文件后,它实际上将成为 raidz,而不是 zfs 线性跨度。

虽然您无法获得奇偶校验,但您将拥有 ZFS 在线的大部分功能,包括清理和一些自动修复能力。

相关内容