mdadm grow 失败,并显示“mdadm:阵列正在重新同步或重塑等时无法添加位图”。

mdadm grow 失败,并显示“mdadm:阵列正在重新同步或重塑等时无法添加位图”。

我们有一个 RAID-1 设置。我们将旧的 1TB 磁盘换成了 3.7TB 磁盘。磁盘更改没有问题,磁盘同步。我们确实必须将分区类型从 MBR 更改为 GPT,但这不会影响 RAID 位图。

我们重塑了一个磁盘的分区,等待它同步,然后重塑第二个磁盘的分区,并再次等待同步。

现在,我们的磁盘(sda 和 sdc)用于多个 RAID,即 md0、md1 和 md2。

新磁盘同步,没有问题,但 RAID 仍然看到 1TB 的原始空间。我们按照说明扩展 RAID,但仅限于 md2,因为我们不需要扩展 md0 和 md1。这些说明改编自https://raid.wiki.kernel.org/index.php/Growing

mdadm --grow /dev/md2 --bitmap none
mdadm --grow /dev/md2 --size=max
mdadm --wait /dev/md2
mdadm --grow /dev/md2 --bitmap internal

我注意到“--bitmap none”删除了 md0、md1 和 md2 上的位图。

等待的时间很短,因为我们意识到操作系统没有看到磁盘变大了。我们执行了partprobe四个命令,然后重新执行了四个命令,现在我们有一个适当的等待,因为磁盘已经同步了。但最后一个命令仍然失败:

~# mdadm --grow /dev/md2 --bitmap internal
mdadm: Cannot add bitmap while array is resyncing or reshaping etc.
mdadm: failed to set internal bitmap

显示mdadm --detail /dev/md2一切正常,只是一致性策略是重新同步而不是位图。 也是一样/proc/mdstat

这是在 Debian Bullseye 上,因此使用 mdadm v4.1。

我知道这里缺少一些信息,但我不确定要查找或报告什么才能诊断和修复此问题。知道在哪里查找吗?

答案1

好吧,我们必须冷重启机器才能运行新的内核版本。

在关机过程中,我们收到一条简短消息,提示 RAID 进程卡住且无响应,随后该进程被强制关闭。我们没有时间记下该进程是什么。

当机器重新启动时,我们可以执行此操作,mdadm --grow /dev/md2 --bitmap internal并且它可以正常工作。

因此,该问题是一个卡住的进程,冷重启解决了该问题。

相关内容