一.應(yīng)用場(chǎng)景
Raid大家都知道是冗余磁盤的意思(Redundant Arrays of Independent Disks,RAID),可以按業(yè)務(wù)系統(tǒng)的需要提供高可用性和冗余性,目前市面上比較常見(jiàn)的是通過(guò)服務(wù)器的raid陣列卡來(lái)實(shí)現(xiàn)此功能。
通過(guò)硬件陣列卡實(shí)現(xiàn)raid具有可靠性高,性能好等特點(diǎn),但是對(duì)于一般的企業(yè)而言硬件陣列卡固然好,如果大規(guī)模應(yīng)用的話動(dòng)輒幾千上萬(wàn)的費(fèi)用也不是他們所能承受的,難道就沒(méi)有既能保證數(shù)據(jù)安全,又能減少費(fèi)用支持的IT方案嗎?
當(dāng)然有,軟raid就可以實(shí)現(xiàn)這一需求。
二.實(shí)現(xiàn)步驟
軟raid比較依賴操作系統(tǒng),所以他的劣勢(shì)也顯而易見(jiàn),需要占用系統(tǒng)資源(主要是CPU資源)。目前在Linux和windows下軟raid都比較常見(jiàn)了,Linux是通過(guò)mdadm實(shí)現(xiàn)的,windows下則在win2003之后通過(guò)磁盤管理來(lái)實(shí)現(xiàn)。
實(shí)驗(yàn)環(huán)境:
一臺(tái)centos 7.2 VM,主機(jī)名分別為host1,host1上掛載兩塊50G的數(shù)據(jù)盤,我們的實(shí)驗(yàn)就在這兩塊數(shù)據(jù)盤上完成。
P.S:需要強(qiáng)調(diào)的是生產(chǎn)環(huán)境下兩塊組raid的硬盤必須是同品牌同型號(hào)同容量的,否則極容易出現(xiàn)軟raid失效的情況。
1.確認(rèn)操作系統(tǒng)是否安裝了mdadm軟件
[root@host1 ~]# rpm -qa |grep mdadm
mdadm-3.3.2-7.el7.x86_64
2.對(duì)兩塊數(shù)據(jù)盤進(jìn)行分區(qū),并設(shè)置分區(qū)類型為raid
fdisk命令只能對(duì)容量在2T以下的硬盤進(jìn)行分區(qū),如果超過(guò)2T則需要使用parted工具了。Parted命令以后會(huì)介紹使用方法,本節(jié)不贅述了。
在fdisk下raid的分區(qū)類型代碼是fd,在parted工具下首先需要使用mklabel將磁盤格式由MBR改成GPT,然后才能使用mkpart命令進(jìn)行分區(qū),分完區(qū)之后使用set設(shè)置分區(qū)flag為raid即可。
3.使用mdadm命令創(chuàng)建raid1
可以看到創(chuàng)建時(shí)有個(gè)Note的提示,是說(shuō)軟raid不能當(dāng)啟動(dòng)設(shè)備,這就是軟raid比較雞肋的地方了。
mdadm-C/dev/md0-ayes-l1-n2/dev/xvd[b,c]1
命令說(shuō)明:
-C--create創(chuàng)建陣列;
-a--auto同意創(chuàng)建設(shè)備,如不加此參數(shù)時(shí)必須先使用mknod命令來(lái)創(chuàng)建一個(gè)RAID設(shè)備,不過(guò)推薦使用-a yes參數(shù)一次性創(chuàng)建;
-l--level陣列模式,支持的陣列模式有linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath, faulty, container;
-n--raid-devices陣列中活動(dòng)磁盤的數(shù)目,該數(shù)目加上備用磁盤的數(shù)目應(yīng)該等于陣列中總的磁盤數(shù)目;
/dev/md0陣列的設(shè)備名稱,如果還有其他陣列組可以以此類推;
創(chuàng)建完成后可以使用cat /proc/mdstat查看陣列狀態(tài):
下圖中第一次查看的時(shí)候提示resync完成了95.7%,第二次查詢的時(shí)候兩塊盤才真正同步完。
也可以使用mdadm -D /dev/md0查看陣列組的狀態(tài)
4.創(chuàng)建md0的配置文件
echo DEVICE /dev/sd{a,b}1 >> /etc/mdadm.confmdadm -Evs >> /etc/mdadm.conf
mdadm運(yùn)行時(shí)會(huì)自動(dòng)檢查/etc/mdadm.conf 文件并嘗試自動(dòng)裝配,因此第一次配置raid后可以將信息導(dǎo)入到/etc/mdadm.conf 中。
5.使用/dev/md0
在/dev/md0上創(chuàng)建文件,然后掛載進(jìn)行使用。
mkfs.ext4 /dev/md0
注意:在格式化時(shí),可以指定-E選項(xiàng)下的stride參數(shù)指定條帶是塊大小的多少倍,有在一定程度上提高軟RAID性能,如塊默認(rèn)大小為4k,而條帶大小默認(rèn)為64k,則stride為16,這樣就避免了RAID每次存取數(shù)據(jù)時(shí)都去計(jì)算條帶大小,如:
mkfs.ext4 -E stride=16 -b 4096 /dev/md0
6.其他命令
比如組raid的陣列中有磁盤損壞,可以使用如下命令:
選項(xiàng):-a(--add),-d(--del),-r(--remove),-f(--fail)
模擬損壞盤:
mdadm /dev/md1 -f /dev/sdb5
移除故障盤:
mdadm /dev/md1 -r /dev/sdb5
添加新硬盤:
mdadm /dev/md1 -a /dev/sdb7
停止陣列
mdadm -S /dev/md1
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209327 -
RAID
+關(guān)注
關(guān)注
0文章
277瀏覽量
35084
原文標(biāo)題:Linux 下軟 RAID 實(shí)現(xiàn)方案
文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論