ATL*_*ief 16 raid performance raid5 raid6 fault-tolerance
假设您有两个 RAID 阵列,一个有 N 个磁盘,另一个有 N+1 个磁盘。具有 N 个磁盘的阵列被格式化为RAID\xc2\xa05并保持不变,而另一个阵列在其中一个磁盘被移除之前被格式化为RAID\xc2\xa06 。现在,两个阵列都有 N 个磁盘,N-1 个磁盘的可用存储空间,并且可以在丢失一个(多个)磁盘的情况下幸存下来。
\n除了 RAID 控制器使用的任何元数据之外,这两个阵列之间是否有任何差异(在数据布局、性能和可靠性方面)?我能否将缺少一个磁盘的 RAID\xc2\xa06 阵列转换为一个较少预期磁盘的 RAID\xc2\xa05,并尽可能减少“重塑”/“重写”?
\n我知道 RAID 5 和 RAID 6 中有不同的“策略”/“对齐”,但这可能超出了这个问题的范围。也许应该假设两个阵列都使用两个 RAID 级别通用的策略。
\nZac*_*c67 23
除了 RAID 控制器使用的任何元数据之外,这两个阵列之间是否有任何差异(在数据布局、性能、可靠性方面)?
是的。RAID5 使用单个旋转奇偶校验,而 RAID6 使用两个。您可能会想象专用奇偶校验磁盘,但它们实际上是旋转的。
RAID5 应该相当简单:
对于 RAID6,想象最后一个磁盘丢失:
图表由维基百科提供[*1]
布局明显不同,与完整的 RAID5 阵列相比,降级的 RAID6 需要大量额外的读取和重新计算来补偿丢失的磁盘。
例如,不是直接读取 B3,而是需要读取 [B1, B2, Bp, Bq] 中的任意三个块来重建 B3 - 请注意,这种数据重建只是暂时的,并且需要在每次访问 B3 时进行。另请注意,随机读取的“读取放大”随着磁盘数量的增加而增加。对于更长的顺序读取,无论如何都必须读取其他块。
降级的 RAID6 阵列预计性能会更差,具体取决于工作负载以及 RAID 控制器实施和缓存。RAID 实施往往会针对正常操作和稳定性进行优化,因此即使具有较大的缓存,性能下降的阵列也可能会低于预期。
我能否将缺少一个磁盘的 RAID6 阵列转换为包含一个预期较少的磁盘的 RAID5,并尽可能减少“重塑”/“重写”?
是的,理论上是的,因为所有数据都可以重建。实际上,这取决于现有 RAID 控制器的功能。由于需要特殊的迁移算法,实现的可能性不大。就我个人而言,我认为我从未见过该选项,但我也没有一直在寻找它。
[*1] 您应该注意,在 RAID 阵列中映射数据有不同的方法。上图显示了最简单的、未经优化的方案。其他方案将优化特定的工作负载,并且用于顺序读取访问的 RAID5 方案可能是
A1-A2-A3-Ap
B2-B3-Bp-B1
C3-Cp-C1-C2
Dp-D1-D2-D3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3287 次 |
| 最近记录: |