一 故障现象
服务器在启动过程中无法进入操作系统,卡在 (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/mapper2. 手动扫描并激活 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 -u2. 清理 LVM 卷组中已丢失的“幽灵”物理卷(剔除元数据残留):
vgreduce --removemissing ubuntu-vg3. 重新生成 GRUB 引导菜单配置:
update-grub4. 检查磁盘挂载状态,确认系统 /、/boot、/data 等目录空间充足且挂载正常:
df -h四、 最终修复与硬盘挂载配置优化
针对后续重启可能引发的隐患,对 /etc/fstab 自动挂载表进行了深度修正:
将原本写死的 /dev/sda1 和 /dev/sda2 (使用 UUID 查询工具)替换为全球唯一的 UUID= 格式。确保不论系统如何识别盘符,都能准确找到 EFI 和 Boot 分区。