服務器硬盤RAID技術解析

RAID可以充分發揮出多塊硬盤的優勢,可以提升硬盤速度,增大容量,提供容錯功能夠確保數據安全性,易於治理的優點,在任何一塊硬盤出現問題的情況下都可以繼續工作,不會受到損壞硬盤的影響。下面一起來學習一下硬盤RAID技術吧!

服務器硬盤RAID技術解析

  一、Raid定義

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

  二、RAID的幾種工作模式

1、RAID0

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

(1)、RAID 0最簡單方式

就是把x塊同樣的硬盤用硬件的形式通過智能磁盤控制器或用操作系統中的磁盤驅動程序以軟件的方式串聯在一起,形成一個獨立的邏輯驅動器,容量是單獨硬盤的x倍,在電腦數據寫時被依次寫入到各磁盤中,當一塊磁盤的空間用盡時,數據就會被自動寫入到下一塊磁盤中,它的好處是可以增加磁盤的容量。速度與其中任何一塊磁盤的速度相同,假如其中的任何一塊磁盤出現故障,整個系統將會受到破壞,可靠性是單獨使用一塊硬盤的1/n。

(2)、RAID 0的另一方式

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

2、RAID 1

RAID 1稱爲磁盤鏡像:把一個磁盤的數據鏡像到另一個磁盤上,在不影響性能情況下最大限度的保證系統的可靠性和可修復性上,具有很高的數據冗餘能力,但磁盤利用率爲50%,故成本最高,多用在保存要害性的重要數據的場合。RAID 1有以下特點:

(1)、RAID 1的每一個磁盤都具有一個對應的鏡像盤,任何時候數據都同步鏡像,系統可以從一組鏡像盤中的任何一個磁盤讀取數據。

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

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

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

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

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

3、RAID0 1

把RAID0和RAID1技術結合起來,數據除分佈在多個盤上外,每個盤都有其物理鏡像盤,提供全冗餘能力,答應一個以下磁盤故障,而不影響數據可用性,並具有快速讀/寫能力。RAID0 1要在磁盤鏡像中建立帶區集至少4個硬盤。 4、RAID2

電腦在寫入數據時在一個磁盤上保存數據的各個位,同時把一個數據不同的位運算得到的海明校驗碼保存另一組磁盤上,由於海明碼可以在數據發生錯誤的情況下將錯誤校正,以保證輸出的正確。但海明碼使用數據冗餘技術,使得輸出數據的速率取決於驅動器組中速度最慢的磁盤。RAID2控制器的設計簡單。

5、RAID3:帶奇偶校驗碼的並行傳送

RAID 3使用一個專門的磁盤存放所有的校驗數據,而在剩餘的磁盤中創建帶區集分散數據的讀寫操作。當一個完好的RAID 3系統中讀取數據,只需要在數據存儲盤中找到相應的數據塊進行讀取操作即可。但當向RAID 3寫入數據時,必須計算與該數據塊同處一個帶區的所有數據塊的校驗值,並將新值重新寫入到校驗塊中,這樣無形雖增加系統開銷。當一塊磁盤失效時,該磁盤上的所有數據塊必須使用校驗信息重新建立,假如所要讀取的數據塊正好位於已經損壞的磁盤,則必須同時讀取同一帶區中的所有其它數據塊,並根據校驗值重建丟失的數據,這使系統減慢。當更換了損壞的磁盤後,系統必須一個數據塊一個數據塊的重建壞盤中的數據,整個系統的性能會受到嚴重的影響。RAID 3最大不足是校驗盤很輕易成爲整個系統的瓶頸,對於經常大量寫入操作的應用會導致整個RAID系統性能的下降。RAID 3適合用於數據庫和WEB服務器等。

6、RAID4

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

7、RAID5

RAID 5把校驗塊分散到所有的數據盤中。RAID 5使用了一種非凡的算法,可以計算出任何一個帶區校驗塊的存放位置。這樣就可以確保任何對校驗塊進行的讀寫操作都會在所有的RAID磁盤中進行均衡,從而消除了產生瓶頸的可能。RAID5的讀出效率很高,寫入效率一般,塊式的集體訪問效率不錯。RAID 5提高了系統可靠性,但對數據傳輸的並行性解決不好,而且控制器的設計也相當困難。

8、RAID6

RAID6即帶有兩種分佈存儲的奇偶校驗碼的獨立磁盤結構,它是對RAID5的擴展,主要是用於要求數據絕對不能出錯的場合,使用了二種奇偶校驗值,所以需要N 2個磁盤,同時對控制器的設計變得十分複雜,寫入速度也不好,用於計算奇偶校驗值和驗證數據正確性所花費的時間比較多,造成了不必須的負載,很少人用。

9、RAID7

RAID7即優化的高速數據傳送磁盤結構,它所有的I/O傳送均是同步進行的,可以分別控制,這樣提高了系統的並行性和系統訪問數據的速度;每個磁盤都帶有高速緩衝存儲器,實時操作系統可以使用任何實時操作芯片,達到不同實時系統的需要。答應使用SNMP協議進行治理和監視,可以對校驗區指定獨立的傳送信道以提高效率。可以連接多臺主機,當多用戶訪問系統時,訪問時間幾乎接近於0。但假如系統斷電,在高速緩衝存儲器內的數據就會全部丟失,因此需要和UPS一起工作,RAID7系統成本很高。

10、RAID 2.0

RAID 2.0(獨立磁盤冗餘數組2.0, Redundant Array of Independent Disks Version 2.0),爲增強型RAID技術,有效解決了機械硬盤容量越來越大,重構一塊機械硬盤所需時間越來越長,傳統RAID組重構窗口越來越大而導致重構期間又故障一塊硬盤而徹底丟失數據風險的問題。其基本思想就是把大容量機械硬盤先按照固定的容量切割成多個更小的分塊(Chunk,通常爲64MB),RAID組建立在這些小分塊上,而不是某些硬盤上,我們稱爲分塊組(Chunk Group)。此時硬盤間不再組成傳統的RAID關係,而是組成更大硬盤數量的硬盤組(通常包含96塊盤),每個硬盤上不同的分塊可與此硬盤組上不同硬盤上的分塊組成不同RAID類型的分塊組,這樣一個硬盤上的分塊可以屬於多個RAID類型的多個分塊組。以這樣的組織形式,基於RAID2.0技術的存儲系統能夠做到在一塊硬盤故障後,在硬盤組上的所有硬盤上併發進行重構,而不再是傳統RAID的單個熱備盤上進行重構,從而大大降低重構時間,減少重構窗口擴大導致的數據丟失風險,在硬盤容量大幅增加的同時確保存儲系統的性能和可靠性。RAID2.0並沒有改變傳統的各種RAID類型的算法,而是把RAID範圍縮小到分塊組上。