天天看點

CentOS6.7配置軟raid5(模拟故障增加硬碟)

實驗環境vmware12  系統CentOS6.7 64位

RAID5至少需要三塊硬碟,讀寫資料的時候會将資料分布的讀寫到所有硬碟上

虛拟機設定中,除系統盤外,增加4塊硬碟來做實驗,其中3塊硬碟為活動盤,另一塊做熱備盤

CentOS6.7配置軟raid5(模拟故障增加硬碟)

進入系統fdisk -l指令檢視,/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde

CentOS6.7配置軟raid5(模拟故障增加硬碟)

目前mdadm版本

CentOS6.7配置軟raid5(模拟故障增加硬碟)

如果沒有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]

CentOS6.7配置軟raid5(模拟故障增加硬碟)

說明:

-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

CentOS6.7配置軟raid5(模拟故障增加硬碟)

檢視raid5狀态

cat /proc/mdstat

mdadm -D /dev/md5

實驗環境的硬碟比較小,是以幾乎是瞬間建立完成,下圖可以看出spare /dev/sde為熱備盤

CentOS6.7配置軟raid5(模拟故障增加硬碟)

添加raid5到raid配置檔案中/etc/mdadm.conf(預設此檔案不存在)

echo DEVICE /dev/sd[b,c,d,e] >> /etc/mdadm.conf

mdadm -Ds >> /etc/mdadm.conf

CentOS6.7配置軟raid5(模拟故障增加硬碟)

此時就可以格式化磁盤了

mkfs.ext4 /dev/md5

CentOS6.7配置軟raid5(模拟故障增加硬碟)

建立挂載點并挂載磁盤

mkdir /raid5

mount /dev/md5 /raid5/

CentOS6.7配置軟raid5(模拟故障增加硬碟)

raid5的可用大小為38G,即(3-1)x20G

添加至開機自動挂載

echo "/dev/md5 /raid5 ext4 defaults 0 0" >> /etc/fstab

對/raid5進行寫入測試,随便建立個檔案

touch /raid5/blog.whsir.com

CentOS6.7配置軟raid5(模拟故障增加硬碟)

最後需要reboot指令重新開機,測試開機是否自動挂載,raid5是否正常

我在這裡模拟/dev/sdc磁盤故障

mdadm /dev/md5 -f /dev/sdc

檢視重建狀态,因為之前建立raid5的時候設定了一個熱備盤,是以當有故障的磁盤時,熱備盤會自動頂替故障磁盤工作,陣列也會重建,通過cat /proc/mdstat可以看到目前陣列狀态

CentOS6.7配置軟raid5(模拟故障增加硬碟)

其中[3/2]的第一位數表示陣列所包含的裝置數,第二位數表示活動的裝置數,因為目前有一個裝置故障,是以第二位數為2,此時陣列以降級模式運作,雖然陣列仍然可用,但是不具有資料備援

[U_U]表示正常使用的裝置是/dev/sdb,/dev/sdd,假如這裡是/dev/sdd出現故障,則變成[UU_]

CentOS6.7配置軟raid5(模拟故障增加硬碟)

重建完成後檢視陣列狀态,此時raid恢複正常

CentOS6.7配置軟raid5(模拟故障增加硬碟)
CentOS6.7配置軟raid5(模拟故障增加硬碟)

接下來移除故障的磁盤

mdadm /dev/md5 -r /dev/sdc

CentOS6.7配置軟raid5(模拟故障增加硬碟)
CentOS6.7配置軟raid5(模拟故障增加硬碟)

因為剛才模拟損壞了一塊盤,是以目前陣列沒有熱備盤了,是以我們需要在添加一塊新的熱備盤,這裡為了友善,直接将剛才模拟損壞的硬碟再次添加到raid5中

mdadm /dev/md5 -a /dev/sdc

CentOS6.7配置軟raid5(模拟故障增加硬碟)

此時/dev/sdc變成了熱備盤,故障測試結束。

軟raid使用了一段時間後,發現磁盤空間不足了,此時就需要向目前軟RAID中增加新的磁盤,提高RAID的空間

關閉目前系統,增加磁盤,因為我是vm實驗環境,關閉虛拟機後直接添加硬碟即可

CentOS6.7配置軟raid5(模拟故障增加硬碟)

通過lsblk指令,可以看到剛才添加的磁盤是sdf

CentOS6.7配置軟raid5(模拟故障增加硬碟)

向目前raid5中增加一塊硬碟

mdadm /dev/md5 -a /dev/sdf

CentOS6.7配置軟raid5(模拟故障增加硬碟)

檢視RAID狀态

CentOS6.7配置軟raid5(模拟故障增加硬碟)

剛才向RAID中增加的磁盤,會被當作熱備盤,還需要把熱備盤加入到RAID的活動盤中

mdadm -G /dev/md5 -n4

CentOS6.7配置軟raid5(模拟故障增加硬碟)

上圖可以看到,剛新加的/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)增加了

CentOS6.7配置軟raid5(模拟故障增加硬碟)

但是通過df -Th檢視檔案系統容量發現大小并沒有改變,是以還需要對檔案系統擴容,根據磁盤大小,擴容時間也不相同,是以擴容時耐心等待resize2fs /dev/md5

CentOS6.7配置軟raid5(模拟故障增加硬碟)

上圖可以看到擴容成功,資料正常,新增磁盤成功

修改RAID的配置檔案vi /etc/mdadm.conf如下圖所示

CentOS6.7配置軟raid5(模拟故障增加硬碟)

最後reboot重新開機系統,确認RAID是否正常