parity - 如何计算偶数磁盘数的 RAID 5 奇偶校验?

标签 parity raid

当我解释 RAID 5 时,我经常看到显示 4 个光盘的图片,其中包含 3 个数据 block 和 1 个奇偶校验 block 。作为计算示例(有时在同一站点上),我总是只看到 3 张光盘。最有可能的是因为它更有意义:我可以对两个 block 进行异或并创建奇偶校验,因此需要三张光盘。在所有这些图片上,奇偶校验 block 的大小与三个数据 block 的大小相同。

怎么会这样呢?当我有 4 个光盘时,RAID 5 奇偶校验是如何计算的,因此需要构建奇偶校验的三个大小均匀的 block ?

(PS。即使将奇偶校验大小加倍(每个 block 两个 block )也无助于理解这一点。因为这将是 RAID 6,不是吗?)

最佳答案

假设您有三个数据磁盘 ABC 以及一个奇数奇偶校验磁盘 P .

下表显示了三个数据字节和生成的奇偶校验字节:

  A: 0 1 0 1 0 1 0 1
  B: 0 0 1 1 0 0 1 1
  C: 0 0 0 0 1 1 1 1
  P: 0 1 1 0 1 0 0 1

例如,如果磁盘 B 出现故障,我们就剩下 ACP >。 丢失的 B 字节可以通过计算幸存磁盘的奇校验来重建:

  A: 0 1 0 1 0 1 0 1
  C: 0 0 0 0 1 1 1 1
  P: 0 1 1 0 1 0 0 1
[ B: 0 0 1 1 0 0 1 1 ]

关于parity - 如何计算偶数磁盘数的 RAID 5 奇偶校验?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55865283/

相关文章:

assembly - CPU 上奇偶校验标志的用途是什么?

java - 禁用串行通信的奇偶校验位不起作用

STM32F427 的 USART1 有时会设置第 8 个数据位,就好像它是奇偶校验位一样

c - 如何检查 BDS/北斗卫星系统的 BCH(15,11,1) 代码/校验和

php - 如何在 php 中将字符转换为 7 位偶校验

linux - 从 dd 镜像设置 linux raid

windows - 如何从 Windows 应用程序监视 Intel Controller 上 RAID 阵列的状态?

winapi - 在 Windows 上获取卷的大小