一 故障现象

服务器在启动过程中无法进入操作系统,卡在 (initramfs) BusyBox 紧急救援模式。屏幕持续报错:

ALERT! /dev/mapper/ubuntu--vg-lv--0 does not exist. Dropping to a shell!

同时系统不断提示 mdadm: No arrays found...。此现象导致 Kubernetes (K8s) 节点无法上线,业务 Pod 无法正常调度。

二  故障原因分析

本次故障为典型的 Linux LVM 逻辑卷激活失败,具体由以下两个底层原因叠加导致:

1. 内核引导镜像(initramfs)过时:系统在更新内核或调整磁盘后,未同步更新 initramfs,导致启动时的微系统未能正确包含识别物理硬盘和 LVM 所需的内核驱动模块。

2. LVM 元数据残留“幽灵物理卷”:系统 LVM 的 ubuntu-vg 卷组元数据中,记录了一个已丢失(或 UUID 不匹配)的物理卷(PV)。系统在启动时尝试扫描这个找不到的物理卷,导致 LVM 激活失败,最终根分区 ubuntu--vg-lv--0 无法挂载。

⚠️ 潜在隐患补充:在后续检查中发现,服务器的 /etc/fstab 挂载表中,/boot 和 /boot/efi 分区使用了 /dev/sda1 和 /dev/sda2 这种动态设备名(注:实际系统盘为 sdb,sda 为数据盘)。这种写法在设备顺序发生变动时,极大概率会导致服务器再次无法启动。

三  故障处理过程记录

阶段一:现场手动抢救(在 (initramfs) 模式下)

1 查看看系统识别的了哪些磁盘, 是否有软raid LVM设备映射. 发现 lvm 缺少ubuntu--vg-lv--0

cat /porc/partitions
cat /proc/mdstat
ls /dev/mapper 

2. 手动扫描并激活 LVM 卷组,确认 LVM 逻辑卷挂载点生成

root@k8s-master03:~# lvm vgchange -ay
root@k8s-master03:~# ls /dev/mapper/
control  ubuntu--vg-lv--0  vg01-longhorn--data01  vg02-longhorn--data02
#   (成功查看到 ubuntu--vg-lv--0 逻辑卷)

3. 输入 exit,令系统跳转继续尝试正常启动,成功进入操作系统。

阶段二:系统内彻底修复

1. 更新系统内核初始引导镜像,解决内核驱动缺失问题:

update-initramfs -u

2. 清理 LVM 卷组中已丢失的“幽灵”物理卷(剔除元数据残留):

vgreduce --removemissing ubuntu-vg

3. 重新生成 GRUB 引导菜单配置:

 update-grub

4. 检查磁盘挂载状态,确认系统 /、/boot、/data 等目录空间充足且挂载正常:

df -h

四、 最终修复与硬盘挂载配置优化

针对后续重启可能引发的隐患,对 /etc/fstab 自动挂载表进行了深度修正:

将原本写死的 /dev/sda1 和 /dev/sda2 (使用 UUID 查询工具)替换为全球唯一的 UUID= 格式。确保不论系统如何识别盘符,都能准确找到 EFI 和 Boot 分区。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐