在Linux系統中做RAID,磁盤陣列的設備可以是一塊磁盤中的三個以上的分區,也可以是三塊或以上的磁盤。本文主要以幾塊磁盤爲例,來實現在RAID5。
實驗環境:
系統中有一塊磁盤sda,新添加6塊SCSI磁盤,分別爲sdb,sdc,sdd,sde,sdf,sdg,其中4塊作爲磁盤陣列的設備,1塊作爲預備(spare)磁盤,還有1塊留作備用(用於擴展RAID)。
創建RAID5:
1.先查看一下系統中磁盤設備:fdisk -l
...顯示結果省略
2.接下來開始創建RAID了,主要會應用到mdadm命令,使用此命令需要先安裝RHEL6安裝光盤中自帶的mdadm包,如果沒有安裝,先進行安裝。
創建RAID5,命令如下:
[root@svr /]# mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=4 --spare-devices=1 /dev/sd[b-f]
參數說明:
--create //表示要創建raid
--auto=yes /dev/md0 //新建立的軟件磁盤陣列設備爲md0,md序號可以爲0-9
--level=5 //磁盤陣列的等級,這裏表示創建是的raid5
--raid-devices //添加作爲磁盤陣列用的磁盤的塊數
--spare-devices //添加作爲預備(spare)磁盤的塊數
/dev/sd[b-f] //磁盤陣列所使用的設備,還可寫成/dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
另外這條命令也可以簡寫:
[root@svr /]#mdadm -C /dev/md0 -l5 -n4 -x1 /dev/sd[b-f]
3.查看RAID是否成功創建及是否正常運行,有兩種方法(當磁盤容量越大時,磁盤陣列構建的時間越長,所以可能需要等待很長時間才能看到以下信息):
執行mdadm --detail/dev/md0 命令查看RAID的詳細信息:
查看/proc/mdstat文件,可以比較簡單明瞭的查看RAID創建和運行的情況:
[root@svr ~]#cat /proc/mdstat
S代表預備(spare)磁盤,4個U代表正常,出現_表示不正常
確認新建的RAID設備
執行 mdadm -Q /dev/md0 //-Q用來查詢設備信息。
[root@svr ~]#mdadm -Q /dev/md0
4.格式化並且掛載和使用創建的RAID:
[root@svr ~]# mkfs.ext4 /dev/md0 [root@svr ~]# mkdir /raid5 [root@svr ~]# mount /dev/md0 /mnt/raid5
查看一下新掛的RAID是否可以使用
5.設置開機自動啓動RAID以及自動掛載:
先建立/etc/mdadm.conf這個配置文件
[root@svr ~]# mdadm --detail /dev/md0 |grep UUID > /etc/mdadm.conf [root@svr ~]# vi/etc/mdadm.conf ARRAY/dev/md0 UUID=d58ed27d:00ce5cf5:b26ed1e9:879d0805
然後再修改/etc/fstab文件,設置開機自動掛載:
[root@svr ~]# vi/etc/fstab /dev/md0 /mnt/raid5 ext4 defaults 0 0
然後再修改/etc/fstab文件,設置開機自動掛載:
重啓一下系統,就可以檢查開機自動掛載有沒有設置成功了!
擴容raid磁盤陣列:
顯示磁盤陣列的組成情況,4個塊設備組成,:
[root@svr /]# cat /proc/mdstat
把/dev/sdg增加進陣列/dev/md0:
[root@svr /]#mdadm --add /dev/md0 /dev/sdg
把raid5陣列/dev/md0修改爲5個塊設備:
[root@svr /]#mdadm --grow/dev/md0 -n5
再顯示一下磁盤陣列的組成情況,現在/dev/md1是6個塊設備組成,完成擴容,還需要7.7分鐘。
[root@svr /]#cat /proc/mdstat
等待擴容完成.....
執行下列命令:
[root@svr /]#resize2fs -f /dev/md0
驗證是否已經擴大容量:
[root@svr /]#df -hT
驗證預備磁盤是否能正常工作:
模擬RAID5中一塊磁盤損壞,檢驗spare磁盤的功能(raid5中允許一塊磁盤損壞,我們所設置的那1塊spare磁盤會立即替代損壞的磁盤,進行RAID的重建,保障數據的安全):
先查看一下/dev/md0當前的狀態
[root@svr /]#mdadm --detail /dev/md0 [root@svr /]#cat /proc/mdstat
使用以下命令設置磁盤sdd成爲出錯狀態
[root@svr ~]#mdadm --manage /dev/md0 --fail /dev/sdd
接下來再來查看一下/dev/md0當前的狀態
[root@svr /]#mdadm --detail /dev/md0 [root@svr /]#cat /proc/mdstat
進入到RAID掛載的目錄raid5目錄下,發現raid還可以使用,說明預備磁盤工作正常。
[root@svr /]#cd /raid5 [root@svr /]#touch 1.txt [root@svr /]#
將出錯的磁盤刪除並加入新的磁盤:
先刪除損壞的磁盤sdd,命令如下:
[root@svr raid5]#mdadm --manage /dev/md0 --remove/dev/sdd
再添加一塊新的磁盤作爲spare磁盤,命令如下:
[root@svr raid5]#mdadm --manage /dev/md0 --add /dev/sdg
OK,再來執行以下命令查看一下:
[root@svr /]#mdadm --detail /dev/md0
關閉軟件RAID的方法:
當你不再需要已經設置的RAID的時候,可以用以下方法關閉RAID:
1、卸載/dev/md0,並且刪除或註釋掉/etc/fstab文件中的配置:
[root@svr ~]#umount /dev/md0 [root@svr ~]#vi /etc/fstab #/dev/md0 /mnt/raid5 ext4 defaults 00
2、註釋掉或刪除/etc/mdadm.conf中的設置
[root@svr ~]#vi /etc/mdadm.conf #ARRAY /dev/md0 UUID=d58ed27d:00ce5cf5:b26ed1e9:879d0805
3、停止raid設備
[root@svr ~]#mdadm --stop/dev/md0
4)刪除raid中的所有磁盤
[root@svr ~]#mdadm --misc --zero-superblock /dev/sd[b-f]
這時候raid中的磁盤就刪除了,重啓後也不會有raid了。
RAID0和RAID1實同於RAID5
RAID0:並行讀寫數據(帶區卷)
RAID1:鏡像磁盤陣列(鏡像卷)