fstab只能使用UUID挂载的问题

网友投稿 860 2022-08-24

fstab只能使用UUID挂载的问题

fstab只能使用UUID挂载的问题

一、 问题描述

最初问题为虚机启动后无法进入系统,一直卡在如下界面

经排查发现,进入单用户模式,将以下目录注释掉,可以正常启动。

在fstab下只能使用UUID挂载,使用目录挂载会出现无法正常进入系统,根和swap可以通过目录挂载。

查看路径,使用UUID时会自动生成b开头的文件

尝试将b开头文件删除,修改fstab为默认的,使用mount -a无报错,但是重启后又会卡在之前的界面,故未找到故障原因。

在本机测试,如果删除/dev/mapper下的链接文件,重启后会自动生成。

期望解决的问题

期望结果: fstab只能使用UUID挂载的原因以及修复回默认目录挂载方法。

二、问题排查

1、使用lv卷组进行挂载看是否可以正常启动

不使用UUID,使用lv卷组,无法正常启动。

所以只能进单用户去将fstab修改回来,使用UUID或者注释,先将系统启动,再来排查问题。“rd.break cnotallow=tty0”

查看/dev/mapper/*下面是否正常。

发现与正常的root/swap卷组不一样。没有链接到/dev/dm-*下面的块设备,而是直接自己生成了/dev/mapper/lv 这样的块设备。

故查看系统逻辑卷及块设备是否正常,查看lvm卷组与dm块设备是否对应正常

卷组都正常,但是无法使用卷组名挂载上到fstab

2、尝试手动链接上块设备与对应卷组

ln -s /dev/dm-0 /dev/mapper/klas-rootln -s /dev/dm-1 /dev/mapper/klas-swapln -s /dev/dm-2 /dev/mapper/klas-monitorln -s /dev/dm-3 /dev/mapper/klas-homeln -s /dev/dm-4 /dev/mapper/klas-tmpln -s /dev/dm-5 /dev/mapper/klas-backupln -s /dev/dm-6 /dev/mapper/datavg-lv_cffex

手动链接后,修改fstab为卷组挂载方式。还是无法启动,报错如下:

3、怀疑是vg故障,尝试使用vgcfgrestore klas 去重置vg klas

还是不行。

4、尝试用/dev/dm-n写fstab可以挂载上

尝试用/dev/mapper/klas-*写fstab不行。

到这里可以说明块设备以及卷组是没有问题了。那就说明使用卷组挂载时,系统启动过程中没有将对应的链接关系关联上。

5、系统文件对比

最后,通过对比lvm配置文件,发现不同 udev_rules、udev_sync 两个参数不同,系统正常情况下是默认值是1,但问题机器为0。

关于udev的说明redhat,udev 设备管理器的设备映射程序支持:

配置选项激活/udev_sync。# 使用 udev 通知同步 udev 和 LVM。# --nodevsync 选项覆盖此设置。# 禁用时,LVM 命令不会等待来自的通知# udev,但不管任何可能的 udev 处理都继续# 的背景。 仅在 udev 未运行或有规则时使用# 忽略 LVM 创建的设备。 如果在 udev 未启用时启用# 正在运行,并且 LVM 进程正在等待 udev,运行命令# 'dmsetup udevcomplete_all' 唤醒他们。udev_sync = 1# 配置选项激活/udev_rules。# 使用 udev 规则管理 LV 设备节点和符号链接。# 禁用时,LVM 将管理设备节点和符号链接# 活动 LV 本身。 如果出现这种情况,可能需要人工干预# 设置在 LV 处于活动状态时更改。udev_rules = 1

关于udev_rules、udev_sync两个参数的说明SUSE:

中 udev_rules udev_sync​​的为1。修改fstab文件为卷组进行挂载,可以使用目录进行挂载正常启动系统。

8、新的问题

目前已经可以使用目录进行挂载,但重启后,/dev/lvm/lvm.conf 中 udev_rules udev_sync两个值会变成0(系统正常情况下是默认值是1),如果主机重启会导致无法正常进行系统。如果无法进入系统可以使用单用户修改上面两个值为1即可,不需要修改fstab。

目前可以确定的是,如果在关机或重启前,修改为1。重启或开机后,这个值会保持短暂正常的1 ,大概1分钟或几十秒后就会恢复到0。

针对上面的问题,尝试采用audit进行文件监控,看哪个程序对这个文件进行了修改。

确定是,是sed这个命令对/etc/lvm/lvm.conf文件进行了修改。但具体是哪个进程或者业务修改了文件还不确定。

后来由客户那边业务人员进行排查去了。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Lambda表达式的意义(lambda表达式好处)
下一篇:在Ubuntu上安装最新Android Studio
相关文章

 发表评论

暂时没有评论,来抢沙发吧~