RAID為廉價磁盤冗余陣列(Redundant Array of Inexpensive Disks),RAID技術將一個個單獨的磁盤以不同的組合方式形成一個邏輯硬盤,從而提高了磁盤讀取的性能和數據的安全性。不同的組合方式用RAID級別來標識。
RAID技術經過不斷的發展,現在已擁有了從 RAID 0 到 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。
RAID0
RAID0也稱為條帶化(stripe),將數據分成一定的大小順序的寫道陣列的磁盤裡,RAID0可以並行的執行讀寫操作,可以充分利用總線的帶寬,理論上講,一個由N個磁盤組成的RAID0系統,它的讀寫性能將是單個磁盤讀取性能的N倍。
且磁盤空間的存儲效率最大(100%)RAID0有一個明顯的缺點:不提供數據冗余保護,一旦數據損壞,將無法恢復。
RAID1 RAID1成為鏡像(mirror),它將數據完全一致的分別寫到工作磁盤和鏡像磁盤,因此它的磁盤空間利用率為50%,在數據寫入時時間會有影響,但是讀的時候沒有任何影響,RAID0提供了最佳的數據保護,一旦工作磁盤發生故障,系統自動從鏡像磁盤讀取數據,不會影響用戶工作。
RAID5
RAID5與RAID3的機制相似,但是數據校驗的信息被均勻的分散到的陣列的各個磁盤上,這樣就不存在並發寫操作時的校驗盤性能瓶頸。
陣列的磁盤上既有數據,也有數據校驗信息,數據塊和對應的校驗信息會存儲於不同的磁盤上,當一個數據盤損壞時,系統可以根據同一帶區的其他數據塊和對應的校驗信息來重構損壞的數據。 RAID6 RAID 6提供兩級冗余,即陣列中的兩個驅動器失敗時,陣列仍然能夠繼續工作。
一般而言,RAID 6的實現代價最高,因為RAID 6不僅要支持數據的恢復,又要支持校驗的恢復,這使RAID 6控制器比其他級R A I D更復雜和更昂貴。
1. RAID 6的校驗數據
當對每個數據塊執行寫操作時, RAID 6做兩個獨立的校驗計算,因此,它能夠支持兩個磁盤的失敗。為了實現這個思想,目前基本上有兩個已經接受的方法:
? 使用多種算法,如X O R和某種其他的函數。
? 在不同的數據分條或者磁盤上,使用排列的數據。
2. RAID 6的一維冗余 RAID 6的第一種方法是用兩種不同的方法計算校驗數據。實現這個思想最容易的方法 RAID10 RAID10是RAID1和RAID0的結合,也稱為RAID(0+1),先做鏡像然後做條帶化,既提高了系統的讀寫性能,有提供了數據冗余保護,RAID10的磁盤空間利用率和RAID1是一樣的,為50%。RAID10適用於既有大量的數據需要存儲,有對數據安全性有嚴格要求的領域,比如金融,證券等。
RAID01
RAID01也是RAID0和RAID1的結合,但它是對條帶化後的數據進行鏡像。但與RAID10 不同,一個磁盤的丟失等同於整個鏡像條帶的丟失,所以一旦鏡像盤失敗,則存儲系統成為一個RAID-0 系統(即只有條帶化)。RAID01的實際應用非常少。
不同RAID級別對比
在各個raid級別中,使用最廣泛的是raid0,raid1,raid10,raid5 上面所介紹的是百度百科的解釋,下面來談談我對磁盤陣列的理解,可是好處多多的:
(1)提高了存儲容量;
(2)其次,多台磁盤驅動器可並行工作,提高了數據傳輸率;
(3)RAID技術確實提供了比通常的磁盤存儲更高的性能指標、數據完整性和數據可用性;
(4)尤其是在當今面臨的I/O總是滯後於CPU性能的瓶頸問題越來越突出的情況下,RAID解決方案能夠有效地彌補這個缺口。
Debian軟RAID安裝筆記 - 使用mdadm安裝RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm
常用RAID技術介紹以及示例演示(多圖) http://www.linuxidc.com/Linux/2013-03/81481.htm
Linux實現最常用的磁盤陣列-- RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htm
RAID0+1和RAID5的性能測試結果 http://www.linuxidc.com/Linux/2012-07/65567.htm
RAID 1的實現
說的理論再多沒有實踐也是不行的,今天我們要制作一個軟件級別的RAID1類型的磁盤陣列。
(1)因為要體現磁盤之間工作的並發性,我們首先要制作出幾個磁盤,注意最關鍵的是這幾個磁盤的大小一定要一樣,因為他們的業務邏輯是相同的,只有在大小相同的情況下才能讓業務邏輯進行完整的遷移。
制作准備用於構建RAID的設備
我們先制作一個設備(200M大小),然後把該設備的系統ID更改為fd(代表著這個是磁盤陣列).
然後我們以相同的方法再制作兩個磁盤陣列設備
退出保存後,使用partx命令進行一系列的操作
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-07/104444p2.htm