Linux系統中實現RAID卷詳解

   在Linux系統中做RAID,磁盤陣列的設備可以是一塊磁盤中的三個以上的分區,也可以是三塊或以上的磁盤。本文主要以幾塊磁盤爲例,來實現在RAID5

實驗環境:

   系統中有一塊磁盤sda,新添加6SCSI磁盤,分別爲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  //新建立的軟件磁盤陣列設備爲md0md序號可以爲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的詳細信息:

110353744.jpg

查看/proc/mdstat文件,可以比較簡單明瞭的查看RAID創建和運行的情況:

[root@svr ~]#cat /proc/mdstat

S代表預備(spare)磁盤,4U代表正常,出現_表示不正常

確認新建的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是否可以使用

111248860.jpg

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/md16個塊設備組成,完成擴容,還需要7.7分鐘。

[root@svr /]#cat /proc/mdstat

等待擴容完成.....

執行下列命令:

[root@svr /]#resize2fs -f /dev/md0

驗證是否已經擴大容量:

[root@svr /]#df -hT


驗證預備磁盤是否能正常工作:

   模擬RAID5中一塊磁盤損壞,檢驗spare磁盤的功能(raid5中允許一塊磁盤損壞,我們所設置的那1spare磁盤會立即替代損壞的磁盤,進行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了。


RAID0RAID1實同於RAID5

RAID0:並行讀寫數據(帶區卷)

RAID1:鏡像磁盤陣列(鏡像卷)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章