mdadm删除md

mdadm构建RAID10 有一个乌龙误操作,使用了整个磁盘,而不是磁盘分区来构建RAID,不符合 mdadm构建RAID时应该使用分区还是直接使用磁盘? 规划,所以准备推倒重来:

  • RAID上还没有创建文件系统和挂载,所以跳过 umount /dev/md10

  • 检查 mdadm RAID设备:

检查 md 设备状态
cat /proc/mdstat

输出显示:

检查 md 设备状态 显示内容
Personalities : [raid10]
md10 : active raid10 nvme11n1[11] nvme10n1[10] nvme9n1[9] nvme8n1[8] nvme7n1[7] nvme6n1[6] nvme5n1[5] nvme4n1[4] nvme3n1[3] nvme2n1[2] nvme1n1[1] nvme0n1[0]
      22499211264 blocks super 1.2 512K chunks 2 near-copies [12/12] [UUUUUUUUUUUU]
      [>....................]  resync =  0.0% (21131008/22499211264) finish=1863.3min speed=201054K/sec
      bitmap: 168/168 pages [672KB], 65536KB chunk

unused devices: <none>
  • 停止md设备:

停止 md10 设备
mdadm --stop /dev/md10

此时再次检查 mdstat :

检查 md 设备状态
cat /proc/mdstat

显示状态如下:

停止 md10 设备之后的 mdstat
Personalities : [raid10]
unused devices: <none>
  • 尝试移除RAID设备:

尝试移除(删除) md10
mdadm --remove /dev/md10

提示没有这个设备:

尝试移除(删除) md10 出错,显示没有这个设备文件
mdadm: error opening /dev/md10: No such file or directory
  • 移除超级块(Superblocks):

移除磁盘设备超级块
mdadm --zero-superblock /dev/nvme{0..11}n1

备注

移除超级块的命令应该也可以通过 dd 来实现:

dd if=/dev/zero of=/dev/nvme0n1 bs=1M count=1024
  • 再次检查 mdstat :

检查 md 设备状态
cat /proc/mdstat

比较奇怪,我看到md10还在 mdstat 中显示,和之前stop之后一样:

移除磁盘超级块之后还是看到 [raid10] ,我尝试重启
Personalities : [raid10]
unused devices: <none>

参考