以下是来自: 嵌套Raid的介绍
Linux md允许您将“近”和“远”RAIDconfiguration组合在一起。 例如,在具有四个驱动器(允许的最小值)的am = 2和f = 2configuration中,数据布局看起来如下(略)。 请注意,每个数据块有四个副本! 另外请注意,我们可以丢失两个驱动器,而不会丢失对数据的访问 但是,与正常的RAID-10相反,我们可能会丢失任何两个驱动器,并仍然保留对所有数据的访问权限。 这比RAID-10要好得多,我们可以丢失任何一个驱动器,但只有两个驱动器的特定组合。 这种特殊的四驱“近”和“远”RAIDconfiguration的容量如下。 | 容量=(n / 2)*单盘容量| 所以我们没有获得任何相对于RAID-10的额外容量,但是我们确实获得了丢失任何驱动器的能力(在我的书中是一个强大的优势)。
我不知道是否有一个错误,我真的不能find任何其他提及MD-RAID10 n2 f2布局的巨大 (在我看来)的好处 – 松动任何两个(从4磁盘arrays)驱动arrays,而不是标准的RAID10,在这个RAID10中,你只能松动某些磁盘对。 对于绝对的MD RAID10 n2 f2布局来说 , 这是真的吗? 另外,4盘MDDRID 10N2F2布局的容量是多less? 文章是错误的,一些意见不同意。
谢谢!
他们是正确的,这样的安排可以让任何两个失败生存。
“N = 2”设置确保了前两个复制块位于不同磁盘的等同扇区上。
“F = 2”设置可确保只要arrays满足或超过N + F个驱动器,复制块中的后两个就不共享具有N = 2个复制块的磁盘。
至于容量math, 文章有误 (见下文)。 我们来看几个例子:
每个块因此被复制四次。 容量是单个驱动器的大小。
与4驱动器arrays一样,每个块被复制四次。 然而,额外的驱动器提供了另一个全盘驱动器块扩展到。 容量是两个驱动器的大小。
换一种说法:
鉴于:
容量= S *(N-(R-1))
4驱动arrays:
N = 4
R = 4
容量= S(4-(4-1))= S *(4-3)= S * 1
5驱动arrays:
N = 5
R = 4
容量= S *(5-(4-1))= S *(5-3)= S * 2
只有当N≥R时,才会出现“任意两个都可能失败”的情况。事实上,在R = 4的情况下, 任何三个都可能失败。 同样,只有当N≥R时
我必须在文章中指出一个math错误 。 去引用:
这种特殊的四驱“近”和“远”RAIDconfiguration的容量如下。
Capacity = (n/2) * capacity of single disk
这是不正确的。 该公式中的2应该是复制块的数量。 在2×2设置中是4个。这在图中清楚地示出,其中“A1”块显示四次。 作者为3驱动的例子正确,因为那些公式显示除以3。
[示例是三个磁盘上的两个副本RAID]
Capacity = 2/3 * capacity of single disk
这是进一步支持md的手册页:
最后,可能有一个“近”和“远”拷贝的数组。 如果一个arraysconfiguration了2个近端副本和2个远端副本,那么总共会有4个副本,每个副本在不同的驱动器上。 这是实施的人为因素,不太可能具有实际价值。
所以一个2×2的RAID设置将有四个副本。 因此,一个2×2 RAID的四驱动实现将具有单个驱动器的容量。
作者的论点是,远近RAID设置将提供超出正常R10的额外保护。 保护不是来自近/远的设置,保护来自于数据的2次以上的复制。
RAIDconfiguration数据复制的位置R时间最多可容忍R-1磁盘故障。 只要额外的失败设备在已经失效的复制集中,就可以容忍更多的故障。 这就是为什么RAID0设备的镜像对(R = 2)可以容忍单个驱动器故障的原因。 如果R等于驱动器的数量(N),您可以拥有所有驱动器但只有一个失败并仍然保持服务。