RAID磁盤陣列原理

磁盤陣列(Redundant Arrays of independent Disks,RAID),有「價格便宜具備冗餘能力的磁盤陣列」之意。原理是利用數組方式來做磁盤組,配合數據分散排列的設計,提高數據的安全性。磁盤陣列是由不少價格較便宜的磁盤,組合成一個容量巨大的磁盤組,利用個別磁盤提供數據所產生加成效果提高整個磁盤系統效能。利用這項技術,將數據切割成許多區段,分別存放在各個硬盤上。磁盤陣列還能利用同位檢查(Parity Check)的觀念,在數組中任一顆硬盤故障時,仍可讀出數據,在數據重構時,將數據經計算後從新置入新硬盤中。算法

 

磁盤陣列其樣式有三種,一是外接式磁盤陣列櫃、二是內接式磁盤陣列卡,三是利用軟件來仿真。
外接式磁盤陣列櫃最常被使用大型服務器上,具可熱抽換(Hot Swap)的特性,不過這類產品的價格都很貴。
內接式磁盤陣列卡,由於價格便宜,但須要較高的安裝技術,適合技術人員使用操做。
利用軟件仿真的方式,因爲會拖累機器的速度,不適合大數據流量的服務器。數組

RAID0沒有冗餘功能,若是一個磁盤(物理)損壞,則全部的數據都沒法使用。
RAID1磁盤的利用率最高只能達到50%(使用兩塊盤的狀況下),是全部RAID級別中最低的。
RAID0+1以理解爲是RAID 0和RAID 1的折中方案。RAID 0+1能夠爲系統提供數據安全保障,但保障程度要比 Mirror低而磁盤空間利用率要比Mirror高。
RAID 0:RAID 0連續以位或字節爲單位分割數據,並行讀/寫於多個磁盤上,所以具備很高的數據傳輸率,但它沒有數據冗餘,所以並不能算是真正的RAID結構。RAID 0只是單純地提升性能,並無爲數據的可靠性提供保證,並且其中的一個磁盤失效將影響到全部數據。所以,RAID 0不能應用於數據安全性要求高的場合。
安全

 

RAID 1:它是經過磁盤數據鏡像實現數據冗餘,在成對的獨立磁盤上產生互爲備份的數據。當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,所以RAID 1能夠提升讀取性能。RAID 1是磁盤陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個磁盤失效時,系統能夠自動切換到鏡像磁盤上讀寫,而不須要重組失效的數據。服務器

 

RAID 01/10:根據組合分爲RAID 10和RAID 01,實際是將RAID 0和RAID 1標準結合的產物,在連續地以位或字節爲單位分割數據而且並行讀/寫多個磁盤的同時,爲每一塊磁盤做磁盤鏡像進行冗餘。它的優勢是同時擁有RAID 0的超凡速度和RAID 1的數據高可靠性,可是CPU佔用率一樣也更高,並且磁盤的利用率比較低。RAID 1+0是先鏡射再分區數據,再將全部硬盤分爲兩組,視爲是RAID 0的最低組合,而後將這兩組各自視爲RAID 1運做。RAID 0+1則是跟RAID 1+0的程序相反,是先分區再將數據鏡射到兩組硬盤。它將全部的硬盤分爲兩組,變成RAID 1的最低組合,而將兩組硬盤各自視爲RAID 0運做。性能上,RAID 0+1比RAID 1+0有着更快的讀寫速度。可靠性上,當RAID 1+0有一個硬盤受損,其他三個硬盤會繼續運做。RAID 0+1 只要有一個硬盤受損,同組RAID 0的另外一隻硬盤亦會中止運做,只剩下兩個硬盤運做,可靠性較低。所以,RAID 10遠較RAID 01經常使用,零售主板絕大部份支持RAID 0/1/5/10,但不支持RAID 01。工具

 

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不多獲得實際應用。spa

RAID 7:這是一種新的RAID標準,其自身帶有智能化實時操做系統和用於存儲管理的軟件工具,可徹底獨立於主機運行,不佔用主機CPU資源。RAID 7能夠看做是一種存儲計算機(Storage Computer),它與其餘RAID標準有明顯區別。除了以上的各類標準(如表1),咱們能夠如RAID 0+1那樣結合多種RAID規範來構築所需的RAID陣列,例如RAID 5+3(RAID 53)就是一種應用較爲普遍的陣列形式。用戶通常能夠經過靈活配置磁盤陣列來得到更加符合其要求的磁盤存儲系統。操作系統

RAID 5E(RAID 5 Enhancement): RAID 5E是在RAID 5級別基礎上的改進,與RAID 5相似,數據的校驗信息均勻分佈在各硬盤上,可是,在每一個硬盤上都保留了一部分未使用的空間,這部分空間沒有進行條帶化,最多容許兩塊物理硬盤出現故障。看起來,RAID 5E和RAID 5加一塊熱備盤好像差很少,其實因爲RAID 5E是把數據分佈在全部的硬盤上,性能會比RAID5 加一塊熱備盤要好。當一塊硬盤出現故障時,有故障硬盤上的數據會被壓縮到其它硬盤上未使用的空間,邏輯盤保持RAID 5級別。

RAID 5EE: 與RAID 5E相比,RAID 5EE的數據分佈更有效率,每一個硬盤的一部分空間被用做分佈的熱備盤,它們是陣列的一部分,當陣列中一個物理硬盤出現故障時,數據重建的速度會更快。

RAID 50:RAID50是RAID5與RAID0的結合。此配置在RAID5的子磁盤組的每一個磁盤上進行包括奇偶信息在內的數據的剝離。每一個RAID5子磁盤組要求三個硬盤。RAID50具有更高的容錯能力,由於它容許某個組內有一個磁盤出現故障,而不會形成數據丟失。並且由於奇偶位分部於RAID5子磁盤組上,故重建速度有很大提升。優點:更高的容錯能力,具有更快數據讀取速率的潛力。須要注意的是:磁盤故障會影響吞吐量。故障後重建信息的時間比鏡像配置狀況下要長。

相關文章
相關標籤/搜索