ZFS 将 2 个镜像驱动器升级到 3 个驱动器 raidz?

Arn*_*rne 5 debian zfs

我有两个 1GB 驱动器配置为 ZFS 镜像,现在可以添加第三个 1GB 驱动器。我可以将我的镜像重新配置为总容量为 (N-1)=2GB 的 3 驱动器 raidz 吗?

我在 Debian Jessie 上运行 zfs-fuse

小智 8

我即将这样做,发现一个旧博客表明它可以完成。

注意:此过程会在迁移时使 RAID 处于降级状态。这大大增加了数据丢失的可能性!

这个想法是:

  1. 通过删除现有磁盘之一来破坏现有镜像
  2. 创建一个稀疏文件并将其挂载为环回设备
  3. 使用新磁盘、刚刚删除的磁盘和稀疏文件创建新的 Raid-Z1
  4. 通过删除稀疏文件设备立即降低raid
  5. 将所有数据从降级镜像复制到降级的 raid-z1
  6. 销毁镜像并将磁盘添加到 raid-z1 中并让它重新同步。

诚然,我将在 SmartOS 而不是 Linux 上执行此操作,但我认为 Linux ZFS 足够先进来执行此操作。

有关该方法的更多信息,请访问https://blogs.oracle.com/zhangfan/entry/how_to_turn_a_mirror

  • 该博客条目已不再在线。有人……有镜子吗? (3认同)

Mik*_*ick 4

简短的回答是否定的,你无法转换它。您需要备份、销毁镜像、创建 raidz 并从备份中恢复文件系统。

ZFS 支持将驱动器添加到池中,而不会破坏原始数据,但您无法更改池中现有驱动器的配置(镜像、raidz 等)。

在您的情况下,您可以(尽管我不建议这样做)将第三个驱动器添加到现有池中,多余的空间将可供池中的所有 ZFS 文件系统使用,但整个池上不会有冗余。

您可以将两个驱动器作为另一个镜像添加到同一个池中,然后您将在整个池中拥有具有镜像冗余的额外空间。

我过去运行过 raidz(家庭使用,而不是生产),但现在我更喜欢镜像,因为它们的简单性和性能(特别是在磨砂膏上),尽管可用容量较低。