可以在同一物理设备上存在两个单独的zpool吗?


5

简:我可以在两个独立的zpool之间共享磁盘吗?

Long:我想要一个raidz2阵列,但是我不能一次性承担这一切。我可能的解决方案是从两个驱动器开始。我只使用每个磁盘的一半容量创建一个镜像。当我能够负担得起更多驱动器时,我会使用新驱动器和初始磁盘上50%未使用的空间创建一个带有单个raidz2 vdev的新zpool。然后我计划将数据从一个zpool复制到另一个zpool,删除包含镜像的zpool并使用raidz2 vdev展开zpool。

这会有用吗?

链接和参考将不胜感激。

Answers:


6
  1. 是的,您可以创建一个池,该池由两个分区之间的镜像vdev组成。
  2. 是的,您可以拥有两个池,每个池共享一个磁盘,每个池使用自己的分区。
  3. 是的,当在raid-z2 vdev中增加磁盘的所有大小时,它将增加可用容量。

但你不应该这样做。当你给它整个磁盘时,ZFS是最好的,虽然分区“工作”,但整个磁盘的世界变得更容易/更好。如果你真的想做镜子 - > raid-z2游泳池过渡到路上,并准备生活在50%使用镜子的范围内,我有另一个想法:

  1. 买2个磁盘(例如2x2TB)
  2. 创建镜像zpool: zpool create yourPool mirror cXt1d0 cXt2d0
  3. 购买3个以上大小相同的磁盘。(例如4x2TB)
  4. 创建一个新的文件系统: zfs create yourPool/fake
  5. 创建两个稀疏文件: mkfile -n 1TB /yourpool/fake/fakehda
  6. 创建双奇偶校验zpool: zpool create yourNewPool raidz2 cXt3d0 cXt4d0 cXt5d0 cXt6d0 /yourpool/fake/fakehda /yourpool/fake/fakehdb
  7. zfs将文件系统从一个池发送/收回到另一个池。
  8. 从镜像中分离出一个磁盘 zpool detach yourPool cXt1d0
  9. 用真实磁盘替换假磁盘 zpool replace yourNewPool /yourpool/fake/fakehda cXt1d0
  10. 等待重新同步完成。监控进度zpool status yourNewPool
  11. 当它完成重新组合时,谋杀镜子 zpool destroy yourPool
  12. 重新使用第二个旧磁盘 zpool replace yourNewPool /yourpool/fake/fakehda cXt2d0

在整个过程中,您将能够在任何单个磁盘发生故障的情况下继续运行而不会丢失数据。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.