儲存基礎知識-RAID技術


RAID為廉價磁碟冗餘陣列(Redundant Array of Inexpensive Disks),RAID技術將一個個單獨的磁碟以不同的組合方式形成一個邏輯硬碟,從而提高了磁碟讀取的效能和資料的安全性。不同的組合方式用RAID級 別來識別。 RAID技術是由美國加州大學柏克萊分校D.A. Patterson教授在1988年提出的,作為高性能、高可靠的儲存技術,在今天已經得到了廣泛的應用。

RAID等級

RAID技術經過不斷的發展,現在已擁有了從RAID0到5等6種明確標準等級的RAID等級。另外,其他還有6、7、10(RAID 1與RAID 0的組合)、01(RAID 0與RAID 1的組合)、30(RAID 3與RAID 0的組合)、50(RAID 0與RAID 5的組合)等。不同RAID 等級代表著不同的儲存效能、資料安全性和儲存成本,以下將介紹如下RAID等級:0、1、2、3、4、5、6、01、10。

1、RAID0

RAID0也稱為條帶化(stripe),將資料分成一定的大小順序的寫入陣列的磁碟裡,RAID0可以並行的執行讀寫操作,可以充分利用匯流排的頻寬,理論上講,一個由N個磁碟組成的RAID0系統,它的讀寫效能將是單一磁碟讀取效能的N倍。且磁碟空間的儲存效率最大(100%)RAID0有一個明顯的缺 點:不提供資料冗餘保護,一旦資料損壞,將無法復原。

RAID0應用於對讀取效能要求較高但所儲存的資料為非重要資料的情況下。

2、RAID1

RAID1成為鏡像(mirror),它將資料完全一致的分別寫到工作磁碟和鏡像磁碟,因此它的磁碟空間利用率為50%,在資料寫入時時間會有影響,但是讀取的時候沒有任何影響,RAID0提供了最佳的資料保護,一旦工作磁碟發生故障,系統自動從映像磁碟讀取資料,就不會影響使用者工作磁碟。
RAID1應用於對資料保護極為重視的應用。

3、RAID2

RAID2稱為糾錯海明碼磁碟陣列,陣列中序號為2N的磁碟(第1、2、4、6…)作為校驗盤,其餘的磁碟用於存放數據,磁碟數目越多,校驗盤所佔比率越少。 RAID2在大數據儲存額情況下效能很高,RAID2的實際應用很少。

4、RAID3

RAID3採用一個硬碟作為校驗盤,其餘磁碟作為資料盤,資料以位元或位元組的方式交叉的存取到各個資料盤中。不同磁碟上同一帶區的資料做異或校驗,並把校驗值寫入到校驗盤中。 RAID3系統在完整的情況下讀取時沒有任何效能上的影響,讀取效能與RAID0一致,卻提供了資料容錯能力,但是,在寫入時效能大為下降,因為每一次寫入操作,即使是改動某個資料盤上的一個資料塊,也必須根據所有同一帶區的資料來重新計算校驗值寫入到校驗盤中,一個寫操作包含了寫入資料區塊,讀取同一帶區的資料區塊,計算校驗值,寫入校驗值等操作,系統開銷大為增加。

當RAID3中有數據盤出現損壞,不會影響用戶讀取數據,如果讀取的數據塊正好在損壞的磁碟上,則系統需要讀取所有同一帶區的數據塊,然後根據校驗值重新構建數據,系統性能受到影響。

RAID3的校驗盤在系統接受大量的寫入操作時容易形成效能瓶頸,因而適用於有大量讀取操作如web系統以及資訊查詢等應用或持續大塊資料流(例如非線性編輯)的應用。

5、RAID4

RAID4與RAID3基本一致,差別在於條帶化的方式不一樣,RAID4按照塊的方式存放數據,所以在寫操作時只涉及兩塊磁盤,數據盤和校驗盤,提高了系統的IO性能。但面對隨機的分散的寫入操作,單一的校驗盤往往成為效能瓶頸。

6、RAID5

RAID5與RAID3的機制相似,但是資料校驗的資訊被均勻的分散到的陣列的各個磁碟上,這樣就不存在並發寫入操作時的校驗盤效能瓶頸。陣列的磁碟上既有數據,也有數據校驗信息,數據塊和對應的校驗信息會存儲在不同的磁碟上,當一個數據盤損壞時,系統可以根據同一帶區的其他數據塊和對應的校驗信息來重構損 壞的數據。

RAID 5可以理解為是RAID 0和RAID 1的折衷方案。 RAID 5可以為系統提供資料安全保障,但保障程度要比RAID1低而磁碟空間利用率比RAID1高。 RAID5具有和RAID0相近似的資料讀取速度,只是多了一個奇偶校驗訊息,寫入資料的速度比對單一磁碟進行寫入操作稍慢。同時由於多個資料對應一個奇偶校驗訊息,RAID 5的磁碟空間利用率要比RAID 1高,儲存成本相對較低。

RAID5在資料盤損壞時的情況和RAID3相似,由於需要重構數據,效能會受到影響。

7、RAID6

RAID6提供兩級冗餘,即陣列中的兩個磁碟機失敗時,陣列仍能繼續運作。一般而言,RAID 6的實現代價最高,因為RAID 6不僅要支援資料的恢復,又要支援校驗的恢復,這使RAID 6控制器比其他級R A I D更複雜和更昂貴。

RAID 6的校驗資料:

當對每個資料塊執行寫入操作時,RAID 6做兩個獨立的校驗計算,因此,它能夠支援兩個磁碟的失敗。為了實現這個思想,目前基本上有兩個已經接受的方法:(1)使用多種演算法,如X O R和某種其他的函數;(2)在不同的資料分條或磁碟上,使用排列的資料。
RAID 6的一維冗餘:

RAID6的第一種方法是用兩種不同的方法計算校驗資料。實現這個想法最容易的方法之一是用兩個校驗磁碟支援資料磁碟,第一個校驗磁碟支援一種校驗演算法,而第二個磁碟支援另一種校驗演算法,使用兩種演算法稱為P+Q校驗。一維冗餘是指使用另一個校驗磁碟,但所包含的分塊資料是相同的。例如,P校驗值可能由XOR函數產生,這樣,Q校驗函數需要是其他的某種操作,一個很有力的侯選者是Reed Solomon誤差修正編碼的變體,這個誤差修正編碼一般用於磁碟和磁帶驅動器。假如兩個磁碟失敗,那麼透過求解帶有兩個變數的方程,可以恢復兩個磁碟上的數據,這是一個代數方法,可以由硬體輔助處理器加速求解。

8、RAID10

RAID10是RAID1和RAID0的結合,也稱為RAID(0+1),先做鏡像然後做條帶化,既提高了系統的讀寫性能,又提供了數據冗餘保護,RAID10的磁碟空間利用率和RAID1是一樣的為50%。 RAID10適用於既有大量的資料需要存儲,又對資料安全性有嚴格要求的領域,例如金融,證券等。

9、RAID01

RAID01也是RAID0和RAID1的結合,但它是對條帶化後的資料進行鏡像。但與RAID10 不同,一個磁碟的遺失等同於整個鏡像條帶的遺失,所以一旦鏡像磁碟失敗,則儲存系統變成一個RAID-0 系統(即只有條帶化)。 RAID01的實際應用非常少。


發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *