以下内容来自:Intro to Nested Raid
Linux md 允许您组合“近”和“远”RAID 配置。例如,在 am=2 和 f=2 配置中有四个驱动器(允许的最小值),数据布局如下(省略)。请注意,每个数据块有四个副本!另请注意,我们可以丢失两个驱动器而不会丢失对数据的访问权限。然而,与普通的 RAID-10 相比,我们可以丢失任何两个驱动器,但仍然可以访问所有数据。这比 RAID-10 好得多,在 RAID-10 中我们可以丢失任何单个驱动器,但只能丢失两个驱动器的特定组合。这种特殊的四驱动器“近”和“远”RAID 配置的容量如下。| 容量=(n/2)*单盘容量| 因此,相对于 RAID-10,我们不会获得任何额外的容量,但我们确实可以丢失任何驱动器(在我的书中是一个很大的优势)。
我不知道是否有错误,我真的找不到任何其他提及MD-RAID10 n2 f2 布局的巨大(在我看来)好处的地方 - 能够松散任何两个(从 4 个磁盘中)阵列)驱动器从阵列中取出,而不是标准 RAID10,在标准 RAID10 中,您只能丢失某些磁盘对。这绝对适用于任何 MD RAID10 n2 f2 布局吗?另外,4 磁盘 md raid 10 n2 f2 布局的容量是多少?文章有误,有些评论不同意。
谢谢!
他们是正确的,这样的安排将允许任意两个故障幸存。
“N=2”设置确保前两个复制块位于不同磁盘的等效扇区上。
“F=2”设置确保后两个复制块不与 N=2 个复制块共享磁盘,只要阵列大小达到或超过 N+F 个驱动器。
至于容量数学,文章有错误(见下文)。让我们看几个例子:
因此,每个块都被复制四次。容量是单个驱动器的大小。
与 4 个驱动器阵列一样,每个块被复制四次。但是,额外的驱动器提供了另一个完整驱动器的块来扩展。容量是两个驱动器的大小。
换个角度说:
鉴于:
容量 = S * ( N - (R-1))
4 驱动器阵列:
N = 4
R = 4
容量 = S ( 4 - (4-1)) = S * (4-3) = S * 1
5 驱动器阵列:
N = 5
R = 4
容量 = S * (5 - (4-1)) = S * (5 - 3) = S * 2
“任何两个都可以失败”条件仅在 N ? R. 事实上,当 R=4 时,任何三个都可能失败。同样,只有当 N ? R。
我必须指出文章本身的一个数学错误。报价:
这种特殊的四驱动器“近”和“远”RAID 配置的容量如下。
Capacity = (n/2) * capacity of single disk
Run Code Online (Sandbox Code Playgroud)
这是不正确的。该2
公式中的 应该是复制块的数量。这在 2x2 设置中是 4。图中清楚地展示了这一点,其中“A1”块出现了四次。对于 3-drive 示例,作者是正确的,因为这些公式显示除以 3。
[示例适用于三个磁盘上的两个副本 RAID]
Capacity = 2/3 * capacity of single disk
Run Code Online (Sandbox Code Playgroud)
md 的手册页进一步支持了这一点:
最后,可以有一个同时包含“near”和“far”副本的数组。如果一个阵列配置有 2 个近副本和 2 个远副本,那么每个块将总共有 4 个副本,每个副本位于不同的驱动器上。这是实现的产物,不太可能具有实际价值。
因此,2×2 RAID 设置将有四个副本。因此,2×2 RAID 的四个驱动器实施将具有单个驱动器的容量。
作者认为近/远 RAID 设置将提供超出正常 R10 的额外保护的论点很弱。保护不是来自近/远设置,而是来自超过 2 个数据复制。
数据被复制 R 次的 RAID 配置最多可以容忍 R-1 次磁盘故障。只要额外的故障设备在已经故障的复制集中,就可以容忍更多故障。这就是 RAID0 设备的镜像对 (R=2) 可以容忍单个驱动器故障的原因。如果 R 等于驱动器的数量 (N),您可以让除一个之外的所有驱动器发生故障并仍能维持服务。
归档时间: |
|
查看次数: |
1304 次 |
最近记录: |