CentOS无法正常启动,自动进入救援模式排查思路

一台CentOS内网服务器,上面的服务都访问不了,同网段也ping不通,不用想,八成服务器出问题了。

这时候ssh连接肯定也连不上。

根据现场反馈,在虚拟化里面都不确定是哪台虚拟机,只有一台怀疑的虚拟机。

通过虚拟化(不是esxi,不好用)控制端,先打开那台机器的终端看一下,发现直接就是救援模式界面。

救援模式:系统出现故障,没有正常启动,可在里面进行修复。

我们使用常用命令看一下:

1
2
3
4
5
6
7
8
lsblk
# 发现没有这个命令,看不到分区情况,这时候感觉有点不太对

ip addr
# ip没有

chroot /sysroot
# 报错,切换不过去,这就不应该了,系统问题不小啊

这时候就有点像是我们的那台机器了,不管咋样,进救援模式了,系统肯定有问题,我们先修复一下看看。

先看一下系统日志:

1
2
# 筛选系统日志里面的错误信息
journalctl | grep Failed

在救援模式中运行上面的命令,得到的输出结果中有下面这一句:

1
Failed to mount /sysroot

一般是主机文件系统损坏引起的,可使用xfs-repair命令进行修复:

1
2
# 1.执行命令
xfs_repair -v /dev/dm-0

这里执行xfs_repair -v /dev/dm-0出现错误了,查询后发现加一个参数能解决

1
2
# 1.执行命令
xfs_repair -v -L /dev/dm-0

解释: -L参数(-L:强制清空日志,包括元数据更改)此参数可能会丢失文件系统元数据,慎用,使用之前建议先备份元数据。

等待执行完成,我们重启虚拟机。

1
2
#2.重启主机
reboot

重启后,虚拟机成功开机,服务自动启动,这就是我们的那台机器。

问题解决完成!

接下来就是做备份,小心这台服务器再次宕机了。


CentOS无法正常启动,自动进入救援模式排查思路
http://www.yangchao.me/posts/114/
作者
小不点
发布于
2024年6月13日
许可协议