mdadm使用小记


目录
  • 安装mdadm工具(用于创建RAID磁盘)
  • 创建分区
  • 创建raid0,1,5
    • Raid 0
    • Raid 1
    • Raid 5
    • 开机自动挂载
  • 停止raid
  • 重新启用
  • 重组
  • 损坏
  • 移除
  • 添加
  • 热备
  • Raid1覆盖
  • 检查
  • 监控RAID

安装mdadm工具(用于创建RAID磁盘)
yum -y install mdadm            #如果是最小化安装需要手动安装该工具

lsblk用于列出所有可用块设备的信息

创建分区

sdb sdc sdd上新建几个分区用来做raid(若不划分区直接 fdisk /dev/sdb{c,d},t->fd->wq)

fdisk /dev/sdb ,n->p->回车->回车-> +100M ->t->回车->fd->wq

此时所有可用块设备的信息

格式化分区

创建raid0,1,5
Raid 0
mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb1 /dev/sdc1

-C :创建
-v :打印信息
-l :指定raid级别
-n :使用的设备数量
注意:在创建raid前,应该先查看磁盘是否被识别,如果内核还未识别,创建Raid时会报错:
cat /proc/partitions
如果没有被识别,可以执行命令:
partx –a /dev/sdb或者partprobe/dev/sdb

mdadm -Ds >/etc/mdadm.conf  #将输出的raid信息导入到/etc/mdadm.conf中

mdadm -D /dev/md0 #查看某个raid 详细信息

Raid 1
mdadm -C -v /dev/md1 -l 1 -n 2 /dev/sdb2 /dev/sdc2

mdadm -Ds >/etc/mdadm.conf  #将输出的信息导入到/etc/mdadm.conf中
Raid 5
mdadm -C -v /dev/md5 -l 5 -n 3 /dev/sdb3 /dev/sdc3 /dev/sdd1

mdadm -Ds >/etc/mdadm.conf  #将输出的信息导入到/etc/mdadm.conf中

格式化

mkfs.ext4 /dev/md1
mkfs.ext4 /dev/md0
mkfs.ext4 /dev/md5

创建挂载点

挂载

mount /dev/md0 /mnt/raid0
mount /dev/md1 /mnt/raid1
mount /dev/md5 /mnt/raid5

查看挂载是否正常

ls /mnt/raid0       #显示lost+found为正常

查看本机所有的raid状态

cat /proc/mdstat

正常的情况会是[UUU],若第一个磁盘损坏则显示[ _UU ]

开机自动挂载

查看raid的UUID

blkid | grep md

编辑/etc/fstab

vi /etc/fstab

停止raid

先卸载

umount /dev/md0

再停止

mdadm -Dsv > /etc/mdadm.conf #停止前,一定要先保存配置文件

mdadm --stop /dev/md0

重新启用
mdadm -A /dev/md0

清除组件设备中的信息(该操作会将磁盘中的信息归零导致不能再重组,需要先停止raid,一般不操作,若要删除raid可以操作)

mdadm --zero-superblock /dev/sdb1
重组

磁盘被移除以后数据未损坏,可以停掉raid进行重组之后再启用
例子:#

mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1
说明:把sdb1和sdc1重组成/dev/md0

将阵列保存到配置文件

mdadm -D --scan >/etc/mdadm.conf
损坏

Raid1模拟损坏(raid5类似)

mdadm /dev/md1 –f /dev/sdc2     #模拟sdc2损坏

查看状态

移除
mdadm /dev/md1 –r /dev/sdc2     #移除损坏的磁盘,只有标记为损坏才能移除
添加
mdadm /dev/md1 -a /dev/sdd2

问题
删除损坏的分区sdc2之后重新制作的分区sdc2信息没有识别到
partx -d /dev/sdc2 #先将原有信息清除
partx -a /dev/sdc2 #添加调整后的磁盘分区信息
partx -s /dev/sdc #显示磁盘分区信息

热备

给RAID增加热备盘

mdadm /dev/md5 -a /dev/sdd1

也可创建的时候使用-x指定热备

mdadm -C /dev/md5 -l 5 -n 3 -x 1   /dev/sda{5,6,7,8}

模拟损坏

mdadm  /dev/md5 -f /dev/sdc3

查看详情,可以看到sdc3已自动更换成了sdd1,状态(State)recovering表示正在恢复,重建进度为30%,等待一会再查看就是正常的clean了

Raid1覆盖
mdadm --zero-superblock /dev/sdb1
mdadm --assemble --run /dev/md/test /dev/sda1 #强制启动
mdadm /dev/md/test --add /dev/sdb1            #sda1 的内容完全覆盖 sdb1 的内容
检查

检查设备是否已经做过raid

mdadm -E /dev/sd{b,c}1
监控RAID

mdadm的监控模式提供一些实用的功能,你可以使用下列命令来监控/dev/md0,delay参数意味着检测的时间间隔,这样紧急事件和严重的错误会及时发送给系统管理员:

 mdadm --monitor --mail=root@localhost --delay=300 /dev/md0

相关