使用嵌套的RAID 6 + 1 + 0是一个好主意吗?

目前,我有24个500 GB的磁盘,我想创build一个更大的嵌套式RAID使用戴尔Power Edge R730服务器,有4次RAID 6,每次500GB的六倍,我想添加RAID 1和RAID 0在整体上。

我的问题是:这是安全的吗? 这是值得创build一个数组这么大?

我知道我将有一个惊人的速度,但维护和故障将花费我。

看到build议的图片(图中有48个磁盘)。 PIC

我认为这是推动RAID概念的界限,您将遇到麻烦,PERC控制器是否允许您将虚拟磁盘添加到另一个arrays? 不会每个人都有自己的写入和caching策略,控制器上的caching大小是多less – 无论如何,如果性能是你之后的,那么你看看Ceph? – 经过R730的authentication可以运行,但是您需要一个SSD日志磁盘 – 所有的写入发生在SSD上,并在稍后移动到arrays中,不需要RAID冗余,并提供对象,块和文件存储和擦除编码

考虑到堆栈的每一层所涉及的概念,而不是特定的实现,对于某些应用程序来说,这三种RAID模式可能都是有意义的。

然而,图中的布局有一个严重的缺陷。 您已经错误地命令了图层。 为了获得最佳性能和可靠性,您必须交换RAID-1和RAID-6层的顺序。

通常将RAID-6configuration为容许丢失两个磁盘。 因此,一旦丢失了三个磁盘,RAID-6将会出现故障。 这意味着在最坏的情况下,48个磁盘中有三个将会导致其中一个RAID-6组件出现故障。

您的数据可以在这个事件中幸存下来,但是您必须从9个好磁盘和3个新磁盘创build一个新的RAID-6。 在完成之后,您必须同时将新创build的RAID-6以及从另一个RAID-6复制的RAID-1层同步到当前正在同步的RAID-6。 这是一个真正的I / O操作。

所以3个丢失的磁盘都需要pipe理员注意才能恢复,而且I / O很重。

相反,您可以先使用RAID-1将24个磁盘组合成12对,然后将这12个RAID-1组合成一个RAID-6。

这样,一个磁盘的丢失总是可以在RAID-1层恢复,这比RAID-6层的恢复效率高得多。 即使在丢失5个磁盘的情况下,您也可以保证RAID-6层能够存活。

在这两种情况下,您的数据都会在丢失5个磁盘的情况下存活下来,但恢复的速度有所不同。

在这两种情况下,您的数据可能会由于丢失6个磁盘而丢失,但是在您描述的情况下,风险要比层次更换时高得多。

实施细节

您使用的层数越多,遇到具体实施遇到问题的案例风险越高。 要牢记的一个问题是,热备件是否可以在结构的各个分支之间共享。 另一个是如何自动从一个子RAID丢失中恢复。 例如,如果您在最低层的RAID-1中的一个中丢失了两个磁盘,是否可以自动从两个热备份中创build一个新的RAID-1,并将其用作下一层的备用磁盘?

我认为你所考虑的架构过于复杂,没有我能想到的任何理由。 从本质上讲,你正在浪费28个磁盘,用于冗余。 之所以发明RAID6,是因为很多人认为RAI​​D1 / RAID10太浪费了,但是你甚至会进一步在RAID6上应用RAID10。

如果你确实需要所有这些冗余,或者使用RAID6 + RAID0(aka RAID60),我会build议在这里完全使用RAID10。

另外,请记住,RAID6arrays的合理大小是8-20个磁盘,其中12-16是最常见的,超出这一点在技术上是可行的,但由于恢复时间很长,所以不切实际。