# mdadm -Cv /dev/md0 -l5 -n4 -x1 -c128 /dev/sd[b,c,d,e,f]1 命令中各參數分別表示如下作用:“-C”指創建一個新的陣列;“/dev/md0”表示陣列設備名稱;“-l5”表示設置陣列模式,可以選擇0、1、4、5、6,它們分別對應於RAID0、RAID1、RAID4、RAID5、RAID6,這裡設為RAID5模式;“-n4”指設置陣列中活動設備的數目,該數目加上備用設備的數目應等於陣列中的總設備數; “-x1”設置陣列中熱備份設備的數目,當前陣列中含有1個熱備份設備;“-c128”指設置塊的尺寸為128KB,缺省為64KB;“/dev/sd[b,c,d,e,f]1”指當前陣列中包含的所有設備標識符,也可以分開來寫,中間用空格分開,其中最後一個為備份設備。
注:制作RAID0的時候是沒有必要加入-x參數,也就是沒有必要加入熱備盤
# more /proc/mdstat 等待新建或重構完成以後,生成配置文件/etc/mdadm.conf,文件格式如下: DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
ARRAY /dev/md0 level=raid5 num-devices=4 UUID=8f128343:715a42df: baece2a8: a5b878e0
以上信息可以通過掃描系統陣列來獲取 # mdadm -Ds 根據輸出按照格式填寫配置文件
創建文件系統並掛接: # mkfs -t ext3 /dev/md0 # mkdir /raid5 # mount /dev/md0 /raid5
為了讓系統在啟動時自動將/dev/md0掛接到raid5,還需要修改/etc/fstab文件,添加如下內容:
/dev/md0 /mnt/raid ext3 defaults 0 0
二、故障模擬
我們仍然沿用上面的RAID5配置,首先往陣列中拷貝一些數據,接下來開始模擬/dev/sdb1設備故障。不過,對於無備份設備的RAID5的模擬過程也要經過如下三步,只是陣列重構和數據恢復是發生在新設備添加到陣列中之後,而不是設備損壞時。
1.將/dev/sdb1標記為已損壞的設備 # mdadm /dev/md0 -f /dev/sdb1
查看當前陣列狀態 # more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdf1[3] sdd1[2] sde1[1] sdc1[0] sdb1[4](F)
75469842 blocks level 5, 128k chunk, algorithm 2 [4/3] [_UUU]
[=>...................] recovery = 8.9% (3358407/37734912) finish=1.6min speed=9382K/sec
unused devices:
因為有備份設備,所以當陣列中出現設備損壞時,陣列能夠在短時間內實現重構和數據的恢復。從當前的狀態可以看出,陣列正在重構,且運行在降級模式,sdb1[4]的後面已經標上了(F),活動設備數也降為2個。
經過幾分鐘後,再次查看當前陣列狀態。
# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdf1[3] sdd1[2] sde1[0] sdc1[1] sdb1[4](F)
75469842 blocks level 5, 128k chunk, algorithm 2 [4/4] [UUUU]
unused devices:
此時陣列重構已經完成,數據恢復完畢,原有的備份設備sdf1成為了活動設備。
2.移除損壞的設備
# mdadm /dev/md0 -r /dev/sdb1
查看當前陣列的狀態:
# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdf1[3] sdd1[2] sde1[0] sdc1[1]
75469842 blocks level 5, 128k chunk, algorithm 2 [4/4] [UUU]
unused devices:
損壞的sdb1已經從陣列中移掉。
3.將新設備添加到陣列中
因為是模擬操作,可以通過下面的命令再次將/dev/sdb1添加到陣列中。如果是實際操作則要注意兩點:一是在添加之前要對新磁盤進行正確的分區;二是添加時要用所添加設備的設備名替換/dev/sdb1。
# mdadm /dev/md0 -a /dev/sdb1
查看當前陣列的狀態:
# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdf1[4] sdd1[3] sde1[2] sdc1[1] sdb1[0]
75469842 blocks level 5, 128k chunk, algorithm 2 [4/4] [UUU]
unused devices:
這時sdb1作為備份設備再次出現在陣列中
常用陣列維護命令
1.啟動陣列
# mdadm -As /dev/md0
該命令指啟動/dev/md0陣列,其中“-A”指裝載一個已存在的陣列;“-s”指查找mdadm.conf文件中的配置信息,並以此為依據啟動陣列。
#mdadm -As
該命令指啟動mdadm.conf文件中的所有陣列。
#mdadm -A /dev/md0 /dev/sd[b,c,d,e]1
如果沒有創建mdadm.conf文件則可以采用上面這種啟動方式。
2.停止陣列
# mdadm -S /dev/md0
3.顯示指定陣列的詳細信息
# mdadm -D /dev/md0
三、LVM使用 1、制作物理卷 #fdisk /dev/sdm 使用命令n創建分區,按p選擇主分區.分區完成後按t改變分區類型為8e,命令w保存分區表並退出,依次分完m,l盤 #pvcreate /dev/sdm1 #pvcreate /dev/sdl1
2、制作卷組 #vgcreate vg01 /dev/sdm1 /dev/sdl1
3、建立邏輯卷 #lvcreate -L 100M -n lv01 vg01 100M指創建的邏輯卷大小
4、卷組擴充 #vgextend vg01 /dev/sdb1
5、刪除邏輯卷 #lvremove /dev/lv01
6、擴充邏輯卷 #lvextend -L +500M /dev/vg01/lv01
7、創建文件系統和掛接 #mkfs -t ext3 /dev/vg01/lv01 #mkdir /lv01 #mount /dev/vg01/lv01 /lv01
8、查看LVM信息 #vgdisplay -v /dev/vg01 #lvdisplay /dev/vg01/lv01