Linux 創建和管理軟RAID實例
前言
RAID(Redundant Array of Independent Disk)虛擬存儲系統。
RAID即獨立冗余磁盤陣列,其思想是將多塊獨立的磁盤按不同的方式組合成一個邏輯磁盤,從而提高存儲容量,提升存儲性能或提供數據備份功能。
RAID存儲系統的組合方式根據RAID級別定義。
RAID分為軟件RAID和硬件RAID兩類。現有的操作系統中,大多都已經集成了軟RAID功能。軟件RAID可以實現和硬件RAID一樣的功能,但是由于沒有獨立的硬件控制設備,所以性能不如RAID,但軟件RAID實現簡單,不需要額外的硬件設備。
硬件RAID通常要有RAID卡,RAID卡本身會有獨立的控制部件和內存,所以不會占優系統資源,效率高,性能強。具體的使用可以參考硬件說明書。
操作步驟
本機有三塊磁盤未分區,分別是xvdb、xvdc、xvdd,如果需要在Linux中實現軟RAID,可以將每塊硬盤分一個區組建RAID,也可以對硬盤分多個區實現軟RAID,這里我們將每塊硬盤分兩個區。
創建硬盤分區
分區完成后:
創建RAID(本例將創建RAID0與RAID5)
Linux中創建磁盤陣列可以使用mdadm命令,在CentOS7中,目前支持的RAID級別有:RAID0、RAID1、RAID4、RAID5、RAID6、RAID10。
mdadm:管理Linux軟件RAID設備
用法:mdadm [模式] 選項 <RAID設備>
選項:
-C 創建軟件RAID(create)
-l 指定RAID級別(level)
-n 指定磁盤個數
-x 指定備用設備個數
//創建RAID0
[root@haiyuan ~]# mdadm -C /dev/md0 -l 0 -n 3 /dev/xvdb1 /dev/xvdc1 /dev/xvdd1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
//創建RAID5時出現錯誤,表示磁盤數量不夠
[root@haiyuan ~]# mdadm -C /dev/md1 -l 5 -n 3 -x 1 /dev/xvdb2 /dev/xvdc2 /dev/xvdd2
mdadm: You haven't given enough devices (real or missing) to create this array
再新增一塊硬盤,進行分區后再進行該命令操作。
[root@haiyuan ~]# mdadm -C /dev/md1 -l 5 -n 3 -x 1 /dev/xvdb2 /dev/xvdc2 /dev/xvdd2 /dev/xvde2
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
//查看RAID0及RAID5的詳細信息
[root@haiyuan ~]# mdadm --detail /dev/md0
[root@haiyuan ~]# mdadm --detail /dev/md1
格式化與掛載
mkfs.xfs /dev/md0
mkdir /raid0
mount /dev/md0 /raid0
mkfs.xfs /dev/md1
mkdir /raid5
mount /dev/md1 /raid5
將磁盤陣列設備配置為開機自動掛載項,CentOS系統開機會讀取磁盤陣列的配置文件/etc/mdadm.conf以啟動RAID設備。可以使用命令快速創建該配置文件,DEVICE行代表填寫所有磁盤陣列的設備成員的名稱,ARRAY行描述磁盤陣列具體的基本信息,包括名稱、級別、UUID等信息。
[root@haiyuan ~]# echo "DEVICE /dev/xvdb1 /dev/xvdb2 /dev/xvdc1 /dev/xvdc2 /dev/xvdd1 /dev/xvdd2 /dev/xvde2" > /etc/mdadm.conf
[root@haiyuan ~]# mdadm -Evs
ARRAY /dev/md/1 level=raid5 metadata=1.2 num-devices=3 UUID=3c3d665f:5c7df5c4:89da16bb:75fd1819 name=haiyuan.hwcloud.com:1
spares=1 devices=/dev/xvdb2,/dev/xvdc2,/dev/xvdd2,/dev/xvde2
ARRAY /dev/md/0 level=raid0 metadata=1.2 num-devices=3 UUID=2669e540:49aaaa5e:20ea52d1:79b35913 name=haiyuan.hwcloud.com:0
devices=/dev/xvdb1,/dev/xvdc1,/dev/xvdd1
[root@haiyuan ~]# mdadm -Evs >> /etc/mdadm.conf
[root@haiyuan ~]# echo "/dev/md0 /raid0 xfs defaults 0 0" >> /etc/fstab
[root@haiyuan ~]# echo "/dev/md1 /raid5 xfs defaults 0 0" >> /etc/fstab
重啟后,進行驗證: