冗餘磁盤陣列-RAID

1.RAID概述
      RAID(Redundant Array of Independent Disk),冗餘磁盤陣列。冗餘磁盤陣列技術誕生於1987年,由美國加州大學伯克利分校提出。簡單地解釋,就是將多個磁盤通過RAID控制器(RAID Controller)結合成虛擬單臺大容量的磁盤使用,利用重複的磁盤來處理數據,使數據的穩定性得到提高。
      磁盤陣列分爲軟陣列(Software Raid)和硬陣列(Hardware Raid) 兩種。 軟陣列即通過軟件程序並由計算機的CPU提供運行能力所成。由於軟件程序不是一個完整系統故只能提供最基本的RAID容錯功能,其他如熱備用硬盤的設置,遠程管理等功能均一一欠奉。硬陣列是由獨立操作的硬件提供整個磁盤陣列的控制和計算功能,不依靠系統的CPU資源。
      由於硬陣列是一個完整的系統,所有需要的功能均可以做進去。所以硬陣列所提供的功能和性能均比軟陣列好。而且,如果你想把系統也做到磁盤陣列中,硬陣列是唯一的選擇。
      冗餘磁盤陣列技術最初的研製目的是爲了組合小的廉價磁盤來代替大的昂貴磁盤,以降低大批量數據存儲的費用,同時也希望採用冗餘信息的方式,使得磁盤失效時不會使對數據的訪問受損失,從而開發出一定水平的數據保護技術,並且能適當的提升數據傳輸速度。
      過去RAID一直是高檔服務器纔有緣享用,一直作爲高檔SCSI硬盤配套技術作應用。近來隨着技術的發展和產品成本的不斷下降,IDE硬盤性能有了很大提升,加之RAID芯片的普及,使得RAID也逐漸在個人電腦上得到應用。
2.RAID的功能
      擴大了存儲能力 可由多個硬盤組成容量巨大的存儲空間。
      降低了單位容量的成本 市場上最大容量的硬盤每兆容量的價格要大大高於普及型硬盤,因此採用多個普及型硬盤組成的陣列其單位價格要低得多。
      提高了存儲速度 單個硬盤速度的提高均受到各個時期的技術條件限制,要更進一步往往是很困難的,而使用RAID,則可以讓多個硬盤同時分攤數據的讀或寫操作,因此整體速度有成倍地提高。
      可靠性 RAID系統可以使用兩組硬盤同步完成鏡像存儲,這種安全措施對於網絡服務器來說是最重要不過的了。
      容錯性 RAID控制器的一個關鍵功能就是容錯處理。容錯陣列中如有單塊硬盤出錯,不會影響到整體的繼續使用,高級RAID控制器還具有拯救功能。
3.RAID的技術規範
      RAID主要包含RAID 0~RAID 7等數個規範,它們的側重點各不相同,常見的規範有如下幾種:
      RAID 0:無差錯控制的帶區組
   要實現RAID 0必須要有兩個以上硬盤驅動器,RAID 0實現了帶區組,數據並不是保存在一個硬盤上,而是分成數據塊保存在不同驅動器上。因爲將數據分佈在不同驅動器上,所以數據吞吐率大大提高,驅動器的負載也比較平衡。如果剛好所需要的數據在不同的驅動器上效率最好。它不需要計算校驗碼,實現容易。它的缺點是它沒有數據差錯控制,如果一個驅動器中的數據發生錯誤,即使其它盤上的數據正確也無濟於事了。不應該將它用於對數據穩定性要求高的場合。如果用戶進行圖象(包括動畫)編輯和其它要求傳輸比較大的場合使用RAID 0比較合適。同時,RAID可以提高數據傳輸速率,比如所需讀取的文件分佈在兩個硬盤上,這兩個硬盤可以同時讀取。那麼原來讀取同樣文件的時間被縮短爲1/2。在所有的級別中,RAID  0的速度是最快的。但是RAID 0沒有冗餘功能的,如果一個磁盤(物理)損壞,則所有的數據都無法使用。
      RAID 1:鏡象結構
      對於使用RAID 1結構的設備來說,RAID控制器必須能夠同時對兩個盤進行讀操作和對兩個鏡象盤進行寫操作。
RAID1
      通過結構圖也可以看到必須有兩個驅動器。因爲是鏡象結構在一組盤出現問題時,可以使用鏡象,提高系統的容錯能力。它比較容易設計和實現。每讀一次盤只能讀出一塊數據,也就是說數據塊傳送速率與單獨的盤的讀取速率相同。因爲RAID 1的校驗十分完備,因此對系統的處理能力有很大的影響,通常的RAID功能由軟件實現,而這樣的實現方法在服務器負載比較重的時候會大大影響服務器效率。當您的系統需要極高的可靠性時,如進行數據統計,那麼使用RAID 1比較合適。而且RAID 1技術支持“熱替換”,即不斷電的情況下對故障磁盤進行更換,更換完畢只要從鏡像盤上恢復數據即可。當主硬盤損壞時,鏡像硬盤就可以代替主硬盤工作。鏡像硬盤相當於一個備份盤,可想而知,這種硬盤模式的安全性是非常高的,RAID 1的數據安全性在所有的RAID級別上來說是最好的。但是其磁盤的利用率卻只有50%,是所有RAID級別中最低的。
      RAID2:帶海明碼校驗
      從概念上講,RAID 2 同RAID 3類似,兩者都是將數據條塊化分佈於不同的硬盤上, 條塊單位爲位或字節。然而RAID 2使用一定的編碼技術來提供錯誤檢查及恢復。這種編碼技術需要多個磁盤存放檢查及恢復信息,使得RAID 2技術實施更復雜。因此,在商業環境中很少使用。各個磁盤上的數據的各個位,由一個數據不同的位運算得到的海明校驗碼可以保存另一組磁盤上。由於海明碼的特點,它可以在數據發生錯誤的情況下將錯誤校正,以保證輸出的正確。它的數據傳送速率相當高,如果希望達到比較理想的速度,那最好提高保存校驗碼ECC碼的硬盤,對於控制器的設計來說,它又比RAID 3、4或5要簡單。要利用海明碼,必須要付出數據冗餘的代價。輸出數據的速率與驅動器組中速度最慢的相等。
      RAID3:帶奇偶校驗碼的並行傳送RAID
      RAID 3這種校驗碼與RAID 2不同,只能查錯不能糾錯。它訪問數據時一次處理一個帶區,這樣可以提高讀取和寫入速度,它像RAID 0一樣以並行的方式來存放數據,但速度沒有RAID 0快。校驗碼在寫入數據時產生並保存在另一個磁盤上。需要實現時用戶必須要有三個以上的驅動器,寫入速率與讀出速率都很高,因爲校驗位比較少,因此計算時間相對而言比較少。用軟件實現RAID控制將是十分困難的,控制器的實現也不是很容易。它主要用於圖形(包括動畫)等要求吞吐率比較高的場合。不同於RAID 2,RAID 3使用單塊磁盤存放奇偶校驗信息。如果一塊磁盤失效,奇偶盤及其他數據盤可以重新產生數據。如果奇偶盤失效,則不影響數據使用。RAID 3對於大量的連續數據可提供很好的傳輸率,但對於隨機數據,奇偶盤會成爲寫操作的瓶頸。利用單獨的校驗盤來保護數據雖然沒有鏡像的安全性高,但是硬盤利用率得到了很大的提高,爲(N-1)/N。
      RAID 4:帶奇偶校驗碼的獨立磁盤結構
      RAID 4和RAID 3很像,不同的是,它對數據的訪問是按數據塊進行的,也就是按磁盤進行的,每次是一個盤。在圖上可以這麼看,RAID 3是一次一橫條,而RAID 4一次一豎條。它的特點的RAID 3也類似,不過在失敗恢復時,它的難度可要比RAID 3大得多了,控制器的設計難度也要大許多,而且訪問數據的效率不怎麼好。
      RAID 5:分佈式奇偶校驗的獨立磁盤結構
      從下面示意圖上可以看到,它的奇偶校驗碼存在於所有磁盤上。RAID5的讀出效率很高,寫入效率一般,塊式的集體訪問效率不錯。因爲奇偶校驗碼在不同的磁盤上,所以提高了可靠性,允許單個磁盤出錯。RAID 5也是以數據的校驗位來保證數據的安全,但它不是以單獨硬盤來存放數據的校驗位,而是將數據段的校驗位交互存放於各個硬盤上。RAID這樣,任何一個硬盤損壞,都可以根據其它硬盤上的校驗位來重建損壞的數據。但是它對數據傳輸的並行性解決不好,而且控制器的設計也相當困難。RAID 3 與RAID 5相比,重要的區別在於RAID 3每進行一次數據傳輸,需涉及到所有的陣列盤。而對於RAID 5來說,大部分數據傳輸只對一塊磁盤操作,可進行並行操作。在RAID 5中有“寫損失”,即每一次寫操作,將產生四個實際的讀/寫操作,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息。RAID 5的話,優點是提供了冗餘性(支持一塊盤掉線後仍然正常運行),磁盤空間利用率較高,爲(N-1)/N,讀寫速度較快(N-1倍)。但當掉盤之後,運行效率大幅下降。 
      RAID 5最大的好處是在一塊盤掉線的情況下,RAID照常工作,相對於RAID 0必須每一塊盤都正常纔可以正常工作的狀況容錯性能好多了。因此RAID 5是RAID級別中最常見的一個類型。RAID 5校驗位即P位是通過其它條帶數據做異或求得的。計算公式爲P=D0 xor D1 xor D2…xor Dn,其中P代表校驗塊,Dn代表相應的數據塊,xor是數學運算符號異或。RAID
      RAID 6:帶有兩種分佈存儲的奇偶校驗碼的獨立磁盤結構
      RAID 6是對RAID 5的擴展,主要是用於要求數據絕對不能出錯的場合。由於引入了第二種奇偶校驗值,所以需要N+2個磁盤,同時對控制器的設計變得十分複雜,寫入速度也不好,用於計算奇偶校驗值和驗證數據正確性所花費的時間比較多,造成了不必須的負載。造價也十分昂貴。
     RAID 7:優化的高速數據傳送磁盤結構
      RAID 7所有的I/O傳送均是同步進行的,可以分別控制,這樣提高了系統的並行性,提高系統訪問數據的速度;每個磁盤都帶有高速緩衝存儲器,實時操作系統可以使用任何實時操作芯片,達到不同實時系統的需要。允許使用SNMP協議進行管理和監視,可以對校驗區指定獨立的傳送信道以提高效率。可以連接多臺主機,因爲加入高速緩衝存儲器,當多用戶訪問系統時,訪問時間幾乎接近於0。由於採用並行結構,因此數據訪問效率大大提高。需要注意的是它引入了一個高速緩衝存儲器,這有利有弊,因爲一旦系統斷電,在高速緩衝存儲器內的數據就會全部丟失,因此需要和UPS一起工作。價格也非常昂貴。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章