当 root 位于已损坏的 RAID1 上时 openSuse 42.2 无法启动(缺少一个/新的/空磁盘)

当 root 位于已损坏的 RAID1 上时 openSuse 42.2 无法启动(缺少一个/新的/空磁盘)

案例如下:

我有两个磁盘设置为 RAID 1,如下所示:

  • /dev/md0( /dev/sda1+ /dev/sdb1) →/boot
  • /dev/md1( /dev/sda2+ /dev/sdb2) →/

我的场景:

  1. 启动具有 RAID 1 和阵列完全同步的服务器
  2. 正常关闭我的服务器
  3. 取出其中一张磁盘 ( /dev/sdb)
  4. 尝试仅使用一张磁盘再次启动

我的场景在 openSuse 11.3 → 42.1 上运行良好

在 openSuse 42.2 上,当我尝试仅使用一张磁盘启动时,GRUB 加载正常(同时也位于阵列上),但随后它会永远等待根 ( /dev/md1) 设备。我希望它能打破数组并继续。

我使用 DVD 上新安装的 42.2(带或不带 zypper 更新)以及从 42.1 进行的在线发行版升级对其进行了测试。所有场景中都有同样的问题。

如果阵列在关机前已损坏,则它确实可以正常启动(阵列已损坏)。

我还测试了在命令行上指定 RAID 设备:(linux .... root=/dev/md1 md=1 /dev/sda2,/dev/sdb2见图),但没有帮助。

屏幕截图可以在我在 openSuse Bugzilla 上打开的票证中找到:https://bugzilla.opensuse.org/show_bug.cgi?id=1017695

解决这个问题对我来说至关重要,因为我已经在客户站点遇到了几个问题,其中“硬关闭”(电气(电池)电源故障,在中美洲常见)损坏磁盘,导致与上述情况类似的情况。如果我不能以某种方式解决这个问题,我就无法升级到 openSuse 42.2。

请注意,引导加载程序 (GRUB2) 似乎不是问题,因为我可以在任何磁盘上引导,并且 GRUB 始终正确加载(尽管/boot也在 RAID 1 分区上)。问题是稍后挂载根文件系统时出现的。可能是脚本问题dracut-pre-mount

欢迎所有想法...

答案1

实际上被确认为openSuse的bug。 dracut 配置文件丢失...

解决方法描述如下:https://bugzilla.opensuse.org/show_bug.cgi?id=1017695

相关内容