我有 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 磁盘
出于对世界上所有美好事物的热爱,请不要在您的数据比它更重要的情况下使用此设置
/dev/null
- 这只是一个关于如何做和不应该做的学术练习。使用此拓扑,您可能会丢失数据。它的性能也会很差,因为合并的顺序操作会变成随机 IO。
您将执行以下操作:
每个驱动器将被划分为 2TB 段,4TB 驱动器将有两个分区,而 6TB 驱动器将被划分为三个分区。是的,ZFS 确实接受将分区作为 ZPool 的一部分 - 尽管不推荐,但它可以工作。
从那里,您将在所有 13 个分区上设置 RAIDZ3 三重奇偶校验。这将为您提供单磁盘弹性,因为您可能会丢失 3 个“磁盘”(又名 1 个 6TB 磁盘)并且仍然可以继续运行而不会出现问题。
使用此设置,您将拥有一个 20TB 的 ZPool。从技术上讲,这与您在物理磁盘故障中幸存的能力一样有效。正如我之前所说,仅仅因为数学有效,就不要这样做。
请记住,当您更换磁盘时,您必须创建与故障分区表相同的分区表,因此请确保分区命令安全并使用相同扇区大小的磁盘。
不要在 ZFS 中使用大小不均的磁盘。
如果您绝对无法避免,那么请接受由于磁盘大小不一致而造成的一些空间浪费。您不应该为尚未满负荷的系统进行设计吗?
不,不可能以可靠的方式将不同配置的 vdev 条带化在一起。