软件 RAID-1 阵列降级后 Debian 服务器无法启动

软件 RAID-1 阵列降级后 Debian 服务器无法启动

我有一台装有 3 块硬盘的 Debian 7 服务器。其 RAID-1 基本配置如下:

md0:sda1,sdb1 --> /(根)md1:sda5,sdc1 + sdb5(备用)--> /数据(sdc1 位于 SSD 上,sda5 标记为“writemostly”)。

sda 和 sdb 都安装了 grub。

在安装额外的网卡时,我弄乱并拔掉了sdc的数据线(注意sdc没有GRUB或/,并且应该与启动无关)。

之后系统启动正常。我注意到了错误,关闭了机器,然后重新插入 sdc(此时 mdadm 正在备用驱动器上重建 md1)。

现在,系统要么给我可怕的 GRUB shell,要么只是一个带有闪烁光标的黑屏。这取决于我拔掉的硬盘。但没有哪种硬盘组合能让我成功启动。我还尝试过连接所有 3 个驱动器,并告诉 BIOS 手动从任何启动驱动器启动。

我最终所做的是在救援模式下启动 Debian 设置、组装 RAID 设备并重建它们。

这并没有导致启动成功。

于是我再次启动救援模式,并在 sda 和 sdb 上手动重新安装 GRUB。这解决了我的问题。

我的问题是:这里发生了什么?a) 据我所知,sdc 不应该以任何方式影响启动?b) 即使我中断的 RAID 重建过程会影响启动,为什么在救援模式下重建 RAID 阵列后系统无法启动?如果据我所知,驱动器上存放 GRUB 的扇区与 RAID 阵列没有任何关系,为什么我必须手动在 sda 和 sdb 上重新安装 GRUB?

答案1

首先:不要再做任何事情。通过中断一次重建并测试各种组合,数据可能已被破坏、毁坏或丢失。通常最好让一个操作完全完成后再尝试下一步——中断会带来不确定性和混乱,而浪费时间通常比丢失数据要好得多。

我建议采用以下方法:

一次处理一个驱动器。 dd在写入任何更改之前,将整个驱动器备份(如果可用)。

对于每个驱动器,尝试在没有 RAID 的情况下单独安装每个分区。我认为您需要mdadm --stop /dev/mdX将其从 RAID 中分离出来,然后才能正常安装它。

找到每个分区的干净副本(或最不混乱的副本)并将它们传输到非 RAID 驱动器。恢复可启动的非 RAID 系统后,您应该能够重建 RAID 设备。由于您有三个驱动器和两个分区,您应该能够在没有额外磁盘的情况下完成此操作(除了备份dd- 这不是必需的,但可以避免进一步挖掘)。

相关内容