实验系统环境
实验环境: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 |
ext4 |
|
69-1G-3 |
300M |
700M |
ext4 |
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关了
现在我们再添加一个新的硬盘
#mdadm -G /dev/md0 -n 4 -a /dev/sdj
命令解读:
-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