一、RAID技術規範簡介


  RAID技術主要包含RAID 0∼RAID 7等數個規範,它們的側重點各不相同,常見的規範有如下幾種:

  RAID 0:RAID 0連續以位元或位元組?單位分割資料,並行讀/寫於多個磁片上,因此具有很高的資料傳輸率,但它沒有資料冗餘,因此並不能算是真正的RAID結構。 RAID 0只是單純地提高性能,並沒有?資料的可靠性提供保證,而且其中的一個磁片失效將影響到所有資料。因此,RAID 0不能應用於資料安全性要求高的場合。

  RAID 1:它是通過磁片資料鏡像實現資料冗余,在成對的獨立磁片上?生互?備份的資料。當原始資料繁忙時,可直接從鏡像拷貝中讀取資料,因此RAID 1可以提高讀取性能。RAID 1是磁碟陣列中單位成本最高的,但提供了很高的資料安全性和可用性。當一個磁片失效時,系統可以自動切換到鏡像磁片上讀寫,而不需要重組失效的資料。

  RAID 0+1: 也被稱?RAID 10標準,實際是將RAID 0和RAID 1標準結合的?物,在連續地以位元或位元組?單位分割資料並且並行讀/寫多個磁片的同時,?每一塊磁片作磁片鏡像進行冗餘。它的優點是同時擁有RAID 0的超凡速度和RAID 1的資料高可靠性,但是CPU佔用率同樣也更高,而且磁片的利用率比較低。

  RAID 2:將資料條塊化地分佈於不同的硬碟上,條塊單位?位元或位元組,並使用稱?“加重平均改錯碼(海明碼)”的編碼技術來提供錯誤檢查及恢復。這種編碼技術需要多個磁片存放檢查及恢復資訊,使得RAID 2技術實施更複雜,因此在商業環境中很少使用。

  RAID 3:它同RAID 2非常類似,都是將資料條塊化分佈於不同的硬碟上,區別在於RAID 3使用簡單的奇偶校驗,並用單塊磁片存放奇偶校驗資訊。如果一塊磁片失效,奇偶盤及其它資料盤可以重新?生資料;如果奇偶盤失效則不影響資料使用。 RAID 3對於大量的連續資料可提供很好的傳輸率,但對於亂數據來說,奇偶盤會成?寫操作的瓶頸。

  RAID 4:RAID 4同樣也將資料條塊化並分佈於不同的磁片上,但條塊單位?塊或記錄。RAID 4使用一塊磁片作?奇偶校驗盤,每次寫操作都需要訪問奇偶盤,這時奇偶校驗盤會成?寫操作的瓶頸,因此RAID 4在商業環境中也很少使用。

  RAID 5:RAID 5不單獨指定的奇偶盤,而是在所有磁片上交叉地存取資料及奇偶校驗資訊。在RAID 5上,讀/寫指標可同時對陣列設備進行操作,提供了更高的資料流程量。RAID 5更適合於小資料塊和隨機讀寫的資料。RAID 3與RAID 5相比,最主要的區別在於RAID 3每進行一次資料傳輸就需涉及到所有的陣列盤;而對於RAID 5來說,大部分資料傳輸只對一塊磁片操作,並可進行平行作業。在RAID 5中有“寫損失”,即每一次寫操作將?生四個實際的讀/寫操作,其中兩次讀舊的資料及奇偶資訊,兩次寫新的資料及奇偶資訊。

  RAID 6:與RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗資訊塊。兩個獨立的奇偶系統使用不同的演算法,資料的可靠性非常高,即使兩塊磁片同時失效也不會影響資料的使用。但RAID 6需要分配給奇偶校驗資訊更大的磁碟空間,相對於RAID 5有更大的“寫損失”,因此“寫性能”非常差。較差的性能和複雜的實施方式使得RAID 6很少得到實際應用。

  RAID 7:這是一種新的RAID標準,其自身帶有智慧化即時操作系統和用於存儲管理的軟體工具,可完全獨立於主機運行,不佔用主機CPU資源。RAID 7可以看作是一種存儲電腦(Storage Computer),它與其他RAID標準有明顯區別。

  除了以上的各種標準(如表1),我們可以如RAID 0+1那樣結合多種RAID規範來構築所需的RAID陣列,例如RAID 5+3(RAID 53)就是一種應用較?廣泛的陣列形式。用戶一般可以通過靈活配置磁碟陣列來獲得更加符合其要求的磁片存儲系統。
 

 

RAID 0 跟 RAID 1 都是將二顆硬碟組合成一顆硬碟,但結果是不同的

假設有a b硬碟都為20G
RAID 0 的結果為 在系統內看到一顆硬碟容量為 20+20=40G
RAID 0 可以將二個硬碟容量加總,資料寫入時是一部分寫入第一顆硬碟,一部份寫入第二顆硬碟,優點是寫入跟讀取速度增加,但缺點是沒有容錯功能.一旦其中一顆硬碟損壞,將造成資料的損壞.

RAID 1 的結果為 在系統內看到一顆硬碟容量為 20+20=20G (Mirror鏡射)
RAID 1 雖然也是將a b硬碟組合成一顆硬碟,但是它是將b硬碟作成a硬碟的鏡射碟.也就是說資料在寫入a硬碟時同時也寫入了一份複本在b硬碟,優點是資料在存取時同時有一份是備分檔,缺點是會浪費一顆硬碟,因為二顆硬碟是存放著相同的資料。

RAID 5 的組成一定是3顆以上的硬碟,其容量的計算是(n-1)顆
假設有a b c 三顆硬碟是20G
組成 RAID 5 之後容量是 20+20+20=40G
RAID 5 結合了 RAID 0 跟 RAID 1,它將硬碟的容量加總了,但是又保留了一顆的容量在作檔案的容錯,在寫入資料時會透過其演算法去寫入三顆硬碟之中,假設C硬碟掛掉了,只要將一顆新的 20G取代 C 硬碟,RAID 5 的容錯機制會由A B 二顆硬碟中留下的資料來還原 C 硬碟的資料,但前提是壞一顆硬碟,如果同時壞二顆,那資料亦是全毁.

RAID 0 可以將硬碟容量加總,增加讀取速度,但是沒有容錯功能.
RAID 1 可以將資料鏡射一份,但是讀取速度沒有增加.而且要浪費一顆硬碟.
RAID 5 可以將硬碟容量加總,亦可以增加讀取速度,也有容錯功能.而且多顆組合起來只會浪費一顆硬碟.不像RAID 1每二顆硬碟會浪費一顆.

由於RAID 5 只容許同時有一顆硬碟損壞.就有了RAID 0+1 或 RAID 1+0
這是更安全的作法.但相對的也更浪費硬碟.
假設有4個硬碟 A B C D 各20G
RAID 0 A+B => 20+20=40(E)
RAID 0 C+D => 20+20=40(F)

在這裡由A B C D 組成了二顆RAID 0的硬碟.雖然容量加總了.但並沒有容錯功能
所以
RAID 1 E+F => 40+40=40(G)

RAID 1+0 則是反過來運作
RAID 1 A+B => 20+20=20(E)
RAID 1 C+D => 20+20=20(F)

RAID 0 E+F => 20+20=40(G)

作RAID 最好是都用相同容量的硬碟,如果容量不同.則以當中容量最小的為基準
如 A=20G B=30G C=40G
RAID 0 A+B => 20+30=40
RAID 1 A+B => 20+30=20
RAID 5 A+B+C => 20+30+40 => 20+20=40 (n-1)

 

 

 

各種RAID架構比較表

RAID方案

硬碟數

可用容量

效能

安全性

主要應用

JBOD

大於2

全部

不變

幾乎等於0

容量至上

RAID 0

大於2

全部

最高

危險

追求效能的狂熱玩家

RAID 1

2

總容量的50%

稍有提升

最高

完全不能出錯的資料備份

RAID 0+1

4以上的偶數

總容量的50%

極高

同時需要備份和效能,且預算無上限

RAID 5

3以上

N-1顆

讀快寫慢

同RAID 0+1但預算限制