具有不同大小磁盘的 ZFS Raid-Z

Jor*_*her 5 zfs mirror

我已经搜索过了,我想我明白了,但只是想验证一下我的概念是否正确。

我正在构建一台新 PC,并希望将旧 PC 设置为文件服务器。最终,我想要两个“驱动器”(卷?池?),都具有冗余。一个用于操作系统,其余用于媒体。

驱动器:

  • 5 x 1.0TB
  • 2 个 1.5TB
  • 1 个 2.0TB

我可以这样分区吗:

  • 1.0TB
  • 1.0TB
  • 1.0TB
  • 1.0TB
  • 1.0TB
  • 1.0TB + 0.5TB
  • 1.0TB + 0.5TB
  • 1.0TB + 0.5TB + 0.5TB

然后:

  1. 将所有 1.0TB 分区合并为一个具有 7.0TB 可用容量的 raid-z
  2. 将两个 0.5TB 分区合并为两个镜像,每个镜像可用 0.5TB
  3. 将 7.0TB 的 raid-z 与一个 0.5TB 的镜像池化为 7.5TB 可用
  4. 将剩余的 0.5TB 镜像用于操作系统

我的想法正确吗?有没有更好的方法来做到这一点?

我知道,假设这种方法是最佳的,我不会在单个 2.0TB 驱动器上使用两个 0.5TB 分区创建镜像。我需要为每个镜子使用一个,否则我会破坏镜子的目的:)

Ouk*_*uki 6

在你的情况下,最让我印象深刻的是分区。那是一个磁盘可能会被多个 vdev(又名组)使用,这当然是一个重大风险,但我完全理解这是一台旧 PC,它作为 NAS 赋予了新的生命(我家里也有一台)。

您的架构中没有重大漏洞,除了:

  • 池可以由不同类型的 vdev 组成,但不推荐(根本不推荐)
  • raidz2 应该从 6 个磁盘开始使用。要么将数据池划分为 2 个 4 磁盘的 raidz,要么选择 1 个 8 磁盘的 raidz2
  • 在将磁盘分配到 vdev 时需要格外小心;)

以下是有关组构建的一些最佳实践(详情请点击此处):

  • 在 3 个磁盘 (2+1) 上启动单奇偶校验 RAIDZ (raidz) 配置
  • 在 6 个磁盘 (4+2) 上启动双奇偶校验 RAIDZ (raidz2) 配置
  • 在 9 个磁盘 (6+3) 上启动三重奇偶校验 RAIDZ (raidz3) 配置
  • 建议的每组磁盘数在 3 到 9 之间。如果您有更多磁盘,请使用多个组 (vdev)。

如果我可以补充,请记住您的系统最终会发展。您可能希望能够用更大的磁盘替换磁盘,这只有在您的组不太大的情况下才有可能(或者您最终必须获得 8 个新磁盘才能从数据池中获得更多空间) )。

您也可以考虑强制 zfs 使用 4k 扇区(ashift=12),即使在您的情况下很有可能 512b 扇区(ashift=9)将是默认设置。同样,为了以后升级,您真的,真的不想在池中混合换档。

编辑:在池中混合 vdev 是可能的,但不推荐(感谢@bahamat)并警告“ashift”。

  • 在单个 zpool 中混合 vdev 类型是完全有效的,但不推荐。也不推荐使用 RAID-Z。如果可能,请始终使用镜像。 (2认同)