RAID-6的全稱為“IndependentData disks with two independent distributed parity schemes(帶有兩個獨立分布式校驗方案的獨立數(shù)據(jù)磁盤)”。
RAID-6是在RAID-5 基礎(chǔ)上,為了進一步加強數(shù)據(jù)保護而設(shè)計的一種RAID級別,與RAID-5 的不同之處于在于,RAID-6采用雙重校驗方式,能夠防止兩塊成員盤故障而引起的數(shù)據(jù)丟失,因此RAID-6的數(shù)據(jù)冗余性能相當好。
但是,由于RAID-6增加了一個校驗,所以數(shù)據(jù)寫入的效率比RAID-5還要低很多,而且RAID控制器的設(shè)計也更為復(fù)雜。另外,RAID-6的磁盤空間利用率也比RAID-5低。
前文介紹過,RAID-6有很多的標準,包括Intel公司的P+Q雙校驗RAID-6、NetApp公司的雙異或RAID-6(也稱為RAID-DP)、X-Code編碼RAID-6、ZZS編碼RAID-6、Park編碼RAID-6、EVENODD編碼RAID-6等,本節(jié)將介紹這些RAID-6的結(jié)構(gòu)。
1.10.1
P+Q雙校驗RAID-6數(shù)據(jù)組織原理P+Q雙校驗RAID-6是指在RAID-6除了采用RAID-5的異或校驗以外,還增加了一個“Q”校驗位,其數(shù)據(jù)組織結(jié)構(gòu)如圖1-41所示。
據(jù)分布圖.jpg)
圖1-41
P+Q雙校驗RAID-6數(shù)據(jù)分布圖
在圖1-41中,“D0、D1、D2…
”是數(shù)據(jù)塊,“P0、P1、P2…
”是P校驗塊,“Q0、Q1、Q2 …
”是Q校驗塊。
P校驗依然使用異或算法得出,即P0=D0⊕D1、P1=D2⊕D3。
Q校驗使用基于伽羅華域(Galois Field,簡寫為GF)的里德-所羅門(Reed-Solomon)編碼計算得出,即Q0=GF(D0)⊕GF(D1)、Q1=GF(D2)⊕GF(D3),其中GF(D0)的含義是對D0進行伽羅華域的里德-所羅門編碼變換。
里德-所羅門編碼是歐文?里德(Irving Reed)和格斯?所羅門(Gus Solomon)于1960年發(fā)布的一種糾錯編碼,它使用伽羅華域運算法則,對于伽羅華域和里德-所羅門編碼感興趣的讀者可以查看專業(yè)數(shù)學書籍。
P+Q雙校驗RAID-6在兩塊成員盤離線的情況下依然能夠得到完整數(shù)據(jù),具體算法分析如下:
情況一,一塊成員盤離線
以圖1-41為例,假設(shè)“物理盤3”離線,我們對每個條帶組的數(shù)據(jù)分別進行分析:
(1)0號條帶組
“物理盤3”離線后,0號條帶組中缺失“Q0”校驗塊,不影響數(shù)據(jù)塊“D0”和“D1”。
(2)1號條帶組
“物理盤3”離線后,1號條帶組中缺失“D3”數(shù)據(jù)塊,RAID控制器可以通過計算式D2⊕P1的出D3。
(3)2號條帶組
“物理盤3”離線后,2號條帶組中缺失“D5”數(shù)據(jù)塊,RAID控制器可以通過計算式D4⊕P2的出D5。
詳解.jpg)
(4)3號條帶組
“物理盤3”離線后,3號條帶組中缺失“P3”校驗塊,不影響數(shù)據(jù)塊“D6”和“D7”。
情況二,兩塊成員盤離線
以圖1-41為例,假設(shè)“物理盤2”和“物理盤3”離線,RAID-6中只剩下“物理盤0”和“物理盤1”,我們對每個條帶組的數(shù)據(jù)分別進行分析:
(1)0號條帶組
“物理盤2”和“物理盤3”離線后,0號條帶組中缺失“P0”和“Q0”校驗塊,不影響數(shù)據(jù)塊“D0”和“D1”。
(2)1號條帶組
“物理盤2”和“物理盤3”離線后,1號條帶組中缺失“Q1”校驗塊和“D3”數(shù)據(jù)塊,“Q1”校驗塊不用理會,RAID控制器可以通過計算式D2⊕P1得出D3。
(3)2號條帶組
“物理盤2”和“物理盤3”離線后,2號條帶組中缺失“D4”和“D5”數(shù)據(jù)塊,只剩下“P2”和“Q2”兩個校驗塊,RAID控制器可以通過以下方程式計算出D4和D5:
(4)3號條帶組
“物理盤2”和“物理盤3”離線后,3號條帶組中缺失“D7”數(shù)據(jù)塊和“P3”校驗塊,只剩下“Q3”校驗塊和“D6”數(shù)據(jù)塊。對于“P3”校驗塊不用理會,而對于“D7”數(shù)據(jù)塊,RAID控制器先計算出Q3⊕D6的結(jié)果,再通過GF( )編碼就可以得到D7的值。
1.10.2
NetApp雙異或RAID-6數(shù)據(jù)組織原理NetApp公司推出的雙異或RAID-6也稱為RAID-DP,它實際上也就是雙RAID-4技術(shù),所謂雙RAID-4技術(shù)主要是說在同一磁盤陣列中組建兩個獨立的不同算法的校驗磁盤,在單校驗磁盤下工作原理與RAID-4一樣,但增加了一個校驗盤之后,則使整個磁盤陣列的安全性得到提高,能夠允許兩塊盤同時離線。
構(gòu)建RAID-DP最少需要4塊物理盤才能實現(xiàn),下面以6塊物理盤為了進行說明,其數(shù)據(jù)分布情況如圖1-42所示:
據(jù)分布圖.jpg)
圖1-42
RAID-DP數(shù)據(jù)分布圖
圖1-42中“P0、P1、P2、P3”是第一個獨立的校驗信息,屬于橫向校驗,其中:
P0=D0⊕D1⊕D2⊕D3;
P1=D4⊕D5⊕D6⊕D7;
P2=D8⊕D9⊕D10⊕D11;
P3=D12⊕D13⊕D14⊕D15。
圖1-42中“DP0、DP1、DP2、DP3”是第二個獨立的校驗信息,屬于斜向校驗,其中:
DP0=D0⊕D5⊕D10⊕D15;
DP1=D1⊕D6⊕D11⊕P3;
DP2=D2⊕D7⊕P2⊕D12;
DP3=D3⊕P1⊕D8⊕D13。
因為有第二個獨立的校驗信息存在,所以理論上RAID-DP即使兩塊成員盤同時離線也不會出現(xiàn)故障。
下面我們來分析在兩塊成員盤同時離線的情況下,RAID-DP如何保持數(shù)據(jù)的完整性。
假設(shè)成員盤中的硬盤0和硬盤1同時離線,如圖1-43所示。

圖1-43
硬盤0和硬盤1同時離線的RAID-DP
從圖1-43可以看出,硬盤0和硬盤1同時離線后,數(shù)據(jù)塊D0、D1、D4、D5、D8、D9、D12、D13丟失,在RAID-DP運行過程中,RAID控制器將用剩下的數(shù)據(jù)塊和校驗塊計算出丟失的數(shù)據(jù)塊,計算過程如下:
第一步,計算數(shù)據(jù)塊D1
因為DP1=D1⊕D6⊕D11⊕P3,
所以D1= DP1⊕D6⊕D11⊕P3。
通過這個計算式將得到丟失的數(shù)據(jù)塊D1,如圖1-44所示。
圖1-44
計算出丟失的數(shù)據(jù)塊D1
第二步,計算數(shù)據(jù)塊D0
因為P0=D0⊕D1⊕D2⊕D3,
所以D0= P0⊕D1⊕D2⊕D3。
通過這個計算式將得到丟失的數(shù)據(jù)塊D0,如圖1-45所示。
據(jù)塊D0.jpg)
圖1-45
計算出丟失的數(shù)據(jù)塊D0
第三步,計算數(shù)據(jù)塊D5
因為DP0=D0⊕D5⊕D10⊕D15,
所以D5=D0⊕DP0⊕D10⊕D15。
通過這個計算式將得到丟失的數(shù)據(jù)塊D5,如圖1-46所示。
據(jù)塊D5.jpg)
圖1-46
計算出丟失的數(shù)據(jù)塊D5
第四步,計算數(shù)據(jù)塊D4
因為P1=D4⊕D5⊕D6⊕D7,
所以D4= P1⊕D5⊕D6⊕D7。
通過這個計算式將得到丟失的數(shù)據(jù)塊D4,如圖1-47所示。
據(jù)塊D4.jpg)
硬盤0和硬盤1中的其他數(shù)據(jù)塊也可以用同樣方法算出。
轉(zhuǎn)載請注明:成都千喜數(shù)據(jù)恢復(fù)中心 » RAID-6技術(shù)詳解