實驗系統環境
實驗環境:VMware Workstation Pro 14(試用版)
系統平台:
CentOS release 6.9 (Final) 核心 2.6.32-696.el6.x86_64
mdadm 版本:
CentOS6:mdadm-3.3.4-8.el6.x86_64
磁盤規劃如下:
磁盤編号
分區1
分區2
分區格式
69-1G-1
500M
未分區
ext4
69-1G-2
1GB
69-1G-3
300M
700M
69-1G-4
初始狀态
#mkfs.ext4 /dev/sdc1 -L "500M"
#mkfs.ext4 /dev/sde1 -L "300M"
#mkfs.ext4 /dev/sde2 -L "700M"
mkadm
功能描述:
管理 Linux Software RAID MD裝置
格式:
mdadm [mode] <raiddevice> [options] <component-devices>
預設:
版本
選項
說明
示例
6
-C
建立模式
建立陣列時,陣列所需磁盤數為
-n參數和-x參數的個數和
-n 數量: 裝置個數
-l 數量:指明要建立的RAID的級别
-a {yes|no}:自動建立目标RAID裝置的裝置檔案
-c CHUNK_SIZE: 指明chunk塊大小,預設512K
-x 數字: 指明熱備用盤的個數,能在工作盤損壞
後自動頂替
管理模式
-f: 标記指定磁盤為損壞
-a: 添加磁盤
-r: 移除磁盤
-d: 删除磁盤
-G
增長模式
#mdadm -G /dev/md0 -n 4 -a /dev/sdj
-D
顯示RAID的詳細資訊
-A
裝配模式
#mdadm -A /dev/md0
-S
停用RAID,停用後,磁盤上将會隐藏此裝置
#mdadm -S /dev/md0
-R
強制md裝置運作
-F
監控
-s
掃描md的狀态:
/proc/mdstat 或/etc/mdadm.conf
--zero-superblock
删除RAID資訊
建立
#mdadm -C /dev/md0 -a yes -l 5 -n3 /dev/sd{f,g,i} -x /dev/sdbh -c 256K
指令解讀:
-C /dev/md0 -a yes 進入建立新RAID模式,自動建立名為/dev/md0的裝置檔案。mdN由你指定。
-c 256K 指明chunk塊大小為256K
-l 5 指明RAID level 為 5
-n3 /dev/sd{f,g,i} 指明由3個裝置來組成RAID 5,後面列出組成的裝置名
-x1 /dev/sdh 指明由1個裝置來成為此RAID 5 的備用盤,後面列出組成的裝置名
檢視一下此md0的狀态
通過blkid也能發現UUID有2個,前面的一個是RAID的,後面一個是各自的磁盤UUID
生成配置檔案
#mdadm -Ds /dev/md0 >> /etc/mdadm.conf
建立檔案系統
#mkfs.ext4 /dev/md0 -L "RAID5-MD0"
通過blkid和lsblk -f 能發現相應的資訊
/dev/md0: LABEL="RAID5-MD0" UUID="7cb89dc2-5fb3-445a-98c6-81c6a7e4c2af" TYPE="ext4"
将此RAID挂載使用
#mount -a,由于RAID的可用容量為參與磁盤數(N-1) X 最小磁盤容量空間=(3-1)X 2G =4G,這個不計算備用磁盤的。
對比下磁盤性能,先把swap關了
現在我們再添加一個新的硬碟
-G /dev/md0 對/dev/md0進行變更操作
-n 4 指明由4個裝置來組成RAID 5
-a /dev/sdj 添加/dev/sdj到RAID成員組
但是,使用df 檢視的時候,磁盤空間并沒有增加
使用指令進行空間同步
#resize2fs /dev/md0 【ext檔案系統】
添加至5塊硬碟
#mdadm -G /dev/md0 -n 5 -a /dev/sdk
别急,需要時間等RAID5同步資訊
Reshape Status : 12% complete
Delta Devices : 1, (4->5)
速度還是不錯的
移除RAID成員磁盤,必須先将想要移除的磁盤标記為失效,否則會提示如下
#mdadm /dev/md0 -f /dev/sdk,把sdk标記為損壞的。
#mdadm /dev/md0 -r /dev/sdk
mdadm: hot removed /dev/sdk from /dev/md0
可以将另一塊磁盤天添加至此RAID,這樣就會重建分區資料了
#mdadm /dev/md0 -a /dev/sdk
删除磁盤上的對應RAID資訊,當退出的磁盤不再參與RAID陣列時,可以将此RAID資訊删除。
#mdadm --zero-superblock /dev/sdl
本文轉自 ljpwinxp 51CTO部落格,原文連結:http://blog.51cto.com/191226139/2051189