在實際套用中RAID6的套用範圍並沒有其它的RAID模式那么廣泛。假如實現這個功能一般需要設計更加複雜、造價更昂貴的RAID控制器,所以它一般也不會集成在主機板上。總的來說RAID6是可以容忍兩塊硬碟同時出現故障而仍然可以恢復出數據的,另外他的實際容量是總容量減兩塊硬碟,例如80G的硬碟一共五塊來做RAID6,那么他的實際可用容量就是80*5-80*2了,為240G。
RAID6的性能:
既然RAID6是最新的RAID冗餘技術,那么他的性能應該是非常不錯的。
(1)RAID6的隨機讀取性能:很好(當使用大數據塊時)。
(2)RAID6的隨機寫入性能:差,因為不但要在每硬碟上寫入校驗數據而且要在專門的校驗硬碟上寫入數據。
(3)RAID6的持續讀取性能:好(當使用小數據塊時)。
(4)RAID6的持續寫入性能:一般。
(5)RAID6的優點:快速的讀取性能,更高的容錯能力。
(6)RAID6的缺點:很慢的寫入速度,RAID控制器在設計上更加複雜,成本更高。
RAID6技術雖好不過並不是每個企業都可以用得到的,而且他的高額價格也不是誰都承擔得起的,對於大部分中小企業來說數據的保存所需級別並沒有那么高,這種情況下我們只需要使用常規的RAID5即可。就現在而言,對於那些數據中心,信息中心等對數據安全級別要求比較高的企業,筆者覺得才有使用RAID6保護數據的必要。
RAID6和Reed-Solomon編碼
Reed-Solomon編碼是通訊領域中經常碰到的一個算法,已經有15年以上的歷史了。
其實很多校驗算法都是通訊領域最先研究出來,然後才套用到其他領域的。前面說到的XOR算法對一組數據只能產生一個校驗,搞通訊的工程師們覺得不夠可靠,於是就研究出很多能對一組數據產生多個校驗的算法。Reed-Solomon編碼是其中套用最廣泛的一個,咱們以前經常用的ADSL、xDSL、高速Modem都有採用。後來手機、衛星電視、數位電視、CD唱片、DVD、條碼系統、還有……連高級點兒的伺服器記憶體也用這個算法做校驗和糾錯
現在存儲的工程師也覺得RAID5中只能容忍一顆磁碟離線不夠理想,需要一種容忍多顆磁碟離線的技術,自然就會想到Reed-Solomon編碼啦。把這種算法套用到存儲中,就可以讓N顆磁碟的空間裝套用數據,M顆磁碟的空間裝校驗碼(對一組N個數據生成M個校驗,但實際上校驗碼是分散在所有磁碟上的),這樣只要離線的磁碟不大於M顆,數據就不會丟失。
Reed-Solomon編碼理論中有一個公式:
N + M + 1 = 2的b次方
其中b是校驗字的位數。(校驗字是生成校驗過程需要用的一個東東,不是最後的校驗碼。)舉例來說,如果用8位的位元組做校驗字,那么M + N = 255,而RAID6是特指M = 2,這樣N = 253。
就是說,用8位位元組做校驗字的話,理論上一個RAID6的磁碟組可以容下253顆磁碟。
當然啦,實際套用中,太多的磁碟一起做運算會嚴重影響性能,所以陣列控制器和晶片的設計者都會把磁碟組的容量限制在16顆左右。
從功能上講,能實現兩顆磁碟掉線容錯的,都叫RAID6。但是實行這一功能的方式卻有很多很多。
Intel的P+Q RAID6,NetApp的RAID-DP,HP的RAID5-DP,還要很多實驗室中的原型機都能實行這個功能。但是由於機制不同,各種所謂的RAID6,其性能表現、磁碟負載分布、錯誤恢複方式都完全不同。
你讓我從哪說起好哩?
三、基於P+Q的RAID6
在Intel的80333IOP晶片中,有一個新的引擎叫P+Q單元,是專門用來處理RAID6加速的。詳情請查閱Intel官方網站。
對比RAID5的機制,Intel的P+Q RAID6是這樣寫磁碟的:
這裡每個條帶中的P,跟RAID5裡面的P意義完全一樣,就是同一條帶中除Q以外其它數據的XOR運算結果。
而Q呢,就是理解這個技術的關鍵所在了。
咳~咳~聽好了。
Q是同一條帶中各數據的女朋友們進行XOR運算的結果。
別翻白眼啊,書上就是這么寫的啊!喔,還是英文的,我翻譯給你聽。
“把條帶中每個數據分別GF一下,然後這些結果再XOR,就得到Q。”
這個GF變換,就是這個淘氣的伽同學當年為了逃避老師點名,而發明的一種教室換座位方法。按照這種方法,每個人都不會坐在自己的座位上,而且每個人都肯定會有座位。而且任意個同學的座位號進行XOR運算之後,仍然跑不出這個教室里的座位號。
扯太遠啦!回到正題。
在Intel 80333IOP中存著兩個表格,分別對應GF正向變換和反向變換。任何一個8位二進制數,都可以直接在表格中查到對應的GF變換結果。
這兩個表格分別在Intel 80333IOP研發手冊的第445頁和446頁,不過我估計大部分人會懶得去看。也是,看了又能怎么樣呢?反正Intel已經把那玩意固化到晶片里了。
如果一顆磁碟掉線,根本不需要Q用P直接就搞定了,跟RAID5一樣。
如果兩顆磁碟掉線,又分做兩種情況:
A)壞的地方有Q。這種情況跟RAID5壞一顆磁碟一樣,用XOR就恢復了。
B)壞的地方沒有Q。用GF變換加XOR一起搞定。
結合上面表格的例子,如果磁碟5和磁碟6掉線。那條帶1和條帶2就屬於情況A;而條帶3、4、5和6屬於情況B。
常見的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(6D + 2P)根據條帶化的數據生成校驗信息,條帶化數據和校驗數據一起分散存儲到RAID組的各個磁碟上
RAID 6校驗數據生成公式(P和Q):
P的生成用了異或
P = D0 XOR D1 XOR D2 XOR D3 XOR D4 XOR D5
Q的生成用了係數和異或
Q = A0*D0 XOR A0*D1 XOR A0*D2 XOR A0*D3 XOR A0*D4 XOR A0*D5
D0~D5:條帶化數據
A0~A5:係數
XOR:異或
*:乘
在RAID 6中,當有1塊磁碟出故障的時候,利用公式1恢複數據,這個過程是和RAID 5一樣的。而當有2塊磁碟同時出故障的時候,就需要同時用公式1和公式2來恢複數據了。
各係數A0~A5是線性無關的係數,在D0,D1,D2,D3,D4,D5,P,Q中有兩個未知數的情況下,也可以聯列求解兩個方程得出兩個未知數的值。這樣在一個RAID組中有兩塊磁碟同時壞的情況下,也可以恢複數據。
上面描述的是校驗數據生成的算法。其實RAID 6的核心就是有兩份檢驗數據,以保證兩塊磁碟同時出故障的時候,也能保障數據的安全。
相關詞條
-
戴爾 PowerEdge R410(Xeon E5504/2GB/146GB/RAID6)
基本資料產品類別:機架式CPU型號:Xeon E5504標配CPU數量:1顆記憶體容量:2GB標配硬碟容量:146GB網路控制器:雙連線埠千兆乙太網控制器產...
基本資料 -
戴爾 PowerEdge R410(Xeon E5506/4GB/2*450GB/RAID6)
基本資料產品類別:機架式CPU型號:Xeon E5506標配CPU數量:1顆記憶體容量:4GB標配硬碟容量:900GB內部硬碟架數:最大支持4塊3.5英寸...
基本資料 -
戴爾 PowerEdge R710(Xeon E5504/2GB/146GB/RAID6)
基本資料產品類別:機架式CPU型號:Xeon E5504標配CPU數量:1顆記憶體容量:2GB標配硬碟容量:146GB內部硬碟架數:6個3.5英寸硬碟網路...
基本資料 -
北亞RAID6數據恢復軟體
RAID6 RAID6 RAID6
軟體介紹 功能介紹 軟體主界面 恢復操作流程 -
聯想 萬全R630 G7(Xeon E7420*4/24GB/SAS146G*4/RAID6)
基本資料產品類別:機架式CPU型號:Xeon E7420標配CPU數量:4顆記憶體容量:24GB標配硬碟容量:584GB內部硬碟架數:最大支持8塊熱插拔2...
基本資料 -
聯想 萬全T350 G7(Xeon E5620*2/8GB/SAS300G*5/RAID6)
x16插槽1×PCI-E x8插槽2×PCI-E x8插槽(x4匯流排)1×PCI-E
基本資料 -
聯想 萬全R350 G7(Xeon E5506*2/16GB/SAS300G*4/RAID6)
x16插槽1×PCI-E 2.0 x8插槽(x4匯流排)1×PCI-E
基本資料 -
RAID 6
使得RAID 6很少得到實際套用。常見的RAID6組建類型 RAID 6...、B、C、D、E、F代表raid6中6塊硬碟,A0、B0、C0、D0、E0...存儲方式和原來的兩塊硬碟相同。優缺點在實際套用中RAID6的套用範圍...
簡介 校驗位方法 優缺點 -
EAB
,RAID5,RAID6。 RAID0:RAID0並不是真正的RAID結構...。 RAID6:RAID6與RAID5相比,增加了第二個獨立的奇偶校驗信息塊...RAID5有更大的“寫損失”。RAID6的寫性能非常差,較差的性能和複雜...
EmbeddedArrayBlock 一、功能 嵌入式系統,linux,存儲 二、分類