Linux學習-軟件磁盤陣列的設定(mdadm)

Software RAID--磁盤陣列有硬件磁盤陣列和軟件磁盤陣列,硬件磁盤陣列使用磁盤陣列卡來達成效果,使多個磁盤組成一個大的磁盤,對操作系統而言,只能看見這個大的磁盤卻看不見那些小的磁盤,但是磁盤陣列卡造價昂貴,普通用戶在學習過程中無法實現硬件磁盤陣列;因此出現了用軟件來實現磁盤陣列的功能,操作系統將多個小的磁盤組成一個大的虛擬磁盤,同時操作系統可以看得見每個小的磁盤.



目錄

  • Software RAID的創建(mdadm --create | -C)

  • Software RAID仿真錯誤(mdadm --manage)

  • 如何開機掛載RAID

  • 如何徹底關閉RAID

  • 共享熱備盤的實現

  • 案例



****************** Software RAID的創建(mdadm --create|-C)********************

~]# mdadm -C -a yes /dev/md0 -n 2 -l 0 /dev/sdc /dev/sdd
~]# mdadm -C -a yes /dev/md1 -n 2 -l 1 /dev/sde /dev/sdf
~]# mdadm -C -a yes /dev/md1 -n 2 -l 1 -x 1 /dev/sd{e,f,g}

    -C 創建raid

    -a yes 自動創建後面接着的raid設備/dev/mdX

    -n (--raid-devices=) num   陣列中磁盤的數量

    -x (--spare-devices=) num  熱備盤的數量

    -l (--level=) [015]        設定磁盤陣列的等級,通常爲raid 0,raid 1,raid 5

    最後必須列出創建磁盤陣列用到的各個磁盤

~]# mdadm -D /dev/md0

    -D (--detail)  後面接設定的磁盤陣列裝置名,查看raid信息


blob.png

另外 cat /proc/mdstat  可以查看全部的raid信息

blob.png


******************二 Software RAID仿真錯誤(mdadm --manage)******************

mdadm (--manage) /dev/md1 -f /dev/sdf  將md1中的sdf設置爲壞的設備,--manage加不加無所謂,下同

mdadm (--manage) /dev/md1 -r /dev/sdf  將md1中的sdf從raid成員中刪除

mdadm (--manage) /dev/md1 -a /dev/sdf  向md1中增加新成員sdf 

mdadm -G /dev/md1 -n 3 -a /dev/sdh     將raid1 md1的成員數量改爲3,並加入新的成員(不是加爲熱備盤)

blob.png

blob.png

可以發現-a的作用是:

    會根據一開始創建RAID設定的raid-devices=num的值變化;

    如果RAID中原本的num個磁盤都完好,-a只是增加熱備盤

    如果RAID中能使用的磁盤數不足num,-a會補充組成raid-device


****************************三 如何開機掛載RAID***************************

和之前磁盤分區的掛載完全一樣,把RAID當做一個磁盤處理就是了

1 修改raid的配置文件/etc/mdadm.conf

mdadm -D -s > /etc/mdadm.conf

2 修改配置文件/etc/fstab(相信大家很熟悉了)

/dev/md0                /mnt/raid               ext4    defaults        1 2

將上面的一行加入該配置文件

3 掛載mount -a

重啓之後查看

blob.png


****************************四 如何徹底關閉RAID****************************

mdadm -S(--stop) /dev/md0      停止raid

mdadm -A /dev/md0 /dev/sdc /dev/sdd /dev/sde  開啓raid

blob.png

mdadm -D -s  

blob.png

mdadm -D -s > /etc/mdadm.conf  將raid信息保存至該文件

mdadm -A -s    自動激活/etc/mdadm.conf中的所有raid設備

-------------------------------------------------------------------------------

徹底關閉raid並且之後也不會再激活的方法:

    mdadm -S /dev/mdX

    將/etc/mdadm.conf中的內容去掉

    mdadm --zero-superblock /dev/sdM(RAID device)  關鍵


****************************五 共享熱備盤的實現****************************

# 創建raid 1和raid 5,其中只有raid 5有熱備盤
~]# mdadm -C --auto=yes /dev/md0 -n 2 -l 1 /dev/sd{c,d}
~]# mdadm -C --auto=yes /dev/md1 -n 3 -x 1 -l 5 /dev/sd{e..h}

實現/dev/md0 和/dev/md1 之間僅有的一個熱備盤共同使用

①mdadm -D -s > /etc/mdadm.conf

②在需要共享的多組raid信息最後分別都寫上spare-group=任意名

③然後再加一新行,頂頭寫MAILADDR .(一定要有空格)blob.png

④service mdmonitor start

⑤測試

   查看之前的兩個RAID的狀態

blob.png

# 損壞/dev/md0中的磁盤/dev/sdc(注意/dev/md0中並沒有熱備盤)
~]# mdadm /dev/md0 -f /dev/sdc
mdadm: set /dev/sdc faulty in /dev/md0

blob.png

結果/dev/md1下的熱備盤/dev/sdh自動替換/dev/md0下的損壞的/dev/sdc


************************************** 六 案例 **************************************

1:創建一個可用空間爲1G的RAID1設備,文件系統爲ext4,開機可自動掛載至/backup目錄

新加入兩個1G大小的硬盤
echo '- - -' > /sys/class/scsi_host/host0/scan
lsblk 或 cat /proc/partitions 或  ll /dev/sd*
mdadm --create --auto=yes /dev/md0 --level 1 -n 2 /dev/sd{c,d}
mdadm -D /dev/md0
mkfs.ext4 /dev/md0
blkid /dev/md0
mkdir /backup
mount /dev/md0/backup

2:創建由三塊硬盤組成的可用空間爲2G的RAID5設備,要求其chunk大小爲256k,文件系統爲ext4,開機可自動掛載至/mydata目錄

新創建三個2G大小的硬盤
echo '- - -' > /sys/class/scsi_host/host0/scan
mdadm --create --auto=yes /dev/md1 --level=5 --chunk=256K -n 3 /dev/sd{e,f,g}
mkfs.ext4 /dev/md1
mkdir /mydata 
mount /dev/md1 /mydata


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