RAID 5 是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。 以四個硬盤組成的RAID 5爲例,其數據存儲方式如圖4所示:圖中,P0爲D0,D1和D2的奇偶校驗信息,其它以此類推。由圖中能夠看出,RAID 5不對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,而且奇偶校驗信息和相對應的數據分別存儲於不一樣的磁盤上。當RAID5的一個磁盤數據發生損壞後,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。算法
RAID 5能夠理解爲是RAID 0和RAID 1的折中方案。RAID 5能夠爲系統提供數據安全保障,但保障程度要比Mirror低而磁盤空間利用率要比Mirror高。RAID 5具備和RAID 0相近似的數據讀取速度,只是多了一個奇偶校驗信息,寫入數據的速度比對單個磁盤進行寫入操做稍慢。同時因爲多個數據對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較低。安全
RAID5校驗位算法原理ide
P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn爲數據塊,P爲校驗,xor爲異或運算)性能
XOR(Exclusive OR)的校驗原理以下表:this
A值 | B值 | Xor結果 |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
用簡單的語言來表示,至少使用3塊硬盤(也能夠更多)組建RAID5磁盤陣列,當有數據寫入硬盤的時候,按照1塊硬盤的方式就是直接寫入這塊硬盤的磁道,若是是RAID5的話此次數據寫入會分根據算法分紅3部分,而後寫入這3塊硬盤,寫入的同時還會在這3塊硬盤上寫入校驗信息,當讀取寫入的數據的時候會分別從3塊硬盤上讀取數據內容,再經過檢驗信息進行校驗。當其中有1塊硬盤出現損壞的時候,就從另外2塊硬盤上存儲的數據能夠計算出第3塊硬盤的數據內容。也就是說raid5這種存儲方式只容許有一塊硬盤出現故障,出現故障時須要儘快更換。當更換故障硬盤後,在故障期間寫入的數據會進行從新校驗。 若是在未解決故障又壞1塊,那就是災難性的了。編碼