RAID 6檢視原始碼討論檢視歷史
增強陣列的數據保護的方法
RAID6技術是在RAID 5基礎上,為了進一步加強數據保護而設計的一種RAID方式,實際上是一種擴展RAID 5等級。與RAID 5的不同之處於除了每個硬盤上都有同級數據XOR校驗區外,還有一個針對每個數據塊的XOR校驗區。當然,當前盤數據塊的校驗數據不可能存在當前盤而是交錯存儲的,具體形式見圖。這樣一來,等於每個數據塊有了兩個校驗保護屏障(一個分層校驗,一個是總體校驗),因此RAID 6的數據冗餘性能相當好。但是,由於增加了一個校驗,所以寫入的效率較RAID 5還差,而且控制系統的設計也更為複雜,第二塊的校驗區也減少了有效存儲空間。
簡介
raid 6是由一些大型企業提出來的私有raid級別標準,它的全稱叫「independent data disks with two independent distributed parity schemes(帶有兩個獨立分布式校驗方案的獨立數據磁盤)」。這種raid級別是在raid 5的基礎上發展而成,因此它的工作模式與raid 5有異曲同工之妙,不同的是raid 5將校驗碼寫入到一個驅動器裡面,而raid 6將校驗碼寫入到兩個驅動器裡面,這樣就增強了磁盤的容錯能力,同時raid 6陣列中允許出現故障的磁盤也就達到了兩個,但相應的陣列磁盤數量最少也要4個。
RAID-6 是在RAID-5基礎上把校驗信息由一位增加到兩位的raid 級別。
RAID-6和RAID-5一樣對邏輯盤進行條帶化然後存儲數據和校驗位,只是對每一位數據又增加了一位校驗位。這樣在使用RAID-6時會有兩塊硬盤用來存儲校驗位,增強了容錯功能,同時必然會減少硬盤的實際使用容量。以前的raid級別一般只允許一塊硬盤壞掉,而RAID-6可以允許壞掉兩塊硬盤,因此,RAID-6 要求至少4塊硬盤。 [1]
校驗位方法
與RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶系統使用不同的算法,數據的可靠性非常高,即使兩塊磁盤同時失效也不會影響數據的使用。但RAID 6需要分配給奇偶校驗信息更大的磁盤空間,相對於RAID 5有更大的「寫損失」,因此「寫性能」非常差。較差的性能和複雜的實施方式使得RAID 6很少得到實際應用。
常見的RAID6組建類型 RAID 6(6D + 2P)
1 RAID 6(6D + 2P)原理
和RAID 5相似,RAID 6(6D + 2P)根據條帶化的數據生成校驗信息,條帶化數據和校驗數據一起分散存儲到RAID組的各個磁盤上。在圖1中,D0,D1,D2,D3,D4和D5是條帶化的數據,P代表校驗數據,Q是第二份校驗數據。
RAID 6校驗數據生成公式(P和Q):
P的生成用了異或
P = A0 XOR B0 XOR C0 XOR D0 XOR E0 XOR F0
A、B、C、D、E、F代表raid6中6塊硬盤,A0、B0、C0、D0、E0、F0代表6塊硬盤的第一個strip
Q的生成用了係數和異或,假設生成硬盤D的Q校驗
QA = A0*D0 XOR A1*D1 XOR A2*D2 XOR A3*D3 XOR A4*D4 XOR A5*D5.....XOR An*Dn
D0~Dn:單個硬盤的所有條帶化數據
A0~An:係數
XOR:異或
- :乘
硬盤D的Q校驗數據不會存放在硬盤D中,而是存放在其他硬盤中
Q校驗數據的計算只需要使用剛剛寫入的strip數據Dn*An再XOR這次寫入以前的Qn-1即可。
在RAID 6中,當有1塊磁盤出故障的時候,利用公式1恢複數據,這個過程是和RAID 5一樣的。而當有2塊磁盤同時出故障的時候,就需要同時用公式1和公式2來恢複數據了。
各係數A0~A5是線性無關的係數,在D0,D1,D2,D3,D4,D5,P,Q中有兩個未知數的情況下,也可以聯列求解兩個方程得出兩個未知數的值。這樣在一個RAID組中有兩塊磁盤同時壞的情況下,也可以恢複數據。 上面描述的是校驗數據生成的算法。其實RAID 6的核心就是有兩份檢驗數據,以保證兩塊磁盤同時出故障的時候,也能保障數據的安全。
假設一共6塊硬盤,使用4塊創建邏輯盤,raid6,4個硬盤在使用時都被先條帶化,然後分別存儲數據和校驗位。
如果一塊硬盤出現物理故障,RAID的會處於降級狀態,但是仍然有容錯功能;
如果第二塊硬盤出現故障,邏輯盤中還剩下的兩塊硬盤就不再有容錯功能。
如果陣列中有熱備硬盤,出故障的硬盤上的數據會轉移到熱備硬盤上,並且自動進行重建,數據的條帶化存儲方式和原來的兩塊硬盤相同。
優缺點
在實際應用中RAID6的應用範圍並沒有其它的RAID模式那麼廣泛。因為實現這個功能一般需要設計更加複雜、造價更昂貴的RAID控制器,所以它一般也不會集成在主板上。
RAID6的性能:
既然RAID6是最新的RAID冗餘技術,那麼他的性能應該是非常不錯的。
(1)RAID6的隨機讀取性能:很好(當使用大數據塊時)。
(2)RAID6的隨機寫入性能:差,因為不但要在每硬盤上寫入校驗數據而且要在專門的校驗硬盤上寫入數據。
(3)RAID6的持續讀取性能:好(當使用小數據塊時)。
(4)RAID6的持續寫入性能:一般。
(5)RAID6的優點:快速的讀取性能,更高的容錯能力。
(6)RAID6的缺點:很慢的寫入速度,RAID控制器在設計上更加複雜,成本更高。
RAID6技術雖好不過並不是每個企業都可以用得到的,而且他的高額價格也不是誰都承擔得起的,對於大部分中小企業來說數據的保存所需級別並沒有那麼高,這種情況下我們只需要使用常規的RAID5即可。就現在而言,對於那些數據中心,信息中心等對數據安全級別要求比較高的企業,使用RAID6保護數據還是有必要的。
視頻
NAS 存儲 raid6數據恢複方法