安排一个raidz3 ZFS vdev容忍整个JBOD失败?

比方说,我要build立一个非常大的1PB zpool。 我将有一个内置HBA的主机(也许是4个端口的LSI SAS卡),而且我可能有7个45-JBOD连接到主机。

用raidz3做这件事的基本方法是创build21个不同的15个驱动器的raidz3 vdevs(7个JBOD中的3个15驱动器vdevs),并从这21个raidz3 vdevs中创build一个池。

这将工作得很好。

这里的问题是,如果你因为某种原因失去了一个vdev,那么你将失去整个池。 这意味着你绝对不能失去整个JBOD,因为这3个vdevs丢失了。 但是,在一个邮件列表线程中,有人暗中提到组织磁盘的方式,这样你确实可能会丢失整个JBOD。 他们说:

“使用戴尔R720机头,加上一串戴尔MD1200 JBOD,双重连接到两个LSI SAS交换机上……我们做了三重校验,我们的vdev成员设置为最多可以丢失三个JBOD,仍然是(每个JBOD一个vdev成员磁盘)“。

…我不太确定他们在这里说什么。 我认为他们所说的是,不是有一个vdev(一个HBA上的所有连续的15个(或12个,或者其他的)磁盘),你实际上有vdev的奇偶校验驱动器分裂成其他JBOD,这样你可能会失去任何jbod,你仍然有N-3驱动器在其他地方覆盖该vdev …

或者其他的东西…

两个问题:

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

  2. 是否足够复杂,您确实需要SAS交换机,而且我不能只使用复杂的HBA JBD布线进行设置?

谢谢。

你在邮件列表上读到的关于JBOD弹性的解释可能就像是一组RAIDZ3 vdevs和机箱……每个RAIDZ3(5 + 3)和5个(或8个)机箱说8个磁盘, vdevs由每个机箱的单个磁盘组成。


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

以下是针对具有双头HBA(每个头节点)和冗余级联SAS电缆的正确HA群集的几个参考devise。 如果我正在devise这个,我将计划在ZFS 镜像部署,而不是RAIDZ(1/2/3)。

我发现RAIDZarrays在大多数生产环境下都是一个难题。 扩展性 差,性能差 , 规划复杂 , 故障恢复难度大 。

我会使用ZFS镜像和最大的机箱(例如60-磁盘或70-磁盘机),SAS磁盘,并避免超微设备;)

除此之外, 高质量的JBOD单元非常具有弹性,因为它们具有内部冗余,双path背板和中板组件,通常不会出现故障。 大多数组件都是可热插拔的。 我不太关心shell,更多关于布线,控制器和游泳池的devise。

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

双节点: 在这里输入图像说明


单节点: 在这里输入图像说明