在 ZFS raidz 中使用特殊设置来最大化容量(当使用不同大小的磁盘时)

在 ZFS raidz 中使用特殊设置来最大化容量(当使用不同大小的磁盘时)

我有 2 个 4TB 磁盘和 3 个 6TB 磁盘,我想将它们与 ZFS 一起使用。我的目标是最大化可用存储空间,同时允许单个磁盘发生故障。

理想情况下,应该使用 raidz 设置,但是根据我的研究,不同大小的驱动器会导致较大的驱动器利用率不足。也就是说,较大的驱动器上只有 6TB 中的 4TB 会被利用。

是否可以对以下内容进行条带化(raid 0):

  • 两个 4TB 镜像 (raid 1) 配置
  • raidz(raid 5)配置中的三个 6TB 磁盘

或者,是否可以将两个 4TB 划分为条带,然后将条带与 6TB 驱动器一起用于 raidz 配置?即:

  • 将两个 4TB 驱动器条带化
  • Raidz 3 x 6TB 和条带化 4TB 磁盘

答案1

出于对世间一切美好事物的热爱,不要使用此设置在你的数据比什么更重要的情况下/dev/null——这只是一个学术练习,看看你如何可以并且应该不是去做吧。

使用此拓扑,您可能会丢失数据。由于合并的顺序操作会变成随机 IO,因此性能也会很差。

您要做的如下:

每个驱动器将被划分为 2TB 的分区,4TB 驱动器将有两个分区,6TB 驱动器将划分为三个分区。是的,ZFS 确实接受分区作为 ZPool 的一部分 - 它可以工作,但不推荐。

从那里,您将在所有 13 个分区上设置 RAIDZ3 三重奇偶校验。这将为您提供单磁盘弹性,因为您可以丢失 3 个“磁盘”(即 1 个 6TB 磁盘)并且仍能继续运行而不会出现问题。

使用此设置,您将拥有 20TB 的 ZPool。这技术上是能够承受物理磁盘故障的效率最高的系统。正如我之前所说,仅仅因为数学有效,不是去做

请记住,当您更换磁盘时,您必须创建与故障磁盘相同的分区表,因此请确保分区命令的安全并使用相同扇区大小的磁盘。

答案2

不要将大小不均匀的磁盘与 ZFS 一起使用。

如果你真的无法避免,那么就接受将要由于磁盘大小不一致,会浪费一些空间。难道你不应该针对尚未达到容量上限的系统进行设计吗?

不,不可能以可靠的方式将不同配置的 vdev 组合在一起。

相关内容