LINUX中軟RAID的實現方案


 

轉自linux就該這么學 

應用場景

Raid大家都知道是冗余磁盤的意思(Redundant Arrays of Independent Disks,RAID),可以按業務系統的需要提供高可用性和冗余性,目前市面上比較常見的是通過服務器的raid陣列卡來實現此功能。

 

通過硬件陣列卡實現raid具有可靠性高,性能好等特點,但是對於一般的企業而言硬件陣列卡固然好,如果大規模應用的話動輒幾千上萬的費用也不是他們所能承受的,難道就沒有既能保證數據安全,又能減少費用支持的IT方案嗎?當然有,軟raid就可以實現這一需求。

實現步驟

軟raid比較依賴操作系統,所以他的劣勢也顯而易見,需要占用系統資源(主要是CPU資源)。目前在Linux和windows下軟raid都比較常見了,Linux是通過mdadm實現的,windows下則在win2003之后通過磁盤管理來實現。

實驗環境

一台centos 7.2 VM,主機名分別為host1,host1上掛載兩塊50G的數據盤,我們的實驗就在這兩塊數據盤上完成。

P.S:需要強調的是生產環境下兩塊組raid的硬盤必須是同品牌同型號同容量的,否則極容易出現軟raid失效的情況。

1.確認操作系統是否安裝了mdadm軟件

[root@host1 ~]# rpm -qa |grep mdadm
mdadm-3.3.2-7.el7.x86_64

2.對兩塊數據盤進行分區,並設置分區類型為raid

 

fdisk命令只能對容量在2T以下的硬盤進行分區,如果超過2T則需要使用parted工具了。Parted命令以后會介紹使用方法,本節不贅述了。

在fdisk下raid的分區類型代碼是fd,在parted工具下首先需要使用mklabel將磁盤格式由MBR改成GPT,然后才能使用mkpart命令進行分區,分完區之后使用set設置分區flag為raid即可。

3.使用mdadm命令創建raid1

 

可以看到創建時有個Note的提示,是說軟raid不能當啟動設備,這就是軟raid比較雞肋的地方了。

mdadm -C /dev/md0 -ayes -l1 -n2 /dev/xvd[b,c]1
命令說明:
-C創建陣列;
-a同意創建設備,如不加此參數時必須先使用mknod 命令來創建一個RAID設備,不過推薦使用-a yes參數一次性創建;
-l陣列模式;
-n陣列中活動磁盤的數目,該數目加上備用磁盤的數目應該等於陣列中總的磁盤數目;
/dev/md0陣列的設備名稱,如果還有其他陣列組可以以此類推;
創建完成后可以使用cat /proc/mdstat查看陣列狀態:
下圖中第一次查看的時候提示resync完成了95.7%,第二次查詢的時候兩塊盤才真正同步完。

 

也可以使用mdadm -D /dev/md0查看陣列組的狀態

 

4.創建md0的配置文件

echo DEVICE /dev/sd{a,b}>> /etc/mdadm.conf
mdadm -Evs >> /etc/mdadm.conf

mdadm運行時會自動檢查/etc/mdadm.conf 文件並嘗試自動裝配,因此第一次配置raid后可以將信息導入到/etc/mdadm.conf 中。

5.使用/dev/md0

在/dev/md0上創建文件,然后掛載進行使用。

mkfs.ext4 /dev/md0




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM