实验系统环境
实验环境: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