服务器重启后系统进入 dracut:/#

情况描述

服务器宕机,查看带外日志,发现存在CPU告警和内存告警,尝试重启系统,系统进入紧急模式,控制台有报错,提供dracut:/# 虚拟控制台交互 

dracut-initqueue[427]:Warning : /dev/rhel/swap does not exist

初步排查

1、尝试后发现,直接输入exit退出可以正常进入系统,所以可能是配置文件有误或启动顺序有误

2、依据报错,查找对应的分区,发现并没有/dev/rhel/swap 分区存在

3、查看启动引导/etc/default/grub,发现引导文件中是有写这个不存在的swap分区的,奇怪,按理说这个挂载一般可以写到/etc/fstab 里面的,而且有两份就离谱

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rd.lvm.lv=rhel/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

4、检查lv ,确实没有这个rhel的逻辑卷

5、修改/etc/default/grub ,删除多余的rd.lvm.lv=rhel/swap 参数

6、执行如下命令,使grub修改生效(网上说用update-grub 可以生效,发现没有这个命令,等效操作如下)

grub2-mkconfig -o /boot/grub2/grub.cfg

7、重启验证异常已被解决

总结

1、/dev/rhel/swap 分区 出现原因不明

2、操作前先备份,尽量给回退留下可能,特别是如果没有控制台的就更加得小心了

3、只修改grub文件,必须执行命令才能生效,否则重启也不会使用新的引导配置文件

其他

当系统重启后,如果出现 dracut 命令行提示符,这通常意味着系统正在使用 dracut 作为其初始 RAM 磁盘(initramfs)的生成工具,并且在启动过程中进入了紧急模式或者维护模式。

dracut 会生成一个包含必要的二进制文件、驱动程序和启动脚本的 initramfs,以便在系统启动时加载内核并挂载根文件系统。

常用操作

ls              列出当前环境中的文件
df              查看文件系统的挂载情况
mount           查看或修改文件系统的挂载点
ping            检查网络连接
journalctl      查看系统日志(如果可用)
fsck            检查和修复文件系统
exit            退出紧急 shell,尝试继续启动

检查

1、检查/etc/fstab 是否能通过mount -a ,/boot/grub2/grub.cfg 是否有可能存在影响的变更

2、检查 /var/log/messages 和 journalctl 以及 systemctl 是否有Failed 的服务,可能会影响

3、可能存在硬件故障

4、文件系统可能损坏,可以通过fsck 修复,比如如下的报错

/dev/sda1 contains a file system with errors, check forced.
    inode 625047 has illegal block(s).
# 强制检查,并自动回答yes
fsck -f /dev/sda1 -y

# 结束会打印
FILE SYSTEM WAS MODIFIED
    REBOOT LINUX 

你可能感兴趣的:(运维,故障与异常系列,服务器,运维)