RAID(冗餘硬盤陣列)

RAID(冗餘硬盤陣列)

一. RAID定義  

      RAID( Redundant Array of Independent Disk 獨立冗餘磁盤陣列 )技術是加州大學伯克利分校1987年提出,最初是爲了組合小的廉價磁盤來代替大的昂貴磁盤,同時希望磁盤失效時不會使對數據的訪問受損失而開發出一定水平的數據保護技術。RAID就是一種由多塊廉價磁盤構成的冗餘陣列,在操作系統下是作爲一個獨立的大型存儲設備出現。RAID可以充分發揮出多塊硬盤的優勢,可以提升硬盤速度,增大容量,提供容錯功能夠確保數據安全性,易於管理的優點,在任何一塊硬盤出現問題的情況下都可以繼續工作,不會受到損壞硬盤的影響。

二. RAID的幾種工作模式 

1. RAID 0 
  即Data Stripping數據分條技術。RAID 0 可以把多塊硬盤連成一個容量更大的硬盤羣,可以提高磁盤的性能和吞吐量RAID 0 沒有冗餘或錯誤修復能力,成本低,要求至少兩個磁盤,一般只是在那些對數據安全性要求不高的情況下才被使用。 

(1)RAID 0 最簡單方式 
     就是把x塊同樣的硬盤用硬件的形式通過智能磁盤控制器或用操作系統中的磁盤驅動程序以軟件的方式串聯在一起,形成一個獨立的邏輯驅動器,容量是單獨硬盤的x倍,在電腦數據寫時被依次寫入到各磁盤中,當一塊磁盤的空間用盡時,數據就會被自動寫入到下一塊

磁盤中,它的好處是可以增加磁盤的容量。速度與其中任何一塊磁盤的速度相同,如果其中的任何一塊磁盤出現故障,整個系統將會受到破壞,可靠性是單獨使用一塊硬盤的1/n。 

(2)RAID 0 的另一方式——Stripe條帶模式 
     是用n塊硬盤選擇合理的帶區大小創建帶區集,最好是爲每一塊硬盤都配備一個專門的磁盤控制器,在電腦數據讀寫時同時向n塊磁盤讀寫數據,速度提升n倍。提高系統的性能。 

 

2. RAID 1 
   RAID 1 稱爲磁盤鏡像:把一個磁盤的數據鏡像到另一個磁盤上,在不影響性能情況下最大限度的保證系統的可靠性和可修復性上,具有很高的數據冗餘能力,但磁盤利用率爲50%,故成本最高,多用在保存關鍵性的重要數據的場合。RAID 1 有以下特點:   
  (1)RAID 1的每一個磁盤都具有一個對應的鏡像盤,任何時候數據都同步鏡像,系統可以從一組鏡像盤中的任何一個磁盤讀取數據。 

  (2)磁盤所能使用的空間只有磁盤容量總和的一半,系統成本高。 

  (3)只要系統中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數量的硬盤出現問題時系統都可以正常運行。 

  (4)出現硬盤故障的RAID系統不再可靠,應當及時的更換損壞的硬盤,否則剩餘的鏡像盤也出現問題,那麼整個系統就會崩潰。 

  (5)更換新盤後原有數據會需要很長時間同步鏡像,外界對數據的訪問不會受到影響,只是這時整個系統的性能有所下降。 

  (6)RAID 1磁盤控制器的負載相當大,用多個磁盤控制器可以提高數據的安全性和可用性。 

 

3.(1)RAID 0+1

  先做條帶(0),再做鏡像(1)。

  先對數據進行RAID 0條帶化,然後將Stripe後的數據進行備份。

  RAID01幾乎不會在實際環境中應用,因爲RAID0+1和RAID1+0在讀取效率上沒有差異,但是RAID0+1在安全性和可靠性低。

      優點:兼顧了RAID0和RAID1的優點,在可靠性和I/O性能上有保證。只要不是數據盤和對應的鏡像盤同時出現損壞,數據就能保證完整性,寫功能不會受到影響。如果損壞了其中一塊比如HDD0時,讀性能可能會稍微降低(讀取數據時可以並行操作)。

  缺點:從上圖可以看出,需要分出一半的磁盤組作爲Mirror,因此空間利用率只有50%,成本大

(2)RAID 1+0

  先做鏡像(1),再做條帶(0)。

  比如,有HDD0~HDD7共7個磁盤,其中HDD0~HDD3是數據盤,HDD4~HDD7是對應的鏡像盤。同時,有”ABCD”四個數據的磁盤寫請求。

  當數據A的寫請求在磁盤HDD0上執行時,就在對應的鏡像盤HDD4中進行鏡像A’。與此同時,按照與數據A類似的步驟,並行在相應磁盤中寫入數據B、數據C和數據D。

 

4. RAID 2 

      可以認爲是RAID0的改進版,加入了漢明碼(Hanmming Code)錯誤校驗。電腦在寫入數據時在一個磁盤上保存數據的各個位,同時把一個數據不同的位運算得到的海明校驗碼保存另一組校驗磁盤上,使用校驗磁盤作爲錯誤檢查和糾正ECC(Error Correcting Code)

盤。如下圖,A0-A3四個盤是數據盤,Ax-Az三個盤是校驗盤。由於海明碼可以在數據發生錯誤的情況下將錯誤校正,以保證輸出的正確。但海明碼使用數據冗餘技術,使得輸出數據的速率取決於驅動器組中速度最慢的磁盤。RAID 2控制器的設計簡單。 

      RAID2技術過於極端,目前基本已經被淘汰了。根據原理,RAID2需要在IO數據到來之後,控制器將數據按Bit分開,順序並同時在每個數據盤和相應校驗盤中存放1Bit,而磁盤上的IO最小單位是扇區512B,那麼如何確保寫入1Bit並且不至於浪費過多空間的算法就很復

雜。此外,需要佔用相對較多的校驗盤也是原因之一。

 

5. RAID 3帶奇偶校驗碼的並行傳送 

      RAID 2的缺點主要是將數據以bit位作爲單位來分割,將原本物理連續的扇區轉變成了物理不連續、邏輯連續的,這樣導致效率低下。RAID3 就準備從根本上就絕這個問題。

      在一個磁盤陣列中,一般情況下多於一個磁盤出現故障的機率是很小的,所有一般情況下,RAID3的安全性還是有保障的。

  同RAID2一樣,由於需要多磁盤同時聯動,同時還需要校驗。顯然,RAID3不適用於有大量寫操作的情況,因爲這樣會使得校驗盤的負荷較大,降低RAID系統的性能。RAID3 常用於寫操作較少,讀操作較多的應用環境,比如數據庫和WEB服務器。

校驗算法只能判斷數據是否有誤,不能判斷出有那一位有誤,更不能更正錯誤

 

6. RAID 4 
  RAID4即帶奇偶校驗碼的獨立磁盤結構,RAID 4和RAID 3很象,它對數據的訪問是按數據塊進行的,也就是按磁盤進行的,每次是一個盤,RAID 4的特點和RAID 3也挺象,不過在失敗恢復時,它的難度可要比RAID 3大得多了,控制器的設計難度也要大許多,而且訪問

數據的效率不怎麼好。 

 

7. RAID 5 
  RAID 5把校驗塊分散到所有的數據盤中。RAID 5使用了一種特殊的算法,可以計算出任何一個帶區校驗塊的存放位置。這樣就可以確保任何對校驗塊進行的讀寫操作都會在所有的RAID磁盤中進行均衡,從而消除了產生瓶頸的可能。RAID 5的讀出效率很高,寫入效率一

般,塊式的集體訪問效率不錯。RAID 5提高了系統可靠性,但對數據傳輸的並行性解決不好,而且控制器的設計也相當困難。 

 

8. RAID 6 
  RAID 6即帶有兩種分佈存儲的奇偶校驗碼的獨立磁盤結構,它是對RAID 5的擴展,主要是用於要求數據絕對不能出錯的場合,使用了二種奇偶校驗值,所以需要N+2個磁盤,同時對控制器的設計變得十分複雜,寫入速度也不好,用於計算奇偶校驗值和驗證數據正確性

所花費的時間比較多,造成了不必須的負載,很少人用。 

 

9. RAID 7 
  RAID 7即優化的高速數據傳送磁盤結構,它所有的I/O傳送均是同步進行的,可以分別控制,這樣提高了系統的並行性和系統訪問數據的速度;每個磁盤都帶有高速緩衝存儲器,實時操作系統可以使用任何實時操作芯片,達到不同實時系統的需要。允許使用SNMP協議

進行管理和監視,可以對校驗區指定獨立的傳送信道以提高效率。可以連接多臺主機,當多用戶訪問系統時,訪問時間幾乎接近於0。但如果系統斷電,在高速緩衝存儲器內的數據就會全部丟失,因此需要和UPS一起工作,RAID 7系統成本很高。 

 

10. RAID 10 
     RAID 10即高可靠性與高效磁盤結構它是一個帶區結構加一個鏡象結構,可以達到既高效又高速的目的。這種新結構的價格高,可擴充性不好。 

 

三、應用RAID技術  

     要使用磁盤RAID主要有兩種方式,第一種就是RAID適配卡,通過RAID適配卡插入PCI插槽再接上硬盤實現硬盤的RAID功能。第二種方式就是直接在主板上集成RAID控制芯片,讓主板能直接實現磁盤RAID。這種方式成本比專用的RAID適配卡低很多。此外還可以用Windows 2000 /xp 或 linux系統做成軟RAID 。個人使用磁盤RAID主要是用RAID 0、 RAID 1或RAID 0+1工作模式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章