RAID釋義:
RAID--磁盤冗余陣列(將磁盤有組織的捆綁到一起使用,提高IO速率、提供冗余備份)
硬RAID:RAID卡(類似bios界面)
軟RAID:軟件模擬--mdadm
RAID類型
RAID 0:把多塊物理磁盤(至少兩塊)通過硬件或軟件串聯到一起,將數據一次寫入到各個物理盤中,IO速率成倍增加,毫無備份功能,磁盤使用率100% RAID0----條帶模式
RAID 1:至少兩塊盤成2n倍數,IO熟慮沒有提升,數據具備冗余效果,磁盤空間使用率低100%/n RAID1---鏡像模式
RAID 5:至少三快盤,至多允許損壞一塊盤,在提升IO速率的同時,提供數據備份功能,提供奇偶過程,奇偶校驗碼必須穿插存儲在不同硬盤上
RAID 6:至少需要四塊盤,至多損壞兩塊盤,提供雙奇偶校驗
RAID 10:RAID0+RAID1 至少需要四塊磁盤(先提供IO速率再提供數據備份功能)
先做兩個raid1,然后將兩個raid1做成raid0(先鏡像,再條帶)
RAID 01:RAID1+RAID0 至少需要四塊硬盤(先提供數據備份再提供IO速率功能)
先做兩個raid0,然后將兩個raid0做成raid1(先條帶,再鏡像)
一.創建raid10的軟raid制作(先加四塊盤,也可以用分區做)
/dev/sdb /dev/sdc /dev/sdd /dev/sde 4塊盤都是2G
#]yum -y install mdadm
mdadm選項注解
-a或--add:添加設備到陣列
-C或--create:建立一個新陣列
-c或--chunk:設定陣列的塊chunk大小,單位為KB
-l或--level:設定磁盤陣列的級別
-n或--raid-devices=:指定陣列成員(分區/磁盤)的數量
-x或--spare-devicds=:指定陣列中備用盤的數量
-G或--grow:改變陣列大小或形態
-D或--detail:打印陣列設備的詳細信息
-s或--scan:掃描配置文件或/proc/mdstat得到陣列缺失信息
-A:激活磁盤陣列
-f:將設備狀態定為故障
-v:--verbose顯示詳細信息
-r:移除設備
#]mdadm -E /dev/sd[b-e]
(查看這幾塊盤是否做過raid)
如果沒有檢測到超級塊,意味着沒有配置raid
#]mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
#]ll /dev/md0
brw-rw---- 1 root disk 9, 0 12月 31 21:37 /dev/md0
做好raid之后格式化文件系統才能使用
#]mkfs.ext4 /dev/md0

創建掛載目錄並掛載到該目錄下,df -hT查看掛載信息
#]mkdir /RAID
#]mount /dev/md0 /RAID
#]df -hT

查看陣列信息
#]mdadm -D /dev/md0

#]echo “/dev/md0 /RAID ext4 defaults 0 0” >> /etc/fstab (實現開機自動掛載)
#]mount -a
實際生產環境中若做了軟raid且raid中有磁盤損壞的修復方法如下:
#]mdadm /dev/md0 -f /dev/sdb
#]mdadm -D /dev/md0

在陣列中損壞一塊盤不影響整個陣列的使用,重新添加新盤即可恢復
#]mdadm /dev/md0 -a /dev/sdb
mdadm: Cannot open /dev/sdb: Device or resource busy
(/dev/sdb正在使用中,需要去除開機自動掛載並重啟機器后重新把/dev/sdb加入到raid中)
#]sed -i 's&^/dev/md0&#/dev/md0&' /etc/fstab
#]reboot
#]mdadm /dev/md0 -a /dev/sdb
mdadm: added /dev/sdb (/dev/sdb加入/devmd0成功)

#]mdadm -D /dev/md0

raid恢復后查看掛載信息並未發現設備/dev/md0和掛載目錄,之前sed命令注釋了,需要重新設置開機自動掛載並重新掛載
注意:raid重構后,可能會自動重新命名,並不是原來的raid消失只是名字變了,如果發生raid名字重命名了,掛載時修改相對應的名字即可(原因是dev設備管理器會自動對設備進行命名,rhel6不會改變設備名字,rhel7可能會改變)
#]df -hT
#]sed -i ‘s&#/dev/md0&/dev/md0&’ /etc/fstab
#]mount -a
#]df -hT

停止raid
#]umount /RAID
#]mdadm -S /dev/md0
(-S選項停止使用raid,等同於刪除raid,再去查看是沒有/dev/md0這塊設備的)

RAID卡支持熱插拔,不需要重啟,軟RAID重構需要重啟生效
二.創建raid5的軟raid制作(先加四塊盤,也可以用分區做)raid+備份盤
備份盤:存儲奇偶校驗碼,用於恢復raid(raid5機制)
/dev/sdb /dev/sdc /dev/sdd /dev/sde 4塊盤都是2G
#]mdadm -Cv /dev/md1 -a yes -l 5 -n 3 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
注意:不管主盤備份盤的選項放前還是放后,備份盤都是在主盤之后,只有創建了raid之后才有備份盤,和選項先后順序無關,和磁盤先后順序有關
#]mdadm -Cv /dev/md1 -a yes -l 5 -n 3 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
#]mdadm -Cv /dev/md1 -a yes -l 5 -x 1 -n 3 /dev/sdb /dev/sdc /dev/sdd /dev/sde
(這兩條命令的結果都是/dev/sdb /dev/sdc /dev/sdd三塊做raid主盤,/dev/sde做備份盤)

#]mdadm -D /dev/md1

#]mkfs.ext4 /dev/md1
#]echo “/dev/md1 /RAID ext4 defaults 0 0” << /etc/fstab
#]mount /dev/md1 /RAID
#]df -hT

從raid中剔除/dev/sdb后查看/dev/md1狀態
#]mdadm /dev/md1 -f /dev/sdb
#]mdadm -D /dev/md1

去除開機自動掛載並重啟,然后重構raid查看raid5的陣列變化
#]sed -i ‘s&^/dev/md1&#/dev/md1&’ /etc/fstab
#]reboot
#]mdadm /dev/md1 -a /dev/sdb
#]mdadm -D /dev/md1

重新掛載使用
#]sed -i ‘s&^#/dev/md1&/dev/md1&’ /etc/fstab
#]mount /dev/md1 /RAID (mount -a)
#]df -hT

三.創建raid01的軟raid制作
/dev/sdb /dev/sdc /dev/sdd /dev/sde 4塊盤都是2G
#]mdadm -Cv /dev/md2 -a yes -n 2 -l 0 /dev/sdb /dev/sdc
#]mdadm -D /dev/md2
#]mdadm -Cv /dev/md3 -a yes -n 2 -l 0 /dev/sdd /dev/sde
#]mdadm -D /dev/md3
#]mdadm -Cv /dev/md4 -a yes -n 2 -l 1 /dev/md2 /dev/md3
#]mdadm -D /dev/md4
#]mdfs.ext4 /dev/md4
#]echo “/dev/md4 /RAID ext4 defaults 0 0” << /etc/fstab
#]mount /dev/md4 /RAID
#]df -hT
