安排一个 raidz3 ZFS vdev 来容忍整个 JBOD 故障?

use*_*963 2 backup zfs storage filesystems sas

假设我要构建一个非常大的 1PB zpool。我将有一个带有 HBA 的主机单元(可能是 4 端口 LSI SAS 卡),并且我可能将 7 个 45 驱动器的 JBOD 连接到主机单元。

使用 raidz3 执行此操作的基本方法是创建 21 个不同的 15 驱动器 raidz3 vdev(7 个 JBOD 中的每一个 3 个 15 驱动器 vdev),然后从所有 21 个这些 raidz3 vdev 中创建一个池。

这将工作得很好。

这里的问题是,如果您因任何原因丢失一个 vdev,您将丢失整个池。这意味着您绝对不会丢失整个 JBOD,因为那会丢失 3 个 vdev。但是,在邮件列表线程中,有人暗中暗示了一种组织磁盘的方法,这样您就可以确实丢失整个 JBOD。他们说:

“使用戴尔 R720 主机,加上一堆双路径连接到几个 LSI SAS 交换机的戴尔 MD1200 JBOD……我们进行了三重奇偶校验,并且我们的 vdev 成员资格设置为我们最多可以丢失三个 JBOD 并且仍然可以功能(每个 JBOD 一个 vdev 成员磁盘)。”

......我不太确定他们在这里说什么。我认为他们的意思是,不是在一个 HBA 上拥有一个 vdev(所有连续的 15 个(或 12 个,或其他)磁盘),您实际上将 vdev 的奇偶校验驱动器拆分为其他 JBOD,这样您可能会丢失任何 jbod 并且您在其他地方仍然有 N-3 驱动器来覆盖该 vdev ...

或者其他的东西...

两个问题:

  1. 有谁知道这个的配方是什么样的

  2. 它是否足够复杂以至于您确实需要一个 SAS 交换机,而我不能只使用复杂的 HBA<-->JBD 布线来设置它?

谢谢。

eww*_*ite 5

您在邮件列表中读到的 JBOD 弹性的解释可能类似于一组 RAIDZ3 vdevs 和机箱......假设每个 RAIDZ3 (5+3) 有 8 个磁盘,以及 5 个(或 8 个?)机箱,这样vdevs 由每个机箱中的单个磁盘组成。


但是对于 realz,如果没有某种程度的高可用性,我不会做 1PB 的存储......

以下是一些适用于每个头节点具有双 HBA 和冗余级联 SAS 布线的适当 HA 集群的参考设计。如果我要设计这个,我会计划部署ZFS镜像而不是 RAIDZ(1/2/3)。

我发现 RAIDZ 阵列的局限性在大多数生产情况下都是一个大问题;缺乏可扩展性性能差规划复杂故障恢复难度大

我会使用 ZFS 镜像和尽可能大的机箱(例如60 个磁盘70 个磁盘单元)、SAS 磁盘并避免使用 Supermicro 设备;)

除此之外,优质的 JBOD 单元具有很强的弹性,因为它们具有通常不会出现故障的内部冗余、双路径背板和中板组件。大多数组件都是可热插拔的。我不太关心机柜,而更关心布线、控制器和池设计。

如果必须使用 RAIDZ(1/2/3),请根据需要进行配置,并在每个 JBOD 中保留备用磁盘。也将它们配置为全局备件。

双节点: 在此处输入图片说明


单节点: 在此处输入图片说明