430
支付寶
CentOS6.7配置軟raid5(模擬故障增加硬盤)
實驗環境vmware12 係統CentOS6.7 64位
配置RAID5
RAID5至少需要三塊硬盤,讀寫數據的時候會將數據分布的讀寫到所有硬盤上
虛擬機設置中,除係統盤外,增加4塊硬盤來做實驗,其中3塊硬盤為活動盤,另一塊做熱備盤
進入係統fdisk -l命令查看,/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde
當前mdadm版本
如果沒有mdadm命令,需要手動安裝
安裝mdadm軟件
yum -y install mdadm
直接對4塊硬盤做軟raid,其中1塊硬盤為熱備盤
mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sd[b,c,d,e]
說明:
-C:創建模式
-a {yes|no}:自動創建對應的設備,yes表示會自動在/dev下創建RAID設備
-l #:指明要創建的RAID的級別(-l 0 表示創建RAID0)
-n #:使用#個塊設備來創建此RAID(-n 3 表示用3塊硬盤來創建這個RAID)
-x #:當前陣列中熱備盤隻有#塊(-x 1 表示熱備盤隻有1塊)
此時再通過fdisk -l命令即可看到/dev/md5
查看raid5狀態
cat /proc/mdstat
mdadm -D /dev/md5
實驗環境的硬盤比較小,所以幾乎是瞬間創建完成,下圖可以看出spare /dev/sde為熱備盤
添加raid5到raid配置文件中/etc/mdadm.conf(默認此文件不存在)
echo DEVICE /dev/sd[b,c,d,e] >> /etc/mdadm.conf
mdadm -Ds >> /etc/mdadm.conf
此時就可以格式化磁盤了
mkfs.ext4 /dev/md5
創建掛載點並掛載磁盤
mkdir /raid5
mount /dev/md5 /raid5/
raid5的可用大小為38G,即(3-1)x20G
添加至開機自動掛載
echo "/dev/md5 /raid5 ext4 defaults 0 0" >> /etc/fstab
對/raid5進行寫入測試,隨便創建個文件
touch /raid5/blog.whsir.com
最後需要reboot命令重啟,測試開機是否自動掛載,raid5是否正常
模擬磁盤故障
我在這裏模擬/dev/sdc磁盤故障
mdadm /dev/md5 -f /dev/sdc
查看重建狀態,因為之前創建raid5的時候設置了一個熱備盤,所以當有故障的磁盤時,熱備盤會自動頂替故障磁盤工作,陣列也會重建,通過cat /proc/mdstat可以看到當前陣列狀態
當某個磁盤出現故障時,相應的設備方括號標記(https://yq.aliyun.com/articles/F),如上圖,sdc1
其中[3/2]的第一位數表示陣列所包含的設備數,第二位數表示活動的設備數,因為當前有一個設備故障,所以第二位數為2,此時陣列以降級模式運行,雖然陣列仍然可用,但是不具有數據冗餘
[U_U]表示正常使用的設備是/dev/sdb,/dev/sdd,假如這裏是/dev/sdd出現故障,則變成[UU_]
重建完成後查看陣列狀態,此時raid恢複正常
接下來移除故障的磁盤
mdadm /dev/md5 -r /dev/sdc
因為剛才模擬損壞了一塊盤,所以當前陣列沒有熱備盤了,所以我們需要在添加一塊新的熱備盤,這裏為了方便,直接將剛才模擬損壞的硬盤再次添加到raid5中
mdadm /dev/md5 -a /dev/sdc
此時/dev/sdc變成了熱備盤,故障測試結束。
軟RAID增加硬盤
軟raid使用了一段時間後,發現磁盤空間不足了,此時就需要向當前軟RAID中增加新的磁盤,提高RAID的空間
關閉當前係統,增加磁盤,因為我是vm實驗環境,關閉虛擬機後直接添加硬盤即可
通過lsblk命令,可以看到剛才添加的磁盤是sdf
向當前raid5中增加一塊硬盤
mdadm /dev/md5 -a /dev/sdf
查看RAID狀態
剛才向RAID中增加的磁盤,會被當作熱備盤,還需要把熱備盤加入到RAID的活動盤中
mdadm -G /dev/md5 -n4
上圖可以看到,剛新加的/dev/sdf已經變成了活動盤,但是Array Size : 41910272 (39.97 GiB 42.92 GB)並沒有變大,那是因為構建沒有完成。
等cat /proc/mdstat構建完成,RAID的容量就會變成(4-1)x20G,下圖是已經構建完成後的RAID狀態,可以看到Array Size : 62865408 (59.95 GiB 64.37 GB)增加了
但是通過df -Th查看文件係統容量發現大小並沒有改變,所以還需要對文件係統擴容,根據磁盤大小,擴容時間也不相同,所以擴容時耐心等待resize2fs /dev/md5
上圖可以看到擴容成功,數據正常,新增磁盤成功
修改RAID的配置文件vi /etc/mdadm.conf如下圖所示
最後reboot重啟係統,確認RAID是否正常
最後更新:2017-07-10 12:02:18