假设以下驱动器设置(使用 ZFS):
控制器 1 Drive1 Drive4 Drive7 Drive10 控制器 2 Drive2 Drive5 Drive8 Drive11 控制器 3 Drive3 Drive6 Drive9 Drive12
VDEV 设置:
vdev1:驱动器1、驱动器2、驱动器3 vdev2:驱动器4、驱动器5、驱动器6 vdev3:驱动器7、驱动器8、驱动器9 vdev4:驱动器10、驱动器11、驱动器12
将所有 vdev 添加到同一个 zpool 还是有单独的 zpool(每个 vdev 一个)更好(为了可靠性)?另外,如果我们丢失了一个 vdev,我们会丢失整个阵列吗?我们不需要将所有存储容量集中在一个地方——从存储的角度来看,可以找到更小的 zpool。
更新:对于 3dinfluence 关于引导池的问题,这将在 RAID1 集上。我不喜欢混合操作系统和我的多 TB RAID 阵列。
ZFS 的工作方式是在池中它有 RAID 集或组。要扩展容量,您必须在池中添加相同 RAID 级别的其他组。然后在 zpool 中具有空闲块的所有组中剥离 IO。因此,具有大量小型磁盘集的 zpool 是快速且高度可用的。
因此,我建议您将所有驱动器作为 3 个磁盘 raidz 组或 6 个 2 驱动器镜像组放在一个池中。
Raidz 选项
优点
镜像选项
优点
缺点
我同意 3dinfluence 的建议。但是,恕我直言,更好的解决方案是使用 RAID-Z2(类似于 RAID6;即两个“奇偶校验”磁盘而不是只有一个)和两个池,如下所示:
现在,如果单个磁盘发生故障,您仍然有一个“奇偶校验”磁盘(与 RAID-Z 相比,如果您已经丢失了所有冗余信息)!如果您使用大容量硬盘,这可能是一个好主意,因为 ZFS 重新同步(填充替换磁盘,即在新磁盘上重新创建冗余信息)可能需要很长时间,并且您的数据在这段时间内都处于危险之中 - 如果您使用使用 RAID-Z。(单个控制器故障不会关闭 RAID-Z2 池 - 但在这种情况下会丢失冗余。)
另一个重要问题:您还应该考虑备用磁盘- 特别是如果您决定使用 RAID-Z,因为单个磁盘故障将使您的数据处于危险之中,直到您更换故障磁盘。(磁盘更喜欢在周五晚上发生故障,这意味着您可能整个周末都没有冗余!)
牢记备用磁盘问题,您甚至可能想要使用此配置:
这种配置会更安全,总容量损失很小。