Administrator
发布于 2025-09-28 / 2 阅读
0
0

udev损坏或版本不兼容导致LVM分区挂载失败

问题现象

lvm分区全部无法挂载,且使用mount会报错设备不存在。次问题依靠ChatGPT得以解决。

问题分析

[rootQibms-plat ~] mount -a 
mount: /home: special device /dev/mapper/rl-home does not exist
mount: /opt: special device /dev/mapper/rl-opt does not exist
mount: /var: special device /dev/mapper/rl-var does not exist
/dev/mapper/rl-home: Can't open blockdev
/dev/mapper/rl-opt: Can't open blockdev
/dev/mapper/rl-var: Can't open blockdev

does not existCan't open blockdev同时出现,表示系统无法识别和访问这些 LVM 逻辑卷对应的设备节点。原因为系统中的 udev 组件损坏或其依赖库版本不匹配,导致 udevadm 命令无法正常运行,错误信息如下:

udevadm: symbol lookup error: undefined symbol: device_rename, version SD_SHARED

由于 udev 无法正常加载,设备管理机制失效,LVM 激活后的逻辑卷未能自动在 /dev/mapper/ 下创建相应的设备节点(如 /dev/mapper/rl-home ),导致挂载失败。

问题修复

手动创建设备节点(临时过渡)

如果你暂时不能修复 udev,但 LVM 的逻辑卷已经激活了,可以先用 dmsetupmknod 手动创建挂载点:

# 查看设备映射
ls -l /dev/mapper/
dmsetup ls

如果如 /dev/mapper/rl-home 不存在但 dmsetup 显示了,可以尝试:

dmsetup mknodes

这条命令可以强制重新创建设备映射节点(不依赖 udev)。

ls /dev/mapper/rl-home
mount /dev/mapper/rl-home /home

挂载好分区之后先备份数据。

重新安装 udev 工具

Rocky 9 系列系统可以用下面方式重装:

dnf reinstall systemd-udev

或者离线修复(需准备好 RPM 包):

rpm -Uvh --replacepkgs systemd-udev-*.rpm

注意:不要删除 udev,否则系统可能无法启动。

ChatGPT分析解决过程

https://chatgpt.com/share/686a3f8a-0c78-800d-96cf-3815de4341c6


评论