RAID磁盤陣列的原理與搭建

RAID磁盤陣列的原理與搭建

本節(jié)所講內(nèi)容:

RAID概念-企業(yè)級RAID 0, 1,5,10的工作原理

RAID-0-1-5-10搭建及使用-刪除RAID及注意事項(xiàng)

RAID概念

磁盤陣列(Redundant Arrays of Independent Disks臀突,RAID)挽放,有“獨(dú)立磁盤構(gòu)成的具有冗余能力的陣列”之意睦刃。 磁盤陣列是由很多價格較便宜的磁盤钠四,以硬件(RAID卡)或軟件(MDADM)形式組合成一個容量巨大的磁盤組凫海,利用多個磁盤組合在一起猫缭,提升整個磁盤系統(tǒng)效能病往。利用這項(xiàng)技術(shù)凰萨,將數(shù)據(jù)切割成許多區(qū)段鞠柄,分別存放在各個硬盤上侦高。 磁盤陣列還能利用同位檢查(Parity Check)的觀念,在數(shù)組中任意一個硬盤故障時厌杜,仍可讀出數(shù)據(jù)奉呛,在數(shù)據(jù)计螺。

注:RAID可以預(yù)防數(shù)據(jù)丟失,但是它并不能完全保證你的數(shù)據(jù)不會丟失瞧壮,所以大家使用RAID的同時還是注意備份重要的數(shù)據(jù)

RAID的創(chuàng)建有兩種方式:

軟RAID(通過操作系統(tǒng)軟件來實(shí)現(xiàn))和硬RAID(使用硬件陣列卡)登馒;了解raid1、raid5和raid10咆槽。不過隨著云的高速發(fā)展陈轿,供應(yīng)商一般可以把硬件問題解決掉。

RAID幾種常見的類型

RAID0????????條帶卷??????????????2+?????????????????? ?100%??????????????????讀寫速度快秦忿,不容錯

RAID1????????鏡像卷??????????????2??????????????????? ? 50%????????????????????讀寫速度一般麦射,容錯

RAID5????????帶奇偶校驗(yàn)的條帶卷??????3+????? (n-1)/n???????????????? 讀寫速度快,容錯灯谣,允許壞一塊盤

RAID10????? RAID1的安全+RAID0的高速???? 4?????? 50%???????? ?讀寫速度快潜秋,容錯

?RAID基本思想:把好幾塊硬盤通過一定組合方式把它組合起來,成為一個新的硬盤陣列組胎许,從而使它能夠達(dá)到高性能硬盤的要求

RAID有三個關(guān)鍵技術(shù):

鏡像:提供了數(shù)據(jù)的安全性峻呛;

條帶(塊大小也可以說是條帶的粒度),它的存在的就是提供了數(shù)據(jù)并發(fā)性

數(shù)據(jù)的校驗(yàn):提供了數(shù)據(jù)的安全

Raid相對于單個磁盤優(yōu)點(diǎn):

RAID-0的工作原理

條帶 (strping)辜窑,也是我們最早出現(xiàn)的RAID模式

需磁盤數(shù)量:2塊以上(大小最好相同)钩述,是組建磁盤陣列中最簡單的一種形式,只需要2塊以上的硬盤即可.

特點(diǎn):成本低谬擦,可以提高整個磁盤的性能切距。RAID 0沒有提供冗余或錯誤修復(fù)能力,速度快.

任何一個磁盤的損壞將損壞全部數(shù)據(jù)惨远;磁盤利用率為100%谜悟。

RAID-1

mirroring(鏡像卷),需要磁盤兩塊以上

?原理:是把一個磁盤的數(shù)據(jù)鏡像到另一個磁盤上北秽,也就是說數(shù)據(jù)在寫入一塊磁盤的同時葡幸,會在另一塊閑置的磁盤上生成鏡像文件,(同步)

RAID 1 mirroring(鏡像卷)贺氓,至少需要兩塊硬盤

磁盤利用率為50%蔚叨,即2塊100G的磁盤構(gòu)成RAID1只能提供100G的可用空間。如下圖

RAID-5

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

奇偶校驗(yàn)信息的作用:

當(dāng)RAID5的一個磁盤數(shù)據(jù)發(fā)生損壞后尾抑,利用剩下的數(shù)據(jù)和相應(yīng)的奇偶校驗(yàn)信息去恢復(fù)被損壞的數(shù)據(jù)歇父。

擴(kuò)展:異或運(yùn)算

是用相對簡單的異或邏輯運(yùn)算(相同為0蒂培,相異為1)

嵌套RAID級別

RAID-10鏡像+條帶

RAID 10是將鏡像和條帶進(jìn)行兩級組合的RAID級別,第一級是RAID1鏡像對榜苫,第二級為RAID 0护戳。比如我們有8塊盤,它是先兩兩做鏡像垂睬,形成了新的4塊盤媳荒,然后對這4塊盤做RAID0;當(dāng)RAID10有一個硬盤受損其余硬盤會繼續(xù)工作羔飞,這個時候受影響的硬盤只有2塊

?RAID硬盤失效處理

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

熱備: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)正常運(yùn)轉(zhuǎn)的情況下卡儒,用正常的物理硬盤替換RAID系統(tǒng)中失效硬盤田柔。

???????????????? RAID-0-1-5-10搭建及使用-刪除RAID及注意事項(xiàng)

RAID的實(shí)現(xiàn)方式

?面試題:我們做硬件RAID,是在裝系統(tǒng)前還是之后骨望?

?答:先做陣列才裝系統(tǒng) 硬爆,一般服務(wù)器啟動時,有顯示進(jìn)入配置Riad的提示擎鸠。 硬RAID:需要RAID卡缀磕,我們的磁盤是接在RAID卡的,由它統(tǒng)一管理和控制劣光。數(shù)據(jù)也由它來進(jìn)行分配和維護(hù)袜蚕;它有自己的cpu,處理速度快 軟RAID:通過操作系統(tǒng)實(shí)現(xiàn)

Linux內(nèi)核中有一個md(multiple devices)模塊在底層管理RAID設(shè)備绢涡,它會在應(yīng)用層給我們提供一個應(yīng)用程序的工具mdadm 牲剃,mdadm是linux下用于創(chuàng)建和管理軟件RAID的命令。

-C或--creat???????????? 建立一個新陣列???????????????

-r???????????????????????? 移除設(shè)備

-A???????????????????????????? 激活磁盤陣列????????????????????

-l 或--level=???????????? ?設(shè)定磁盤陣列的級別?

-D或--detail????????????? 打印陣列設(shè)備的詳細(xì)信息??

-n或--raid-devices=???????????指定陣列成員(分區(qū)/磁盤)的數(shù)量

-s或--scan???????????????掃描配置文件或/proc/mdstat得到陣列缺失信息

-x或--spare-devicds=????????指定陣列中備用盤的數(shù)量?????????????

-f???????????????????????????? ?將設(shè)備狀態(tài)定為故障

-c或--chunk=????????? 設(shè)定陣列的塊chunk塊大小 雄可,單位為KB????

-a或--add????????????????添加設(shè)備到陣列

-G或--grow???????????? 改變陣列大小或形態(tài)

-v --verbose???????????? 顯示詳細(xì)信息

-S??????????????????????????? 停止陣列 mdadm命令常見參數(shù)解釋:

互動: raid5需要3塊硬盤凿傅。 那么使用4塊硬盤,可以做raid5嗎数苫?

可以的

互動:磁盤達(dá)到sdz以后聪舒,名字應(yīng)該如何排? sdaa 虐急、 sdab 过椎。。戏仓。

實(shí)驗(yàn)環(huán)境:

?raid0????????????????? sdb疚宇、sdc

raid1?????????????????? sdd、sde赏殃、??????????????? ??sdf?

raid5???????????????? ?sdg敷待、sdh、sdi??????????????? sdj

raid10?????????????? 分區(qū):sdk1,sdk2,sdk3.sdk4

注:工作中正常做raid全部是使用獨(dú)立的磁盤來做的仁热。為了節(jié)約資源榜揖,raid10以一塊磁盤上多個分區(qū)來代替多個獨(dú)立的磁盤做raid,但是這樣做出來的raid沒有備份數(shù)據(jù)的作用抗蠢,因?yàn)橐粔K磁盤壞了举哟,這個磁盤上所做的raid也就都壞了。

實(shí)戰(zhàn)創(chuàng)建RAID0 實(shí)驗(yàn)環(huán)境:

raid0??????????? sdb迅矛、sdc

查看磁盤:

[root@localhost ~]# ls/dev/sd*

1妨猩、創(chuàng)建raid0

[root@localhost ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc

2、 查看陣列信息

[root@localhost ~]# mdadm -Ds

[root@localhost ~]# mdadm -D /dev/md0

注意:Chunk Size : 512K #chunk是raid中最小的存儲單位

?[root@localhost ~]# mdadm -Dsv > /etc/mdadm.conf????????????? #生成配置文件

3秽褒、 對創(chuàng)建的RAID0進(jìn)行文件系統(tǒng)創(chuàng)建并掛載

[root@localhost ~]# mkfs.xfs /dev/md0?????????????????????? ?# 格式化

[root@localhost ~]# mkdir /raid0

[root@localhost ~]# mount ?/dev/md0 ?/raid0/

[root@localhost ~]# df -Th /raid0/

[root@localhost ~]#echo 324 > /raid0/a.txt

4壶硅、 開機(jī)自動掛載

[root@localhost ~]# blkid /dev/md0

[root@localhost ~]# echo "UUID=60a382fc-d08a-46c6-b2e1-c78fbe71f230 /raid0 xfs defaults 0 0" >> /etc/fstab

查看:

?[root@localhost ~]# umount /raid0/

[root@localhost ~]# df -h

[root@localhost ~]# mount -a

[root@localhost ~]# df -h

創(chuàng)建RAID1

實(shí)驗(yàn)內(nèi)容如下:

?raid1????????????????? sdd、sde销斟、????????????? sdf

1)創(chuàng)建RAID1???????? 2)添加1個熱備盤????

3)模擬磁盤故障庐椒,自動頂替故障盤??????????????? 4)從raid1中移出故障盤

[root@localhost ~]# mdadm -C -v /dev/md1 -l 1 -n 2 -x 1 /dev/sd[d,e,f]

查看 RAID 陣列信息:

[root@localhost ~]# mdadm -D /dev/md1

將RADI信息保存到配置文件

[root@localhost ~]# mdadm -Dsv > /etc/mdadm.conf

在RAID設(shè)備上創(chuàng)建文件系統(tǒng)

[root@localhost ~]# mkfs.xfs /dev/md1

[root@localhost ~]# mkdir /raid1

[root@localhost ~]# mount /dev/md1 /raid1/

準(zhǔn)備測試文件

[root@localhost ~]# cp /etc/passwd /raid1/

模擬損壞

下面模擬RAID1中數(shù)據(jù)盤/dev/sde出現(xiàn)故障,觀察/dev/sdf備用盤能否自動頂替故障盤 [root@localhost ~]# mdadm /dev/md1 -f /dev/sde

查看一下陣列狀態(tài)信息

[root@localhost ~]# mdadm -D /dev/md1

?2? ?8???? 128? ?1??????????? ?spare rebuilding /dev/sdi????????? ?#熱備盤已經(jīng)在同步數(shù)據(jù)

1????8?????112?? ?-?????? faulty /dev/sdh

更新配置文件

[root@localhost ~]# mdadm -Dsv > /etc/mdadm.conf

查看數(shù)據(jù)是否丟失

[root@xuegod63 ~]# ls /raid1/???????????????? #數(shù)據(jù)正常蚂踊,沒有丟失?

重要的數(shù)據(jù)如:數(shù)據(jù)庫 约谈; 系統(tǒng)盤 (把系統(tǒng)安裝到raid1的md1設(shè)備上,可以對md1做分區(qū))

移除損壞的設(shè)備:

[root@localhost ~]# mdadm -r /dev/md1 /dev/sde

查看信息:

[root@xuegod63 ~]# mdadm -D /dev/md1

添加一塊新熱備盤

[root@localhost ~]# mdadm -a /dev/md1 /dev/sde

查看一下陣列狀態(tài)信息

[root@localhost ~]# mdadm -D /dev/md1

創(chuàng)建RAID5

實(shí)驗(yàn)環(huán)境:?

raid5???????? sdg犁钟、sdh棱诱、sdi??????? sdj

1)創(chuàng)建RAID5, 添加1個熱備盤,指定chunk大小為32K

-x或--spare-devicds=????????????????????? 指定陣列中備用盤的數(shù)量

-c或--chunk=???????????????????????????????????設(shè)定陣列的塊chunk塊大小 特纤,單位為KB

2)停止陣列军俊,重新激活陣列

3)使用熱備盤,擴(kuò)展陣列容量捧存,從3個磁盤擴(kuò)展到4個

創(chuàng)建RAID-5

[root@localhost ~]# mdadm -C -v /dev/md5 -l 5 -n 3 -x 1 -c32 /dev/sd{g,h,i,j}

[root@localhost ~]# mdadm -D /dev/md5

?#熱備盤

停止MD5陣列

[root@localhost ~]# mdadm -Dsv > /etc/mdadm.conf??????? #停止前粪躬,一定要先保存配置文件 [root@localhost ~]# mdadm -D /dev/md5????? ?##停止前,請確認(rèn)數(shù)據(jù)已經(jīng)同步完

Consistency Policy : resync??????????????????? ?#數(shù)據(jù)已經(jīng)同步完

[root@localhost ~]# mdadm -S /dev/md5?????????????????? ?#停止

激活MD5陣列

[root@localhost ~]# mdadm -As

擴(kuò)展RAID5磁盤陣列

將熱備盤增加到md5中昔穴,使用md5中可以使用的磁盤數(shù)量為4塊

[root@localhost ~]# mdadm -G /dev/md5 -n 4 -c 32???? #-G或--grow 改變陣列大小或形態(tài)

查看:

[root@localhost ~]# mdadm -Dsv > /etc/mdadm.conf?????????????? ?#保存配置文件

備注:陣列只有在正常狀態(tài)下镰官,才能擴(kuò)容,降級及重構(gòu)時不允許擴(kuò)容吗货。對于raid5來說泳唠,只能增加成員盤,不能減少宙搬。而對于raid1來說笨腥,可以增加成員盤拓哺,也可以減少。

[root@localhost ~]# mdadm -D /dev/md5???????????????? ?#查看狀態(tài) 脖母。士鸥。。

Array Size : 41910272 (39.97 GiB 42.92 GB)??? ?#發(fā)現(xiàn)新增加硬盤后空間沒有變大谆级,為什么烤礁? Used Dev Size : 20955136 (19.98 GiB 21.46 GB) 。肥照。脚仔。

Reshape Status : 3% complete???????????? #重塑狀態(tài):3%完成 ,等到100%舆绎, 數(shù)據(jù)才同步完鲤脏,同步完后會變成成:Consistency Policy : resync?????? ?#一致性策略:再同步,表示已經(jīng)同步完??

?等一會亿蒸,等所有數(shù)據(jù)同步完成后凑兰,查看md5空間大小:

Array Size : 62865408 (59.95 GiB 64.37 GB)??????

#空間已經(jīng)變大 Used Dev Size : 20955136 (19.98 GiB 21.46 GB)?

創(chuàng)建RAID10

實(shí)驗(yàn)環(huán)境: raid10??????????? ?分區(qū):sdk1,sdk2,sdk3.sdk4

[root@xuegod63 ~]# fdisk /dev/sdk?????? ?#分4個主分區(qū)边锁,每個分區(qū)1G大小

分區(qū)完畢:

查看分區(qū):

[root@localhost ~]# ls /dev/sdk*

[root@xuegod63 ~]# mdadm -C -v /dev/md10 -l 10 -n 4 /dev/sdk[1-4]

查看:

[root@localhost ~]# cat /proc/mdstat

刪除RAID所有信息及注意事項(xiàng)

[root@localhost ~]# df -h

[root@localhost ~]# umount /dev/md0 /raid0??????? #如果你已經(jīng)掛載raid姑食,就先卸載。

[root@localhost ~]# mdadm -Ss?????????????????????????? #停止raid設(shè)備

[root@localhost ~]# rm -rf /etc/mdadm.conf???????? #刪除raid配置文件

[root@localhost ~]# mdadm --zero-superblock /dev/sdb????? #清除物理磁盤中的raid標(biāo)識 [root@localhost ~]# mdadm --zero-superblock /dev/sdc????? #清除物理磁盤中的raid標(biāo)識

參數(shù):--zero-superblock : erase the MD superblock from a device. #擦除設(shè)備中的MD超級塊

擴(kuò)展: 如果更換的RAID卡茅坛,與原卡規(guī)格型號相同音半,則不會有什么問題。若兩卡規(guī)格型號不同贡蓖,需要重新安裝新卡驅(qū)動程序曹鸠。這時就會有不確定的可能性,如驅(qū)動程序差別不大時斥铺,RAID盤組合順序正常彻桃,硬盤原數(shù)據(jù)可正確讀寫;若驅(qū)動程序結(jié)構(gòu)差別較大晾蜘,則可能發(fā)生讀寫錯誤邻眷。 因此,要盡量選購與原卡規(guī)格相同的產(chǎn)品剔交,以確保數(shù)據(jù)安全肆饶。

作者:白色襯衫_f48d

鏈接:http://www.reibang.com/p/857a505a6620

來源:簡書

簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處岖常。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末驯镊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌板惑,老刑警劉巖橄镜,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異冯乘,居然都是意外死亡蛉鹿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門往湿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人惋戏,你說我怎么就攤上這事领追。” “怎么了响逢?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵绒窑,是天一觀的道長。 經(jīng)常有香客問我舔亭,道長些膨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任钦铺,我火速辦了婚禮订雾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘矛洞。我一直安慰自己洼哎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布沼本。 她就那樣靜靜地躺著噩峦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪抽兆。 梳的紋絲不亂的頭發(fā)上识补,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機(jī)與錄音辫红,去河邊找鬼凭涂。 笑死,一個胖子當(dāng)著我的面吹牛厉熟,可吹牛的內(nèi)容都是我干的导盅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼揍瑟,長吁一口氣:“原來是場噩夢啊……” “哼白翻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤滤馍,失蹤者是張志新(化名)和其女友劉穎岛琼,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巢株,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡槐瑞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了阁苞。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片困檩。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖那槽,靈堂內(nèi)的尸體忽然破棺而出悼沿,到底是詐尸還是另有隱情,我是刑警寧澤骚灸,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布糟趾,位于F島的核電站,受9級特大地震影響甚牲,放射性物質(zhì)發(fā)生泄漏义郑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一丈钙、第九天 我趴在偏房一處隱蔽的房頂上張望非驮。 院中可真熱鬧,春花似錦著恩、人聲如沸院尔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽邀摆。三九已至,卻和暖如春伍茄,著一層夾襖步出監(jiān)牢的瞬間栋盹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工敷矫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留例获,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓曹仗,卻偏偏與公主長得像榨汤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子怎茫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容