mdadm组raid即软raid,是建立在操作系统之上的磁盘阵列,所以当系统出问题时,就需要重新装配raid。我这里只是想通过mdadm来学习一下raid,学习和了解raid的原理。
生产环境一般都是使用硬raid,有raid卡。
我这里使用的mdadm支持raid 0,raid 1,raid 4,raid 5等等,这里以最常用的raid 5举例。
1.测试准备(热备后面做)
准备三块同规格的裸盘
由于没有阵列,只需要组件一个新的阵列即可
阵列名: /dev/md0
raid : –level=5
设备: –raid-device=3 /dev/sdb /dev/sdc /dev/sdd
命令: mdadm –create /dev/md0 –level=5 –raid-device=3 /dev/sdb /dev/sdc /dev/sdd
cat /proc/mdstat查看进度
mdadm -D /dev/md0也能查看
等rebuding结束,raid 5即组装完成。
扩容、故障更换等场景
添加一块硬盘,这里由于之前设置的–raid-device=3,所以活跃数量已经确定为3了,后续添加的盘都会被视为spare热备盘,会当作活跃盘故障时切换使用等场景,为了实现扩容效果,需要修改之前设置的–raid-device数量。
添加一块热备
mdadm /dev/md0 –add-spare /dev/sde
添加一块盘
mdadm /dev/md0 –add/dev/sdf,显示也会成为热备
这里修改将–raid-device=4,热备会自动转化成活跃盘进行扩容重塑阶段
mdadm –grow /dev/dm0 –raid-device=4
最终可以正常重建完成
这里先移除了sdf热备盘,想尝试没有热备进入扩容重塑的阶段的结果。
mdadm /dev/sdf –remove /dev/sdf
mdadm –grow /dev/md0 –raid-device=5
这里会提示需要一块热备去避免降级,这里仅作测试,使用了–force去强制执行,后续不出意外,raid变成degraded降级了。
这种情况就需要再添加一块盘进入raid,他就能去直接同步、重建
这里再添加一块盘,模拟一个磁盘故障,进行磁盘阵列重建
模拟0号盘位故障,即/dev/sdb
mdadm /dev/md0 –fail /dev/sdb
6号盘位的热备盘会直接顶替,进行阵列重建操作
配置文件
/etc/mdadm/mdadm.conf
作用比较多,这里只了解到可以将mdadm -Dc的内容写入配置文件实现自动组装,手动组装就是mdadm -assemble。
可以将scan扫描出的阵列信息写入
系统是基于mdadm.conf配置文件+超级块(superblock)来识别阵列的,所以当mdadm.conf没有扫描的信息时,重启也能识别到阵列。
raid卡来创建的话就比较简单了,这里以IBMC管理平台的存储管理举例:
通过选择raid级别、选择物理磁盘等就可以直接组建raid
根据不同品牌和型号的 RAID 卡进行扫描磁盘的命令。
常用RAID