RAID 概念-企業(yè)級 RAID-0-1-5-10 的工作原理
磁盤陣列(Redundant Arrays of Independent Disks,RAID),有“獨立磁盤構(gòu)成的具有冗余
能力的陣列”之意(其中一塊盤壞了,數(shù)據(jù)不丟失)。 磁盤陣列是由很多價格較便宜的磁盤,以硬件 (RAID
卡)或軟件(MDADM)形式組合成一個容量巨大的磁盤組,利用多個磁盤組合在一起,提升
整個磁盤系統(tǒng)效能。利用這項技術(shù),將數(shù)據(jù)切割成許多區(qū)段,分別存放在各個硬盤上。 磁盤陣列還能利 用同位檢查(Parity
Check)的觀念,在陣列中任意一個硬盤故障時,仍可讀出數(shù)據(jù),在數(shù)據(jù)重構(gòu)時,
將數(shù)據(jù)經(jīng)計算后重新置入新硬盤中(也就是壞了一塊盤,拔掉,插入新盤,數(shù)據(jù)還能恢復(fù)到新盤,利用奇 偶校驗) 注:RAID
可以預(yù)防數(shù)據(jù)丟失,但是它并不能完全保證你的數(shù)據(jù)不會丟失,所以大家使用 RAID 的 同時還是注意備份重要的數(shù)據(jù) RAID
的創(chuàng)建有兩種方式:軟 RAID(通過操作系統(tǒng)軟件來實現(xiàn))和硬 RAID(使用硬件陣列卡); 在企業(yè)中用的最多的是:raid1、raid5 和
raid10。不過隨著云的高速發(fā)展,阿里云,騰訊云等供應(yīng)商一 般可以把硬件問題解決掉。(你在用云的時候,會關(guān)注供應(yīng)商底層是用什么 raid 類型嗎)
級 別 -------------說 明-------- 最低磁盤個數(shù)率 -------- 空間利用-------- 各自的優(yōu)缺點
RAID0------------條帶卷--------------2±----------------------100%--------讀寫速度快,不容錯
RAID1------------鏡像卷--------------2-------------------------50%--------寫速度一般,讀速度提升,容錯
RAID5----帶奇偶校驗的條帶卷----3±---------------------(n-1)/n--------讀寫速度快,容錯,允許壞一塊
RAID5–帶奇偶校驗的條帶集,雙校驗----4±---------------------(n-2)/n--------讀寫快,容錯,允許壞兩塊盤
等…
RAID 基本思想:把好幾塊硬盤通過一定組合方式把它組合起來,成為一個新的硬盤陣列組,從而使
它能夠達(dá)到高性能硬盤的要求
RAID 有三個關(guān)鍵技術(shù):
鏡像:提供了數(shù)據(jù)的安全性;
chunk 條帶(塊大小也可以說是條帶的粒度),它的存在的就是為了提高 I/O,提供了數(shù)據(jù)并發(fā)性
數(shù)據(jù)的校驗:保證了數(shù)據(jù)的可靠性
Raid 相對于單個磁盤優(yōu)點:
條帶 (strping),也是我們最早出現(xiàn)的 RAID 模式
需磁盤數(shù)量:2 塊以上(大小最好相同),是組建磁盤陣列中最簡單的一種形式,只需要 2 塊以上的硬盤
即可.
特點:成本低,可以提高整個磁盤的性能和吞吐量。RAID 0 沒有提供冗余或錯誤修復(fù)能力,速度快.
任何一個磁盤的損壞將損壞全部數(shù)據(jù);磁盤利用率為 100%。
mirroring(鏡像卷),需要磁盤兩塊以上
原理:是把一個磁盤的數(shù)據(jù)鏡像到另一個磁盤上,也就是說數(shù)據(jù)在寫入一塊磁盤的同時,會在另一塊
閑置的磁盤上生成鏡像文件,(同步)
RAID 1 mirroring(鏡像卷),至少需要兩塊硬盤,raid 大小等于兩個 raid 分區(qū)中最小的容量(最
好將分區(qū)大小分為一樣),數(shù)據(jù)有冗余,在存儲時同時寫入兩塊硬盤,實現(xiàn)了數(shù)據(jù)備份;
磁盤利用率為 50%,即 2 塊 100G 的磁盤構(gòu)成 RAID1 只能提供 100G 的可用空間。如下圖
需要三塊或以上硬盤,可以提供熱備盤實現(xiàn)故障的恢復(fù);只損壞一塊,沒有問題。但如果同時損壞兩
塊磁盤,則數(shù)據(jù)將都會損壞。 空間利用率: (n-1)/n 2/3
如下圖所示
奇偶校驗信息的作用:
當(dāng) RAID5 的一個磁盤數(shù)據(jù)發(fā)生損壞后,利用剩下的數(shù)據(jù)和相應(yīng)的奇偶校驗信息去恢復(fù)被損壞的數(shù)
據(jù)。
展:異或運算
是用相對簡單的異或邏輯運算(相同為 0,相異為 1)
A 值-------B 值 -------Xor 結(jié)果
0 ------------0--------------0
1 ------------0--------------1
0 ------------1--------------0
1 ------------1--------------1
RAID-10 鏡像+條帶
RAID 10 是將鏡像和條帶進(jìn)行兩級組合的 RAID 級別,第一級是 RAID1 鏡像對,第二級為 RAID
0。比如我們有 8 塊盤,它是先兩兩做鏡像,形成了新的 4 塊盤,然后對這 4 塊盤做 RAID0;當(dāng)
RAID10 有一個硬盤受損其余硬盤會繼續(xù)工作,這個時候受影響的硬盤只有 2 塊
幾個方案對比下來, RAID5 是最適合的,如下圖:
一般兩種處理方法:熱備和熱插拔
熱備:HotSpare
定義:當(dāng)冗余的 RAID 組中某個硬盤失效時,在不干擾當(dāng)前 RAID 系統(tǒng)的正常使用的情況下,用
RAID 系統(tǒng)中另外一個正常的備用硬盤自動頂替失效硬盤,及時保證 RAID 系統(tǒng)的冗余性(就像汽車上的
備胎)
全局式:備用硬盤為系統(tǒng)中所有的冗余 RAID 組共享 (多個汽車一個備胎)
專用式:備用硬盤為系統(tǒng)中某一組冗余 RAID 組專用 (一個汽車一個備胎)
如下圖所示:是一個全局熱備的示例,該熱備盤由系統(tǒng)中兩個 RAID 組共享,可自動頂替任何一個
RAID 中的一個失效硬盤
熱插拔:HotSwap
定義:在不影響系統(tǒng)正常運轉(zhuǎn)的情況下,用正常的物理硬盤替換 RAID 系統(tǒng)中失效硬盤。(燈變紅
了,有硬盤失效了,直接拔掉,插上一塊新的,服務(wù)器要支持熱插拔 HotSwap)