天天看點

RAID入門一頁通,最全的RAID技術、原理圖解 - 童叟無欺的小power

RAID入門一頁通,最全的RAID技術、原理圖解

RAID一頁通整理所有RAID技術、原理并配合相應RAID圖解,給所有存儲新人提供一個迅速學習、了解RAID技術的網上資源庫,本文将持續更新,歡迎大家補充及投稿。中國存儲網一如既往為廣大存儲界朋友提供免費、精品資料。

1.什麼是Raid;

RAID(Redundant Array of Inexpensive Disks)稱為廉價磁盤備援陣列。RAID 的基本原理是把多個便宜的小磁盤組合到一起,成為一個磁盤組,使性能達到或超過一個容量巨大、價格昂貴的磁盤。

目前 RAID技術大緻分為兩種:基于硬體的RAID技術和基于軟體的RAID技術。其中在 Linux下通過自帶的軟體就能實作RAID功能,這樣便可省去購買昂貴的硬體 RAID 控制器和附件就能極大地增強磁盤的 IO 性能和可靠性。由于是用軟體去實作的RAID功能,是以它配置靈活、管理友善。同時使用軟體RAID,還可以實作将幾個實體磁盤合并成一個更大的虛拟設 備,進而達到性能改進和資料備援的目的。當然基于硬體的RAID解決方案比基于軟體RAID技術在使用性能和服務性能上稍勝一籌,具體表現在檢測和修複多 位錯誤的能力、錯誤磁盤自動檢測和陣列重建等方面。

2.RAID級别介紹;

一般常用的RAID階層,分别是RAID 0、RAID1、RAID 2、RAID 3、RAID 4以及RAID 5,再加上二合一型 RAID 0+1﹝或稱RAID 10﹞。我們先把這些RAID級别的優、缺點做個比較:

RAID級别 相對優點 相對缺點

RAID 0 存取速度最快 沒有容錯

RAID 1 完全容錯 成本高

RAID 2 帶海明碼校驗,資料備援多,速度慢

RAID 3 寫入性能最好 沒有多任務功能

RAID 4 具備多任務及容錯功能 Parity 磁盤驅動器造成性能瓶頸

RAID 5 具備多任務及容錯功能 寫入時有overhead

RAID 0+1/RAID 10 速度快、完全容錯 成本高

2.0 RAID 0 的特點、原理與應用;

也稱為條帶模式(striped),即把連續的資料分散到多個磁盤上存取,如圖所示。當系統有資料請求就可以被多個磁盤并行的執行,每個磁盤執行屬于它自 己的那部分資料請求。這種資料上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。因為讀取和寫入是在裝置上并行完成的,讀取和寫入性能将會 增加,這通常是運作 RAID 0 的主要原因。但RAID 0沒有資料備援,如果驅動器出現故障,那麼将無法恢複任何資料。

RAID 0:無差錯控制的帶區組

要實作RAID0必須要有兩個以上硬碟驅動器,RAID0實作了帶區組,資料并不是儲存在一個硬碟上,而是分成資料塊儲存在不同驅 動器上。因為将資料分布在不同驅動器上,是以資料吞吐率大大提高,驅動器的負載也比較平衡。如果剛好所需要的資料在不同的驅動器上效率最好。它不需要計算 校驗碼,實作容易。它的缺點是它沒有資料差錯控制,如果一個驅動器中的資料發生錯誤,即使其它盤上的資料正确也無濟于事了。不應該将它用于對資料穩定性要 求高的場合。如果使用者進行圖象(包括動畫)編輯和其它要求傳輸比較大的場合使用RAID0比較合适。同時,RAID可以提高資料傳輸速率,比如所需讀取的 檔案分布在兩個硬碟上,這兩個硬碟可以同時讀取。那麼原來讀取同樣檔案的時間被縮短為1/2。在所有的級别中,RAID 0的速度是最快的。但是RAID 0沒有備援功能的,如果一個磁盤(實體)損壞,則所有的資料都無法使用。

2.1 RAID 1 的特點、原理與應用;

RAID 1 又稱為鏡像(Mirroring),一個具有全備援的模式,如圖所示。RAID 1可以用于兩個或2xN個磁盤,并使用0塊或更多的備用磁盤,每次寫資料時會同時寫入鏡像盤。這種陣列可靠性很高,但其有效容量減小到總容量的一半,同時 這些磁盤的大小應該相等,否則總容量隻具有最小磁盤的大小。

RAID 1:鏡象結構

對于使用這種RAID1結構的裝置來說,RAID控制器必須能夠同時對兩個盤進行讀操作和對兩個鏡象盤進行寫操作。通過下面的結構 圖您也可以看到必須有兩個驅動器。因為是鏡象結構在一組盤出現問題時,可以使用鏡象,提高系統的容錯能力。它比較容易設計和實作。每讀一次盤隻能讀出一塊 資料,也就是說資料塊傳送速率與單獨的盤的讀取速率相同。因為RAID1的校驗十分完備,是以對系統的處理能力有很大的影響,通常的RAID功能由軟體實 現,而這樣的實作方法在伺服器負載比較重的時候會大大影響伺服器效率。當您的系統需要極高的可靠性時,如進行資料統計,那麼使用RAID1比較合适。而且 RAID1技術支援“熱替換”,即不斷電的情況下對故障磁盤進行更換,更換完畢隻要從鏡像盤上恢複資料即可。當主硬碟損壞時,鏡像硬碟就可以代替主硬碟工 作。鏡像硬碟相當于一個備份盤,可想而知,這種硬碟模式的安全性是非常高的,RAID 1的資料安全性在所有的RAID級别上來說是最好的。但是其磁盤的使用率卻隻有50%,是所有RAID級别中最低的。

2.2 RAID 2 的特點、原理與應用;

RAID 2:帶海明碼校驗

從概念上講,RAID 2 同RAID 3類似, 兩者都是将資料條塊化分布于不同的硬碟上, 條塊機關為位或位元組。然而RAID 2 使用一定的編碼技術來提供錯誤檢查及恢複。這種編碼技術需要多個磁盤存放檢查及恢複資訊,使得RAID 2技術實施更複雜。是以,在商業環境中很少使用。下圖左邊的各個磁盤上是資料的各個位,由一個資料不同的位運算得到的海明校驗碼可以儲存另一組磁盤上,具 體情況請見下圖。由于海明碼的特點,它可以在資料發生錯誤的情況下将錯誤校正,以保證輸出的正确。它的資料傳送速率相當高,如果希望達到比較理想的速度, 那最好提高儲存校驗碼ECC碼的硬碟,對于控制器的設計來說,它又比RAID3,4或5要簡單。沒有免費的午餐,這裡也一樣,要利用海明碼,必須要付出數 據備援的代價。輸出資料的速率與驅動器組中速度最慢的相等。

2.3 RAID 3 特點、原理與應用;

RAID 3 是将資料先做XOR 運算,産生Parity Data後,在将資料和Parity Data 以并行存取模式寫入成員磁盤驅動器中,是以具備并行存取模式的優點和缺點。進一步來說,RAID 3每一筆資料傳輸,都更新整個Stripe﹝即每一個成員磁盤驅動器相對位置的資料都一起更新﹞,是以不會發生需要把部分磁盤驅動器現有的資料讀出來,與 新資料作XOR運算,再寫入的情況發生﹝這個情況在 RAID 4和RAID 5會發生,一般稱之為Read、Modify、Write Process,我們姑且譯為為讀、改、寫過程﹞。是以,在所有 RAID級别中,RAID 3的寫入性能是最好的。

RAID 3 的 Parity Data 一般都是存放在一個專屬的Parity Disk,但是由于每筆資料都更新整個Stripe,是以,RAID 3的 Parity Disk 并不會如RAID 4的 Parity Disk,會造成存取的瓶頸。

RAID 3 的并行存取模式,需要RAID 控制器特别功能的支援,才能達到磁盤驅動器同步控制,而且上述寫入性能的優點,以目前的Caching 技術,都可以将之取代,是以一般認為RAID 3的應用,将逐漸淡出市場。

RAID 3 以其優越的寫入性能,特别适合用在大型、連續性檔案寫入為主的應用,例如繪圖、影像、視訊編輯、多媒體、資料倉儲、高速資料撷取等等。

RAID3:帶奇偶校驗碼的并行傳送

這種校驗碼與RAID2不同,隻能查錯不能糾錯。它通路資料時一次處理一個帶區,這樣可以提高讀取和寫入速度,它像RAID 0一樣以并行的方式來存放資料,但速度沒有RAID 0快。校驗碼在寫入資料時産生并儲存在另一個磁盤上。需要實作時使用者必須要有三個以上的驅動器,寫入速率與讀出速率都很高,因為校驗位比較少,是以計算時 間相對而言比較少。用軟體實作RAID控制将是十分困難的,控制器的實作也不是很容易。它主要用于圖形(包括動畫)等要求吞吐率比較高的場合。不同于 RAID 2,RAID 3使用單塊磁盤存放奇偶校驗資訊。如果一塊磁盤失效,奇偶盤及其他資料盤可以重新産生資料。 如果奇偶盤失效,則不影響資料使用。RAID 3對于大量的連續資料可提供很好的傳輸率,但對于随機資料,奇偶盤會成為寫操作的瓶頸。 利用單獨的校驗盤來保護資料雖然沒有鏡像的安全性高,但是硬碟使用率得到了很大的提高,為n-1。

2.4 RAID 4 特點、原理與應用;

建立RAID 4需要三塊或更多的磁盤,它在一個驅動器上儲存校驗資訊,并以RAID 0方式将資料寫入其它磁盤,如圖所示。因為一塊磁盤是為校驗資訊保留的,是以陣列的大小是(N-l)*S,其中S是陣列中最小驅動器的大小。就像在 RAID 1中那樣,磁盤的大小應該相等。

如果一個驅動器出現故障,那麼可以使用校驗資訊來重建所有資料。如果兩個驅動器出現故障,那麼所有資料都将丢失。不經常使用這個級别的原因是校驗資訊存儲 在一個驅動器上。每次寫入其它磁盤時,都必須更新這些資訊。是以,在大量寫入資料時很容易造成校驗磁盤的瓶頸,是以目前這個級别的RAID很少使用了。

RAID 4 是采取獨立存取模式,同時以單一專屬的Parity Disk 來存放Parity Data。RAID 4的每一筆傳輸﹝Strip﹞資料較長,而且可以執行Overlapped I/O,是以其讀取的性能很好。

但是由于使用單一專屬的Parity Disk 來存放Parity Data,是以在寫入時,就會造成很大的瓶頸。是以,RAID 4并沒有被廣泛地應用。

RAID4:帶奇偶校驗碼的獨立磁盤結構

RAID4和RAID3很象,不同的是,它對資料的通路是按資料塊進行的,也就是按磁盤進行的,每次是一個盤。在圖上可以這麼 看,RAID3是一次一橫條,而RAID4一次一豎條。它的特點的RAID3也挺象,不過在失敗恢複時,它的難度可要比RAID3大得多了,控制器的設計 難度也要大許多,而且通路資料的效率不怎麼好。

2.5 RAID 5特點、原理與應用;

在希望結合大量實體磁盤并且仍然保留一些備援時,RAID 5 可能是最有用的 RAID 模式。RAID 5可以用在三塊或更多的磁盤上,并使用0塊或更多的備用磁盤。就像 RAID 4一樣,得到的 RAID5 裝置的大小是(N-1)*S。

RAID5 與 RAID4 之間最大的差別就是校驗資訊均勻分布在各個驅動器上,如圖4所示,這樣就避免了RAID 4中出現的瓶頸問題。如果其中一塊磁盤出現故障,那麼由于有校驗資訊,是以所有資料仍然可以保持不變。如果可以使用備用磁盤,那麼在裝置出現故障之後,将 立即開始同步資料。如果兩塊磁盤同時出現故障,那麼所有資料都會丢失。RAID5 可以經受一塊磁盤故障,但不能經受兩塊或多塊磁盤故障。

RAID 5也是采取獨立存取模式,但是其Parity Data 則是分散寫入到各個成員磁盤驅動器,是以,除了具備Overlapped I/O 多任務性能之外,同時也脫離如RAID 4單一專屬Parity Disk的寫入瓶頸。但是,RAI?D 5在座資料寫入時,仍然稍微受到"讀、改、寫過程"的拖累。

由于RAID 5 可以執行Overlapped I/O 多任務,是以當RAID 5的成員磁盤驅動器數目越多,其性能也就越高,因為一個磁盤驅動器再一個時間隻能執行一個 Thread,是以磁盤驅動器越多,可以Overlapped 的Thread 就越多,當然性能就越高。但是反過來說,磁盤驅動器越多,數組中可能有磁盤驅動器故障的機率就越高,整個數組的可靠度,或MTDL (Mean Time to Data Loss) 就會降低。

由于RAID 5将Parity Data 分散存在各個磁盤驅動器,是以很符合XOR技術的特性。例如,當同時有好幾個寫入要求發生時,這些要寫入的資料以及Parity Data 可能都分散在不同的成員磁盤驅動器,是以RAID 控制器可以充分利用Overlapped I/O,同時讓好幾個磁盤驅動器分别作存取工作,如此,數組的整體性能就會提高很多。

基本上來說,多人多任務的環境,存取頻繁,資料量不是很大的應用,都适合選用RAID 5 架構,

例如企業檔案伺服器、WEB 伺服器、線上交易系統、電子商務等應用,都是資料量小,存取頻繁的應用。

RAID5:分布式奇偶校驗的獨立磁盤結構

從它的示意圖上可以看到,它的奇偶校驗碼存在于所有磁盤上,其中的p0代表第0帶區的奇偶校驗值,其它的意思也相同。RAID5的 讀出效率很高,寫入效率一般,塊式的集體通路效率不錯。因為奇偶校驗碼在不同的磁盤上,是以提高了可靠性,允許單個磁盤出錯。RAID 5也是以資料的校驗位來保證資料的安全,但它不是以單獨硬碟來存放資料的校驗位,而是将資料段的校驗位互動存放于各個硬碟上。這樣,任何一個硬碟損壞,都 可以根據其它硬碟上的校驗位來重建損壞的資料。硬碟的使用率為n-1。 但是它對資料傳輸的并行性解決不好,而且控制器的設計也相當困難。RAID 3 與RAID 5相比,重要的差別在于RAID 3每進行一次資料傳輸,需涉及到所有的陣列盤。而對于RAID 5來說,大部分資料傳輸隻對一塊磁盤操作,可進行并行操作。在RAID 5中有“寫損失”,即每一次寫操作,将産生四個實際的讀/寫操作,其中兩次讀舊的資料及奇偶資訊,兩次寫新的資料及奇偶資訊。 RAID-5的話,優點是提供了備援性(支援一塊盤掉線後仍然正常運作),磁盤空間使用率較高(N-1/N),讀寫速度較快(N-1倍)。RAID5最大 的好處是在一塊盤掉線的情況下,RAID照常工作,相對于RAID0必須每一塊盤都正常才可以正常工作的狀況容錯性能好多了。是以RAID5是RAID級 别中最常見的一個類型。RAID5校驗位即P位是通過其它條帶資料做異或(xor)求得的。計算公式為P=D0xorD1xorD2…xorDn,其中p 代表校驗塊,Dn代表相應的資料塊,xor是數學運算符号異或。   RAID5校驗位算法詳解   P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn為資料塊,P為校驗,xor為異或運算)   XOR(Exclusive OR)的校驗原理如下表:   

A值 B值 Xor結果
1 1
1 1
1 1

 這裡的A與B值就代表了兩個位,從中可以發現,A與B一樣時,XOR(非或又稱”非異或”)結果為0,A與B不一樣時,XOR結 果就是1,如果知道XOR結果,A和B中的任何兩個數值,就可以反推出剩下的一個數值。比如A為1,XOR結果為1,那麼B肯定為0,如果XOR結果為 0,那麼B肯定為1。這就是XOR編碼與校驗的基本原理。

2.6 RAID 0+1﹝RAID 10﹞的特點、原理與應用;

RAID 0+1/RAID 10,綜合了RAID 0 和 RAID 1的優點,适合用在速度需求高,又要完全容錯,當然經費也很多的應用。 RAID 0和RAID 1的原理很簡單,合起來之後還是很簡單,我們不打算詳細介紹,倒是要談談,RAID 0+1到底應該是 RAID 0 over RAID 1,還是RAID 1 over RAID 0,也就是說,是把多個RAID 1 做成RAID 0,還是把多個 RAID 0 做成RAID 1?

RAID 0 over RAID 1

假設我們有四台磁盤驅動器,每兩台磁盤驅動器先做成RAID 1,再把兩個RAID 1做成RAID 0,這就是RAID 0 over RAID 1:

(RAID 1) A = Drive A1 + Drive A2 (Mirrored)

(RAID 1) B = Drive B1 + Drive B2 (Mirrored)

RAID 0 = (RAID 1) A + (RAID 1) B (Striped)

RAID 1 over RAID 0

假設我們有四台磁盤驅動器,每兩台磁盤驅動器先做成RAID 0,再把兩個RAID 0做成RAID 1,這就是RAID 1 over RAID 0:

(RAID 0) A = Drive A1 + Drive A2 (Striped)

(RAID 0) B = Drive B1 + Drive B2 (Striped)

RAID 1 = (RAID 1) A + (RAID 1) B (Mirrored)

在這種架構之下,如果 (RAID 0) A有一台磁盤驅動器故障,(RAID 0) A就算毀了,當然RAID 1仍然可以正常工作;如果這時 (RAID 0) B也有一台磁盤驅動器故障,(RAID 0) B也就算毀了,此時RAID 1的兩磁盤驅動器都算故障,整個RAID 1資料就毀了。

是以,RAID 0 OVER RAID 1應該比RAID 1 OVER RAID 0具備比較高的可靠度。是以我們建議,當采用RAID 0+1/RAID 10架構時,要先作RAID 1,再把數個RAID 1做成RAID 0。

3. 怎樣選擇Raid級别;

RAID 012345 到底哪一種适合你,不隻是成本問題,容錯功能和傳輸性能的考慮以及未來之可擴充性都應該符合應用的需求。

RAID 在市場上的的應用,已經不是新鮮的事兒了,很多人都大略了解RAID的基本觀念,以及各個不同RAID LEVEL 的區分。但是在實際應用 面,我們發現,有很多使用者對于選擇一個合适的RAID LEVEL,仍然無法很确切的掌握,尤其是對于RAID 0+1 (10),RAID 3, RAID 5之間的選擇取舍,更是舉棋不定。

3.1 RAID條切“striped”的存取模式;

在使用資料條切﹝Data Stripping﹞ 的RAID 系統之中,對成員磁盤驅動器的存取方式,可分為兩種:

并行存取﹝Paralleled Access﹞

獨立存取﹝Independent Access﹞

RAID 2和RAID 3 是采取并行存取模式。

RAID 0、RAID 4、RAID 5及RAID 6則是采用獨立存取模式。

3.2 平行存取模式;

并行存取模式支援裡,是把所有磁盤驅動器的主軸馬達作精密的控制,使每個磁盤的位置都彼此同步,然後對每一個磁盤驅動器作一個很短的I/O資料傳送,如此一來,從主機來的每一個I/O 指令,都平均分布到每一個磁盤驅動器。

為了達到并行存取的功能,RAID 中的每一個磁盤驅動器,都必須具備幾乎完全相同的規格:轉速必須一樣;磁頭搜尋速度﹝Access Time﹞必須相同;Buffer 或Cache的容量和存取速度要一緻;CPU處理指令的速度要相同;I/O Channel 的速度也要一樣。總而言之,要利用并行存取模式,RAID 中所有的成員磁盤驅動器,應該使用同一廠牌,相同型号的磁盤驅動器。

3.2.1 并行存取的基本工作原理;

假設RAID中共有四部相同規格的磁盤驅動器,分别為磁盤驅動器A、B、C和D,我們在把時間軸略分為T0、T1、T2、T3和T4:

T0: RAID控制器将第一筆資料傳送到A的Buffer,磁盤驅動器B、C和D的Buffer都是空的,在等待中

T1: RAID控制器将第二筆資料傳送到B的Buffer,A開始把Buffer中的資料寫入扇區,磁盤驅動器C和D的Buffer都是空的,在等待中

T2: RAID控制器将第三筆資料傳送到C的Buffer,B開始把Buffer中的資料寫入扇區,A已經完成寫入動作,磁盤驅動器D和A的Buffer都是空的,在等待中

T3: RAID控制器将第四筆資料傳送到D的Buffer,C開始把Buffer中的資料寫入扇區,B已經完成寫入動作,磁盤驅動器A和B的Buffer都是空的,在等待中

T4: RAID控制器将第五筆資料傳送到A的Buffer,D開始把Buffer中的資料寫入扇區,C已經完成寫入動作,磁盤驅動器B和C的Buffer都是空的,在等待中

如此一直循環,一直到把從主機來的這個I/O 指令處理完畢,RAID控制器才會受處理下一個I/O 指令。重點是在任何一個磁盤驅動器準備好把資料寫入扇區時,該目的扇區必須剛剛好轉到磁頭下。同時RAID控制器每依次傳給一個磁盤驅動器的資料長度,也 必須剛剛好,配合磁盤驅動器的轉速,否則一旦發生 miss,RAID 性能就大打折扣。

3.2.2 并行存取RAID的最佳應用;

并行存取RAID之架構,以其精細的馬達控制和分布之資料傳輸,将數組中每一個磁盤驅動器的性能發揮到最大,同時充分利用Storage Bus的頻寬,是以特别适合應用在大型、資料連續的檔案存取應用,例如:

影像、視訊檔案伺服器

資料倉儲系統

多媒體資料庫

電子圖書館

印前或底片輸出檔案伺服器

其它大型且連續性檔案伺服器

由于并行存取RAID架構之特性,RAID 控制器一次隻能處理一個I/O要求,無法執行Overlapping 的多任務,是以非常不适合應用在 I/O次數頻繁、資料随機存取、每筆資料傳輸量小的環境。同時,因為并行存取無法執行Overlapping 的多任務,是以沒有辦法"隐藏"磁盤驅動器搜尋﹝seek﹞的時間,而且在每一個I/O的第一筆資料傳輸,都要等待第一個磁盤驅動器旋轉延遲 ﹝rotational latency﹞,平均為旋轉半圈的時間,如果使用一萬轉的磁盤驅動器,平均就需要等待50 usec。是以機械延遲時間,是并行存取架構的最大問題。

3.3 獨立存取模式;

相對于并行存取模式,獨立存取模式并不對成員磁盤驅動器作同步轉動控制,其對每個磁盤驅動器的存取,都是獨立且沒有順序和時間間格的限制,同時每筆傳輸的 資料量都比較大。是以,獨立存取模式可以盡量地利用overlapping 多任務、Tagged Command Queuing等等高階功能,來" 隐藏"上述磁盤驅動器的機械時間延遲﹝Seek 和Rotational Latency﹞。

由于獨立存取模式可以做overlapping 多任務,而且可以同時處理來自多個主機不同的I/O Requests,在多主機環境﹝如Clustering﹞,更可發揮最大的性能。

3.3.1 獨立存取RAID的最佳應用;

由于獨立存取模式可以同時接受多個I/O Requests,是以特别适合應用在資料存取頻繁、每筆資料量較小的系統。例如:

線上交易系統或電子商務應用

多使用者資料庫

ERM及MRP 系統

小檔案之檔案伺服器

在RAID技術中,我們常常聽到“RAID級别”這個詞,RAID級别是指磁盤陣列中硬碟的組合方式,RAID級别不同,硬碟組合的方式也就不同, 為使用者提供的磁盤陣列在性能上和安全性的表現上也有不同。目前常見的RAID級别有RAID0,1,3,5,10,30,50和JOBD等,關于這類 RAID級别,已經有非常多的相關介紹,大家可以多查閱一些資料。

       我們今天要說的是一些并不常見的RAID級别,這些RAID級别有些是将來發展的方向,有些是單個公司提出的标準,它們提出的這些RAID級别比我們常見 的這些RAID級别在性能和資料恢複能力上要強大,是以,也被一些公司所采用。我們在這裡将這些RAID功能向大家作個介紹。

  RAID 6

  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 6将得到廣泛應用。RAID 6的磁盤數量為N+2個。

  RAID 7

  RAID 7全稱叫“Optimized Asynchrony for High I/O Rates as well as High Data Transfer Rates(最優化的異步高I/O速率和高資料傳輸率)”,它與以前我們見到RAID級别具有明顯的差別。RAID 7完全可以了解為一個獨立存儲計算機,它自身帶有作業系統和管理工具,完全可以獨立運作。RAID 7的圖解如下:

  圖中每個“柱體”是由多個磁盤構成,而不是我們以前看到的一個磁盤表示一個“柱體”。從上圖我們可以看出,每個磁盤都有一個獨立的I/O通道, 它們與主通道相連,作業系統可以直接對每個磁盤的通路進行控制,可以讓每個磁盤在不同的時段進行資料讀寫,這樣就大大改善了I/O的應用,同時也提高了數 據讀寫的能力,而這種磁盤通路方式也叫做非同步通路。在RAID 7中,提供了一個磁盤作為專門的校驗盤,它适合于任何一個磁盤進行資料恢複。

  總的來說,RAID 7與我們傳統的RAID級别有很大差別,它的優點很多,但缺點也非常明顯,那就是價格非常高,對于普通企業使用者并不實用。

  RAID 5E

  RAID 5E是由IBM公 司提出的一種私有RAID級别,沒有成為國際标準。這種RAID級别也是從RAID 5的基礎上發展而來的,它與RAID 5不同的地方是将資料校驗資訊平均分布在每一個磁盤中,并且每個磁盤都要預留一定的空間,這部分空間沒有進行條帶化(條帶是指資料為了儲存在RAID中, 被劃分成的最小單元。

       通過對條帶進行調整,可以使支援RAID的磁盤陣列性能更加優異)。當一個磁盤出現故障時,這個磁盤上的資料将被壓縮到其他磁盤預留沒有條帶化的空間内, 達到資料保護的作用,而這時候的RAID級别則從RAID 5E轉換成了RAID 5,繼續保護磁盤資料。RAID 5E允許兩個磁盤出錯,最少也需要4個磁盤才能實作RAID 5E。下圖是RAID 5E的圖解:

  RAID 5EE

  RAID 5EE也是由IBM公司提出的一種私有RAID級别,它也沒有成為國際标準。RAID 5EE的工作原理與RAID 5E基本相同,它也是在每個磁盤中預留一部分空間作為分布的熱備盤,當一個硬碟出現故障時,這個磁盤上的資料将被壓縮到分布的熱備盤中,達到資料的保護作 用。不過與RAID 5E不同的是RAID 5EE内增加了一些優化技術,使RAID 5EE的工作效率更高,壓縮資料的速度也更快。RAID 5EE允許兩個磁盤出錯,最少需要4個磁盤實作。

  RAID 1E

  RAID 1E是RAID 1的增強版本,它并不是我們通常所說的RAID 0+1的組合。RAID 1E的工作原理與RAID基本上是一樣的,隻是RAID 1E的資料恢複能力更強,但由于RAID 1E寫一分資料至少要兩次,是以,RAID處理器的負載得到加強,進而造成磁盤讀寫能力的下降。RAID 1E至少需要3塊硬碟才能實作。RAID 1E和RAID 1的工作原理圖如下:

  RAID DP

  RAID DP也屬于一種私有的RAID标準,它實際上也就是雙RAID 3技術,所謂雙RAID 3技術主要是說在同一磁盤陣列中組建兩個獨立的不同算法的校驗磁盤,在單校驗磁盤下工作原理與RAID 3一樣,但增加了一個校驗盤之後,則使整個磁盤陣列的安全性得到提高,并且它的性能比RAID 3和RAID 5都要好。

  RAID ADG

  RAID ADG相當于雙RAID 5技術,是HP提出來的一種RAID技術。這種技術部署了2個奇偶校驗集,并提供了2個硬碟的容量存儲這些奇偶校驗資訊,能同時允許2塊硬碟出現故障,有效提升了磁盤内資料的可靠性。不過這種技術會嚴重影響系統速度,是以并沒有得到推廣。

  總結

  以上提到的RAID技術都還不是規範的技術,是以,還有許多廠商也以定義了同樣名字的RAID标準,但它們的原理有所差別,是以,大家在見到這些技術時,一定要根據廠商方面的解釋為主。