RAID磁盤陣列的原理

RAID磁盤陣列的原理


RAID概念

RAID(Redundant Array of Independent Disks,獨立磁盤冗餘陣列)可以提供較普通磁盤更高的速度、安全性,所以服務器在安裝時都會選擇創建RAID。

RAID的創建有兩種方式:軟RAID(通過操作系統軟件來實現)和硬RAID(使用硬件陣列卡);在企業中用的最多的是:raid1、raid10和raid5。不過隨着雲的高速發展,供應商一般可以把硬件問題解決掉。


RAID幾種常見的類型



註釋:

n:是磁盤個數   默認最好不要超過16個 硬盤大小最好都一樣

RAID類型說 明 最低磁盤個數空間利用率各自的優缺點
RAID0數據條帶化2+100%讀寫速度快,不容錯(比如兩塊盤分別大小爲1T,兩塊盤都做raid0,讀寫速度是最快的,而且可以使用100%的磁盤空間,但是如果一塊盤壞掉了數據是無法還原回來的。)
RAID1數據鏡像化250%讀寫速度一般,容錯   (比如兩塊盤分別大小爲1T,兩塊盤都做raid1,讀寫速度肯定沒有raid0讀寫快,使用率也沒有raid0好,優點就是可以容錯,相當於一塊盤壞掉了還可以把原來的數據恢復回來,但是隻有1T的存儲空間。)
RAID5帶奇偶校驗的條帶集3+(n-1)/n讀寫速度快,容錯,允許壞一塊盤
RAID6帶奇偶校驗的條帶集,雙校驗4+(n-2)/n讀寫快,容錯,允許壞兩塊盤
RAID10RAID1的安全+RAID0的高速4 50%讀寫速度快,容錯
RAID50RAID5的安全+RAID0的高速6(n-2)/n讀寫速度快,容錯
RAID60RAID5的安全+RAID0的高速8(n-4)/n讀寫速度快,容錯


 RAID出現的原因

 

RAID基本思想:把好幾塊便宜的硬盤通過一定組合方式把它組合起來,成爲一個新的硬盤陣列組,從而使它能夠達到高性能硬盤的要求


RAID有三個關鍵技術:

鏡像:提供了數據的安全性;

條帶(塊大小也可以說是條帶的粒度),它的存在的就是爲了提高I/O,提供了數據併發性

數據的校驗:提供了數據的安全



容量   ————————》  性能  --------》 可靠性 ——————————》     RAID




企業級RAID 0, 1,5,10的工作原理




2.1 RAID-0

 

條帶 (strping),也是我們最早出現的RAID模式

需磁盤數量:2塊以上(大小最好相同)

是組建磁盤陣列中最簡單的一種形式,只需要2塊以上的硬盤即可.


特點:

成本低,可以提高整個磁盤的性能和吞吐量。

RAID 0沒有提供冗餘或錯誤修復能力,速度快.

任何一個磁盤的損壞將損壞全部數據;磁盤利用率爲100%。



RAID0工作原理



註釋:

A:代表20G文件    B:代表20G文件C:代表20G文件     D:代表20G文件


寫入數據:



用戶導入服務器100G大小的文件等,將50G數據寫入到第一塊硬盤上面,同時在把另外50G的數據寫到另一塊硬盤上,這100G文件又分成A,B,C,D  將A 寫入第一塊硬盤上,將B寫到第二塊硬盤上,將C寫到第一塊硬盤上,將D寫到第二塊硬盤上,這個就是數據的條帶,並行傳輸到硬盤上


讀取數據:

將上傳上去的100G文件複製到別的服務器上,讀取的時候也是先從第一塊讀取數據A,然後再從第二塊硬盤上讀取B,然後再從第一塊硬盤讀取C數據,然後再從第二塊硬盤讀取數據D,但是如果有一塊硬盤有損壞會導致數據不全。




RAID-1

mirroring(鏡像卷)

需要磁盤兩塊以上

原理:是把一個磁盤的數據鏡像到另一個磁盤上,也就是說數據在寫入一塊磁盤的同時,會在另一塊閒置的磁盤上生成鏡像文件,(同步)

RAID 1 mirroring(鏡像卷),至少需要兩塊硬盤,raid大小等於兩個raid分區中最小的容量(最好將分區大小分爲一樣),數據有冗餘,在存儲時同時寫入兩塊硬盤,實現了數據備份;

磁盤利用率爲50%,即2塊100G的磁盤構成RAID1只能提供100G的可用空間。如下圖




RAID1工作原理:


註釋:


A:代表50G文件  B:代表50G文件 


寫入數據:

用戶導入服務器100G大小的文件等,將A,B寫到第一塊硬盤,同時將A,B寫到另一塊硬盤上,進行鏡像操作(備份)


讀取數據:

將上傳上去的100G文件複製到別的服務器上,直接讀取一塊盤的數據即可,而且如果有一塊盤壞掉的話另一塊數據還是可以進行正常讀寫等。




RAID-5


需要三塊或以上硬盤,可以提供熱備盤實現故障的恢復;只損壞一塊,沒有問題。但如果同時損壞兩塊磁盤,則數據將都會損壞。 空間利用率: (n-1)/n   2/3  如下圖所示



RAID 5原理 


寫入數據:


100G文件分別寫入3塊硬盤,寫入第一塊硬盤時,會有一個校驗值,然後將A數據寫入第二塊硬盤,將B數據寫入第三塊硬盤,將C數據寫入第一塊硬盤,第二塊硬盤生成校驗值,將數據D寫入第三塊硬盤以此類推。

校驗值的作用可以推算出第三塊盤的數據,不論哪一塊盤,但是如果壞掉兩塊盤那就恢復不了了。



奇偶校驗信息的作用:

當RAID5的一個磁盤數據發生損壞後,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。

擴展異或運算:


是用相對簡單的異或邏輯運算(相同爲0,相異爲1)


A值B值Xor結果

000

101

011

110


 RAID10

鏡像+條帶

RAID 10是將鏡像和條帶進行兩級組合的RAID級別,第一級是RAID1鏡像對,第二級爲RAID 0。RAID10也是一種應用比較廣泛的RAID級別。 

RAID 1+0的特點使其特別適用於既有大量數據需要存取,同時又對數據安全性要求嚴格的領域,如銀行、金融、商業超市、倉儲庫房、各種檔案管理等。



一共8塊硬盤做RAID 10


是從下往上看的,最後面試raid1,上面是raid0所以就是raid10 


不同的數據分別用字母代替:A,B,C,D,E,F,G,H


wKioL1lZBU3AhQJFAAQDOvcwFkQ845.png






首先4塊做raid0  後4塊做raid1,用戶寫入數據到服務器上,首先經過4塊raid0,A數據寫到raid0的第一塊硬盤上,B數據寫到raid0的第二塊硬盤上,C數據寫到raid0的第三塊硬盤上,D數據寫到raid0的第四塊硬盤上以此類推

然後將這4塊raid0硬盤和4塊raid1做鏡像(同步)如果其中一塊raid0硬盤壞掉同時做同步的raid1並頂替上即可。

RAID的選擇

wKioL1lZBU3z6430AACh5N6B7pI974.png

 RAID硬盤失效處理

一般兩種處理方法:熱備和熱插拔

熱備:HotSpare

定義:當冗餘的RAID組中某個硬盤失效時,在不干擾當前RAID系統的正常使用的情況下,用RAID系統中另外一個正常的備用硬盤自動頂替失效硬盤,及時保證RAID系統的冗餘性

全局式:備用硬盤爲系統中所有的冗餘RAID組共享

專用式:備用硬盤爲系統中某一組冗餘RAID組專用

如下圖所示:是一個全局熱備的示例,該熱備盤由系統中兩個RAID組共享,可自動頂替任何一個RAID中的一個失效硬盤

 

wKiom1lZBU7zkicwAAC34bVs-lI889.png

熱插拔:HotSwap

定義:在不影響系統正常運轉的情況下,用正常的物理硬盤替換RAID系統中失效硬盤

關鍵在於熱插拔時電子器件的保護機制

RAID的使用

RAID的實現方式

我們使用RAID,是在裝系統前還是之後?

硬RAID:需要RAID卡,我們的磁盤是接在RAID卡的,由它統一管理和控制。數據也由它來進行分配和維護;它有自己的cpu,處理速度快

wKioL1lZBU6xDXQWAABEPEuT1tM687.jpg

操作視頻鏈接:鏈接:http://pan.baidu.com/s/1kVPyror 密碼:bd82

軟RAID:通過操作系統實現

管理軟raid工具:mdadm,mdadm是linux下用於創建和管理軟件RAID的命令,是一個模式化命令。


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