RAID5 vs RAID4 浮动奇偶校验的目的

Wak*_*nka 9 raid hard-drive raid-5

我还是不明白为什么 RAID5 比 RAID4 好。我了解两者都计算用于在发生某些故障时恢复的奇偶校验位,唯一的区别在于存储这些奇偶校验位。我从这里借用了图表奇偶校验如何在 RAID-5 阵列上工作

A B (A XOR B)
0 0    0
1 1    0
0 1    1
1 0    1
Run Code Online (Sandbox Code Playgroud)

RAID4

Disk1   Disk2   Disk3   Disk4
----------------------------
data1  data1  data1  parity1
data2  data2  data2  parity2
data3  data3  data3  parity3
data4  data4  data4  parity4
Run Code Online (Sandbox Code Playgroud)

假设第一行是:

data1 = 1
data1 = 0
data1 = 1
parity1 = 0 (COMPUTED: 1 XOR 0 XOR 1 = 0)
Run Code Online (Sandbox Code Playgroud)

RAID5

Disk1   Disk2   Disk3   Disk4
----------------------------
parity1 data1   data1   data1   
data2   parity2 data2   data2  
data3   data3   parity3 data3
data4   data4   data4   parity4
Run Code Online (Sandbox Code Playgroud)

假设第一行是:

parity1 = 0 (COMPUTED: 1 XOR 0 XOR 1 = 0)
data1 = 1
data1 = 0
data1 = 1
Run Code Online (Sandbox Code Playgroud)

扫描仪:

1. RAID4 - Disk3 故障:

data1 = 1
data1 = 0
data1 = 1 (COMPUTED: 1 XOR 0 XOR 0 = 1)
parity1 = 0
Run Code Online (Sandbox Code Playgroud)

2. RAID4 - Disk4(奇偶校验)失败:

data1 = 1
data1 = 0
data1 = 1 
parity1 = 0 (COMPUTED: 1 XOR 0 XOR 1 = 0)
Run Code Online (Sandbox Code Playgroud)

等等。

一般情况:当 RAID(4 或 5)使用 N 个磁盘并且其中一个失败时。我可以获取所有剩余的非故障磁盘 (N-1) 和 XOR(因为 XOR 是关联操作)值,我将获得故障值。不在专用磁盘上存储奇偶校验而是循环它们有什么好处?是否有一些性能优势或什么?谢谢

Ƭᴇc*_*007 12

RAID 4 的性能差异在于每次更改都需要写入单个奇偶校验磁盘,这意味着事情可能会排队等待更新该磁盘上的奇偶校验数据。

使用 RAID 5,您可以显着减少这种情况,因为奇偶校验更新负载分布在多个磁盘上,因此卡在队列中的可能性较小。

这是富士通提供的一个很好的链接,其中包含简短的解释和一些不错的动画,以帮助阐明 RAID 4(以及其他 RAID 级别)的性能/惩罚。