奇怪的 mdadm 行为 - 创建失败时,在新创建的部分归零分区上出现 md127,并显示“设备或资源繁忙”

奇怪的 mdadm 行为 - 创建失败时,在新创建的部分归零分区上出现 md127,并显示“设备或资源繁忙”

问题:

# ls /dev/md*
/dev/md0  /dev/md1

# dd if=/dev/zero of=/dev/sdb3 bs=1M count=1
# dd if=/dev/zero of=/dev/sdd3 bs=1M count=1
# mdadm --zero-superblock /dev/sdb3
# mdadm --zero-superblock /dev/sdd3

# mdadm --create -l 1 -n 2 /dev/md2 /dev/sdb3 /dev/sdd3
mdadm: cannot open /dev/sdb3: Device or resource busy

# ls /dev/md*
/dev/md0  /dev/md1  /dev/md127  /dev/md2

# mdadm -D /dev/md127
mdadm: md device /dev/md127 does not appear to be active.

我没有要求它自动检测和组装任何东西。我也没有重新启动。

我多次移动这些磁盘上的分区来尝试不同的设置。所以这些实验的痕迹可能无处不在。

sdb3 并不忙。我几秒钟前才创建它,如下所示:

swapoff -a
parted /dev/sdb rm 4        (my old raid10 + lvm)
parted /dev/sdb rm 3        (my old swap)
parted /dev/sdd unit s mkpart root4 503808 5860533118 (start here is same as swap start, and end is same as raid10+lvm end)
parted /dev/sdd set 3 raid on

另外,如果我创建了一个只有 /dev/sdd3 的设备,那么 --create 命令也会打印以下内容:

mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md2 started.

但是现在它还会打印,在“-l 1”再次工作之后,没有“设备或资源繁忙”消息。(并且该磁盘具有 bios_grub 和启动 raid1 分区,其元数据为 0.90,但这个 sdd3 与启动无关)。

但是我现在无法重现这个问题...我尝试了几次并且重现得很好,但是在尝试使用“-l 0”之后,它起作用了。“-l 10”与“-l 1”具有同样的效果。

问题:

为什么会出现md127呢?

如果创建失败,为什么还要使用 md2 呢?

将来,除了使用:

  • 将块设备的起始位置清零
  • mdadm --zero-超级块
  • 并使用“-l 0”创建(这是一个无意义的解决方案)

我还能做些什么来清理磁盘以便为“--create”做好准备?

答案1

md127仅从屏幕上发布的输出很难解释为什么会出现。但下次您可以做的是检查cat /proc/mdstat显示的内容 - 它会告诉您这是否md127真的是内核设备。如果不存在,您可以删除/dev/md127

与此相关,回答第二个问题,该mdadm工具将尝试创建下面的设备节点/dev,但如果由于某种原因失败,它将不会清理它们。

回答第三个问题 - 确保磁盘确实未被使用。cat /proc/mdstat,使用 停止任何 md 设备mdadm --stop,运行mdadm --zero-superblock,然后通过运行 确保没有 md 元数据mdadm --examine /dev/sd...

答案2

md127 是“分裂” RAID1 阵列时的结果。内核开始反向编号它们,以避免与现有配置的设备发生冲突。它将备用磁盘算作未知 RAID1 阵列的成员。我不知道为什么它将另一个磁盘指定为 md2。这是一个谜。

相关内容