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