RAID 0
即Data Stripping數據分條技術,又稱條帶化(Stripe)存儲。RAID 0可以把多塊硬盤串連成一個容量更大的集群,從而顯著提高磁盤的性能和吞吐量。這裡需要注意的是RAID 0沒有冗餘或錯誤修復能力,但是成本低,要求至少兩個磁盤,這種架構一般只是在那些對數據安全性要求不高的情況下才被使用。RAID 0連續以位或位元組為單位分割數據,並行讀/寫於多個磁盤上,在所有的級別中,RAID 0的速度是最快的。理論上說,由N個磁盤組成的RAID0是單個磁盤讀寫速度的N倍。但是RAID 0沒有冗餘備份功能的,如果一個磁盤(物理)損壞,則所有的數據都無法使用。因此嚴格來說並不能算是狹義上的RAID結構。
(1) RAID 0簡易架構
就是把N塊同樣的硬盤用硬件的形式通過智能磁盤控制器或用操作系統中的磁盤驅動程序以軟件的方式串聯在一起,形成一個單獨的邏輯驅動器,容量是單獨硬盤的N倍,在數據寫入時被依次寫入到各磁盤中,當一塊磁盤的空間用盡時,數據則會被自動寫入到下一塊磁盤中,它的好處是可以增加磁盤的容量。速度與其中任何一塊磁盤的速度相同,如果其中的任何一塊磁盤出現故障,整個系統將會受到破壞,可靠性是單獨使用一塊硬盤的1/n。
(2) RAID 0的另一架構
是用N塊硬盤選擇合理的帶區大小創建帶區集,最好是為每一塊硬盤都配備一個專門的磁盤控制器,在電腦數據讀寫時同時向N塊磁盤讀寫數據,速度提升n倍,提高系統的性能。
RAID 1
鏡像(Mirror)存儲。把一個磁盤的數據鏡像到另一個磁盤上,在不影響性能情況下最大限度的保證系統的可靠性和集中讀取數據,因此RAID 1可以提高讀取性能。RAID 1是磁盤陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個磁盤失效時,系統可以自動切換到鏡像磁盤上讀寫,而不需要重組失效的數據。
RAID 1有以下特點:
(1)RAID 1的每一個磁盤都具有一個對應的鏡像盤,任何時候數據都同步鏡像,系統可以從一組鏡像盤中的任何一個磁盤讀取數據。
(2)磁盤所能使用的空間只有磁盤容量總和的一半,系統成本較高。
(3)只要系統中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數量的硬盤出現問題時系統都可以正常運行。
(4)出現了故障的RAID系統可靠性不足,必須及時的更換故障硬盤,否則等到剩餘的鏡像盤也出現故障,那麼整個系統就無法繼續使用。
(5)加入新盤後原有數據會需要很長時間同步數據讀寫,外界對數據的訪問不會受到影響,只是這時整個系統的性能有所下降。
(6)RAID 1對於硬盤控制設備的負載相當大,用多個硬盤控制設備可以提高數據的安全性和可用性。在可修復性上,具有很高的數據冗餘能力,但磁盤利用率為50%。當原始數據繁忙時,可直接從鏡像拷貝。
RAID 2
又稱海明碼(Hamming Code)校驗條帶存儲。將數據條塊化地分佈於不同的硬盤上,條塊單位為位或位元組,使用稱為海明碼來提供錯誤檢查及恢復。這種編碼技術需要多個磁盤存放檢查及恢複信息,使得RAID 2技術實施更複雜,因此在商業網站項目中很少使用。
RAID 3
又稱奇偶校驗(XOR)條帶存儲,共享校驗盤,數據條帶存儲單位為位元組。RAID 3是以一個硬盤來存放數據的奇偶校驗位,數據則分段存儲於其餘硬盤中。它像RAID 0一樣以並行的方式來存放數,但速度沒有RAID 0快。如果數據盤(物理)損壞,只要將壞硬盤換掉,RAID控制系統則會根據校驗盤的數據校驗位在新盤中重建壞盤上的數據。不過,如果校驗盤(物理)損壞的話,則全部數據都無法使用。利用單獨的校驗盤來保護數據雖然沒有鏡像的安全性高,但是硬盤利用率得到了很大的提高,為n-1。RAID 3對於大量的連續數據可提供很好的傳輸率,但對於隨機數據來說,奇偶盤會成為寫操作的瓶頸。導致讀寫速度減慢。
RAID 4
也是奇偶校驗(XOR)條帶存儲,共享校驗盤,數據條帶存儲單位為塊。RAID 4同樣也將數據條塊化並分佈於不同的磁盤上,但條塊單位為塊或記錄。RAID 4使用一塊磁盤作為奇偶校驗盤,每次寫操作都需要訪問奇偶盤,這時奇偶校驗盤會成為寫操作的瓶頸,因此RAID 4在商業環境中也很少使用。
RAID 5
奇偶校驗(XOR)條帶存儲,校驗數據分佈式存儲,數據條帶存儲單位為塊。RAID 5不單獨指定的奇偶盤,而是在所有磁盤上交叉地存取數據及奇偶校驗信息。在RAID 5上,讀/寫指針可同時對陣列設備進行操作,提供了更高的數據流量。RAID 5更適合於小數據塊和隨機讀寫的數據。RAID 3與RAID 5相比,最主要的區別在於RAID 3每進行一次數據傳輸就需涉及到所有的陣列盤;而對於RAID 5來說,大部分數據傳輸只對一塊磁盤操作,並可進行並行操作。在RAID 5中有「寫損失」,即每一次寫操作將產生四個實際的讀/寫操作,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息。
RAID 5把校驗塊分散到所有的數據盤中。它使用了一種特殊的算法,可以計算出任何一個帶區校驗塊的存放位置。這樣就可以確保任何對校驗塊進行的讀寫操作都會在所有的RAID磁盤中進行均衡,從而消除了產生瓶頸的可能。RAID5的讀出效率很高,寫入效率一般,塊式的集體訪問效率不錯。RAID 5提高了系統可靠性,但對數據傳輸的並行性解決不好,而且控制器的設計也相當困難。為了具有RAID-5級的冗餘度,需要最少由三個磁盤組成的磁盤陣列(不包括一個熱備用)。RAID-5可以通過磁盤陣列控制器硬件實現,也可以通過某些網絡操作系統軟件實現了。硬盤的利用率為n-1。
當進行恢復時,比如我們需要需要恢復下圖中的A0,這裡就必須需要B0、C0、D0加0 parity才能計算並得出A0,進行數據恢復。所以當有兩塊盤壞掉的時候,整個RAID的數據失效。
RAID 6
奇偶校驗(XOR)條帶存儲,兩個分佈式存儲的校驗數據,數據條帶存儲單位為塊。與RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶系統使用不同的算法,數據的可靠性非常高,即使兩塊磁盤同時失效也不會影響數據的使用。但RAID 6需要分配給奇偶校驗信息更大的磁盤空間,相對於RAID 5有更大的「寫損失」,因此「寫性能」非常差。較差的性能和複雜的實施方式使得RAID 6很少得到實際應用。
RAID 7
這是一種全新的RAID架構,由於其自身就帶有實時操作系統和用於存儲管理的軟件工具,可完全獨立於主機運行,且不佔用主機CPU資源。RAID 7可以看作是一種小型存儲計算機,使得它與其他RAID架構相比較更為先進。
RAID 7等級是目前為止是理論上性能最高的RAID架構,因為它從組建方式上就已經和以往的方式有了極大的不同。基本成形式見圖,以往一個硬盤是一個組成陣列的「柱子」,而在RAID 7中,多個硬盤組成一個「柱子」,它們都有各自的通道,也正因為如此,你可以把這個圖分解成一個個硬盤連接在主通道上,只是比以前的等級更為細分了。這樣做的好處就是在讀/寫某一區域的數據時,可以迅速定位,而不會因為以往因單個硬盤的限制同一時間只能訪問該數據區的一部分,在RAID 7中,以前的單個硬盤相當於分割成多個獨立的硬盤,有自己的讀寫通道。