RAID6和Reed-Solomon編碼
筆者本來想寫成“李德-所羅門編碼”,但那樣就不方便大家一邊看帖子一邊google了。
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這個概念所指的意義太混亂。從功能上講,能實現兩顆磁盤掉線容錯的,都叫RAID6。(至少我認識的銷售們都這么認為。)但是實行這一功能的方式卻有很多很多。
Intel的P+Q RAID6,NetApp的RAID-DP,HP的RAID5-DP,還要很多實驗室中的原型機都能實行這個功能。但是由于機制不同,各種所謂的RAID6,其性能表現、磁盤負載分布、錯誤恢復方式都完全不同。
三、基于P+Q的RAID6
在Intel的80333IOP芯片中,有一個新的引擎叫P+Q單元,是專門用來處理RAID6加速的。詳情請查閱Intel官方網站
Intel的P+Q RAID6是這樣寫磁盤的:
這里每個條帶中的P,跟RAID5里面的P意義完全一樣,就是同一條帶中除Q以外其它數據的XOR運算結果。
而Q呢,就是理解這個技術的關鍵所在了。
Q是同一條帶中各數據的Galois Field進行XOR運算的結果。
“找到條帶中每個數據的GF,然后這些GF再XOR一下,就得到Q。”
(GF是Galois Field的縮寫,是法國著名數學家伽羅瓦發明的一種數學變換。)
這個GF變換呢,就是這個淘氣的伽同學當年為了逃避老師點名,而發明的一種教室換座位方法。按照這種方法,每個人都不會坐在自己的座位上,而且每個人都肯定會有座位。而且任意個同學的座位號進行XOR運算之后,仍然跑不出這個教室里的座位號。
在Intel 80333IOP中存著兩個表格,分別對應GF正向變換和反向變換。任何一個8位二進制數,都可以直接在表格中查到對應的GF變換結果。
這兩個表格分別在Intel 80333IOP研發手冊的第445頁和446頁,不過我估計大部分人會懶得去看。也是,看了又能怎么樣呢?反正Intel已經把那玩意固化到芯片里了。
如果一顆磁盤掉線,根本不需要Q用P直接就搞定了,跟RAID5一樣。
如果兩顆磁盤掉線,又分做兩種情況:
A)壞的地方有Q。這種情況跟RAID5壞一顆磁盤一樣,用XOR就恢復了。
B)壞的地方沒有Q。用GF變換加XOR一起搞定。按照Intel的官方說法,是用“恢復矩陣”進行恢復。
結合上面表格的例子,如果磁盤5和磁盤6掉線。那條帶1和條帶2就屬于情況A;而條帶3、4、5和6屬于情況B。
其實P+Q只是一種算法,Intel IOP里面的硬件加速引擎并不是必須的。有一些產品就采用了PowerPC等不含P+Q引擎的CPU,一樣不耽誤P+Q RAID6功能。
GF轉換表在軟件里完成就是了。
簡單的說,RAID6主要是比RAID5更加安全,允許兩塊硬盤出現離線,陣列還可以正常運行。
假如服務器陣列無法進入系統,或者陣列信息丟失了等,千萬不要重新初始化配置陣列信息或者強制上線同步操作,或陣列重新可以聯系我們華軍行,我們有更加專業的服務器陣列工程師為您服務!
操作系統密碼破解方法如下: 在電腦斷電的情況下打開機箱- 找到主板電池- 斷開電池與...
1.查看磁帶中的目錄 #tar tvf /dev/st0 2.查看磁帶中的目錄,并輸出到一個文件中 #t...
現在為大家帶來: 文件誤刪不用愁一步步來數據恢復其實很簡單 數據被不小心刪除?驅動...
壞道會危及我們的數據,要保護數據,小編和大家一起來學習如何正確使用才能減少壞道的發...
如今局域網已經相當普及了,如果有人不慎在局域網中刪除了硬盤中的文件,通過一般的軟件...
R-Studio是一款功能比較強大的數據恢復軟件,它的特點有如下幾點: 1)支持FAT系列、NTF...
在數據恢復中,硬盤邏輯分區是硬盤上一塊連續的區域,不同之處在于,每個主分區只能分成...