主流RAID簡介

1、      RAID概述

RAID技術是由美國加州大學伯克利分校D.A. Patterson教授在1988年提出的,做爲高性能、高可靠的存儲技術,在今天已經獲得了普遍的應用。數據庫

RAID是Redundant Array of Inexpensive Disks(中文直譯爲廉價磁盤冗餘陣列)的縮寫,是將一系列單獨的磁盤以不一樣的方式組合起來,爲一個應用主機或主機集羣提供一個邏輯上的磁盤。使用RAID的好處是可以擴大磁盤容量、提升磁盤讀取的性能和數據的安全性。緩存

2、      RAID的級別

RAID技術通過不斷的發展,如今已擁有了從RAID-0到RAID-5的6種明確標準級別的RAID級別。另外,其餘還有RAID-六、RAID-七、RAID-10(RAID-1與RAID-0的組合)、RAID-01(RAID-0與RAID-1的組合)、RAID-30(RAID3與RAID-0的組合)、RAID-50(RAID-5與RAID-0的組合)等。安全

不一樣RAID級別表明着不一樣的存儲性能、數據安全性和存儲成本,下面咱們將重點介紹下ZLHIS服務器部署中最常使用的RAID級別:RAID-0、RAID-一、RAID-5 、RAID-10。服務器

l  RAID-0

RAID-0全稱叫作Striped  Disk  Array without  Fault  Tolerance(沒有容錯設計的條帶磁盤陣列),從圖中能夠看出,RAID-0在存儲數據時由RAID控制器(硬件或軟件)分割成大小相同的數據條,同時寫入陣列中的磁盤。若是發揮一下想象力,你會以爲數據像一條帶子橫跨過全部的陣列磁盤,每一個磁盤上的條帶深度則是同樣的。至於每一個條帶的深度則要看所採用的RAID 類型,在NT系統的軟RAID-0等級中,每一個條帶深度只有64KB一種選項,而在硬RAID-0等級,能夠提供八、1六、3二、64以及128KB等多種深度參數。Striped是RAID的一種典型方式,在不少RAID術語解釋中,都把Striped  指向RAID-0。在讀取時,也是順序從陣列磁盤中讀取後再由RAID控制器進行組合再傳送給系統,這也是RAID 的一個最重要的特色。併發

 

這樣,數據就等於並行的寫入和讀取,從而很是有助於提升存儲系統的性能。對於兩個硬盤的RAID-0系統,提升一倍的讀寫性能可能有些誇張,畢竟也要考慮到同時增長的數據分割與組合等與RAID相關的操做處理時間,但比單個硬盤提升80%的性能是徹底能夠的。性能

不過,RAID-0還不能算是真正的RAID,由於它沒有數據冗餘能力。因爲沒有備份或校驗恢復設計,在RAID-0陣列中任何一個硬盤損壞就可致使整個陣列數據的損壞,由於數據都是分佈存儲的。下面總結一下RAID-0的特色:優化

至少須要磁盤數spa

2設計

優勢日誌

缺點

ü  極高的磁盤讀寫效率

ü  沒有校驗所佔用的CPU資源

ü  設計、使用與配置簡單

²  缺少校驗恢復機制而不是真正的RAID

²  沒有數據容錯能力,一(磁盤)毀俱(整個陣列)毀

²  較爲困難的數據重建操做

²  不可能用於任何苛求的環境

適用領域

ü  視頻生成與編輯

ü  圖像編輯

ü  較爲「擁擠」的操做

ü  其餘須要大的傳輸帶寬的操做

l  RAID-1

RAID-1全稱叫Mirroring and Duplexing(相互鏡像)。

RAID-1以鏡像做爲冗餘手段,虛擬磁盤中的數據有多個拷貝,放在成員磁盤上。如圖。

 

RAID-1在寫入數據時,RAID控制器並非將數據分紅條帶而是將數據同時寫入兩個硬盤。這樣,其中任何一個硬盤的數據出現問題,能夠立刻從另外一個硬盤中進行恢復。注意,這兩個硬盤並非主從關係,而是相互鏡像/恢復的。

RAID-1已經能夠算是一種真正的RAID系統,它提供了強有力的數據容錯能力,但這是由一個硬盤的閒置的代價所帶來的效果,而這個硬盤並不能增長整個陣列的有效容量。下面總結一下RAID-1 的特色:

至少須要磁盤數

2

優勢

缺點

ü  理論上兩倍的讀取效率

ü  100%的數據冗餘功能

ü  設計、使用與配置較爲簡單

²  錯誤校驗效率低下,磁盤校驗過程當中CPU佔用率是全部RAID等級中最高的

²  在軟RAID-1中效能降低嚴重,強烈推薦硬RAID-1方式

²  在軟RAID-1方式中不多能支持磁盤的熱插拔

適用領域

ü  財務統計與數據庫

ü  金融系統

ü  其餘須要高度數據可維護性的操做

l  RAID-5

RAID-5的機制是數據校驗的信息被均勻的分散到的陣列的各個磁盤上,這樣就不存在併發寫操做時的校驗盤性能瓶頸。陣列的磁盤上既有數據,也有數據校驗信息,數據塊和對應的校驗信息會存儲於不一樣的磁盤上,當一個數據盤損壞時,系統能夠根據同一帶區的其餘數據塊和對應的校驗信息來重構損壞的數據。

 

RAID-5能夠理解爲是RAID-0和RAID-1的折衷方案。RAID-5能夠爲系統提供數據安全保障,但保障程度要比RAID-1低而磁盤空間利用率要比RAID-1高。RAID-5具備和RAID-0相近似的數據讀取速度,只是多了一個奇偶校驗信息,寫入數據的速度比對單個磁盤進行寫入操做稍慢。同時因爲多個數據對應一個奇偶校驗信息,RAID-5的磁盤空間利用率要比RAID-1高,存儲成本相對較低。

RAID-5在數據盤損壞時的狀況和RAID 3類似,因爲須要重構數據,性能會受到影響。

下面總結一下RAID-5的特色:

至少須要磁盤數

3

優勢

缺點

ü  高讀取速率

ü  中等寫速率

²  磁盤損壞會影響系統的吞吐量

²  控制器設計複雜

²  磁盤損壞後,重建很複雜

適用領域

ü  適合文件服務器和應用服務器

ü  OLTP環境的數據庫

 

l  RAID-10

RAID-10也是RAID-1和RAID-0的結合,也稱爲RAID(0+1),條帶化後爲每個條帶提供鏡像,既提升了系統的讀寫性能,有提供了數據冗餘保護,RAID-10的磁盤空間利用率和RAID-1是同樣的,爲50%。RAID-10適用於既有大量的數據須要存儲,有對數據安全性有嚴格要求的領域,好比金融,證券等。

 

下面總結一下RAID-10的特色:

至少須要磁盤數

3

優勢

缺點

ü  高讀取速率

ü  中等寫速率

²  磁盤損壞會影響系統的吞吐量

²  控制器設計複雜

²  磁盤損壞後,重建很複雜

適用領域

ü  適合文件服務器和應用服務器

ü  OLTP環境的數據庫

 

3、      RAID之間的區別

在各個RAID級別中,使用最普遍的是RAID-0,RAID-1,RAID-5,RAID-10,以下是從容量、冗餘性以及性能方面對這幾種典型RAID類型進行比較。

RAID-0,將數據分紅條帶順序寫入一組磁盤中。RAID-0不提供冗餘功能,可是它卻提供了卓越的吞吐性能,由於讀寫數據是在一組磁盤中的每一個磁盤上同時處理的,吞吐性能遠遠超過單個磁盤的讀寫。

RAID-1,每次寫操做都將分別寫兩份到數據盤和校驗盤上,每對數據盤和校驗盤成爲鏡像磁盤組。也可以使用併發的方式來讀數據時,提升吞吐性能。若是鏡像磁盤組中某個磁盤出錯,則數據能夠從另一塊磁盤得到,而不會影響系統的性能,而後,使用一塊備用磁盤將健康磁盤中的數據複製出來而後這兩塊磁盤又組成新的鏡像組。

RAID-10,即RAID-1 與RAID-0 的結合,既作鏡像又作條帶化,數據先鏡像再作條帶化。這樣數據存儲既保證了可靠性,又極大地提升了吞吐性能。

RAID-5 是將數據校驗循環分散到各個磁盤中,它像RAID-0同樣將數據條帶化分散寫到一組磁盤中,但同時它生成校驗數據做爲冗餘和容錯使用。校驗磁盤包含了全部條帶的數據的校驗信息。RAID-5將校驗信息輪流地寫入條帶磁盤組的各個磁盤中,即每一個磁盤上既有數據信息又同時有校驗信息,RAID-5 的性能得益於數據的條帶化,可是某個磁盤的失敗卻將引發整個系統的降低,這是由於系統將在承擔讀寫任務的同時,從新構建和計算出失敗磁盤上的數據,此時要使用備用磁盤對失敗磁盤的數據重建恢復整個系統的健康。

從ZLHIS應用來說,要求存儲系統具備良好的IO性能同時也要求對數據安全作好保護工做,因此我應該重點關注冗餘安全性相對較高的RAID-10和RAID-5。

l  IO的性能

讀操做上RAID10和RAID5是至關的,RAID-5在一些很小數據的寫操做(如比每一個條帶還小的小數據)須要2個讀、2個寫,還有2個XOR 操做,對於單個用戶的寫操做,在新數據應用以前必須將老的數據從校驗盤中移除,整個的執行過程是這樣:讀出舊數據,舊數據與新數據作XOR,並建立一個即時的值,讀出舊數據的校驗信息,將即時值與校驗數據進行XOR,最後寫下新的校驗信息。爲了減小對系統的影響,大多數的RAID5  都讀出並將整個條帶(包括校驗條帶)寫入緩存,執行2個XOR 操做,而後發出並行寫操做(一般對整個條帶),即使了進行了上述優化,系統仍然須要爲這種寫操做進行額外的讀和XOR操做。小量寫操做困難使得RAID-5  技術不多應用於密集寫操做的場合,如回滾字段及重作日誌。固然,也能夠將存儲系統的條帶大小定義爲常常讀寫動做的數據大小,使之匹配,但這樣會限制系統的靈活性,也不適用於企業中其它的應用。

對於RAID10,因爲不存在數據校驗,每次寫操做只是單純的執行寫操做。所以在寫性能上RAID10要好於RAID5。

l  數據安全保護

RAID10系統在已有一塊磁盤失效的狀況下,只有出現該失效磁盤的對應鏡像盤也失效,纔會致使數據丟失。其餘的磁盤失效不會出現數據丟失狀況。

RAID5系統在已有一塊磁盤失效的狀況下,只要再出現任意的一塊磁盤失效,都將致使數據丟失。

從綜合來看,RAID10和RAID5系統在出現一塊磁盤失效後,進行數據重構時,RAID5需耗費的時間要比RAID10長,同時重構期間系統負荷上RAID5要比RAID10高,同時RAID5出現數據丟失的可能性要比RAID10高,所以,數據重構期間,RAID5系統的可靠性遠比RAID10來的低。

RAID5在磁盤空間率用率上比RAID10高,RAID5的空間利用率是(N-1)/ N      (N爲陣列的磁盤數目),而RAID10的磁盤空間利用率僅爲50%。

可是結合磁盤來考慮,今天的硬盤廠商所生產的ATA或SATA硬盤的質量已經能夠承擔企業級的應用,而且,容量的增長幅度至關大,目前已經能夠實現單個磁盤400G的存儲容量。SCSI硬盤因爲要求高轉速而使用小直徑盤片,容量的增長相對緩慢。ATA磁盤相對SCSI磁盤擁有成本也要小不少。

應此,在採用價格昂貴的FC或SCSI硬盤的存儲系統中,對於預算有限同時數據安全性要求不高的場合能夠採用RAID5方式來折中;其餘應用中採用大容量的ATA或SATA硬盤結合RAID10,既下降了RAID10的爲得到必定的存儲空間必須採用雙倍磁盤空間的擁有成本,又避免了RAID5相對RAID10的各類缺點。

RAID級別

有效容量

順序讀寫性能

隨機讀寫性能

直接磁盤

n

6

6

4

4

RAID-0

n

10

10

10

10

RAID-1

n/2

7

5

6

3

RAID-5

n-1

7

7

7

4

RAID-10

n/2

10

9

7

6

相關文章
相關標籤/搜索