【常见问题解析(一)】ostree-remount服务启动失败导致系统进入紧急模式的解决方法
针对服务器操作系统比较常见的问题,推出常见问题解析系列报道,本期为第一篇,介绍系统启动时进入紧急模式(emergency模式),系统IP无法ping通的应对策略。
问题描述
系统启动时进入紧急模式(emergency模式),系统IP无法ping通
系统systemd版本:systemd-239-58
过程分析
根据提示,输入root密码或按Control-D组合键,进入系统后执行journalctl –xb命令查看系统日志。
(1)系统日志提示,进入emergency模式前,存在ostree-remount.service服务启动失败的异常打印。
(2)ostree-remount.service服务启动失败的原因是 ‘start-limit-hit’,即服务尝试重启的次数过多,达到了systemd中对start limit的限制。
通过如下命令可查看系统systemd中start limit的默认阈值设置:一个服务在10秒内最多允许启动5次。
(3)查看ostree-remount.service服务文件的配置,当服务启动失败后会启动emergency.target,使系统进入emergency模式。
问题根因
ostree-remount.service服务在条件检查失败的情况下,会多次重启,当重启次数超过了systemd中阈值限制时,判定为启动失败,根据服务启动失败的配置,系统进入emergency模式。
解决方案
方案一:systemd修复了一个系统服务在条件检查失败时进行多次重启的问题,需要升级systemd到239-68或以上版本解决。
方案二:在不升级systemd的情况下,可以通过如下Workaround解决:
移除ostree软件包
# yum remove ostree
在无法移除软件包情况下,屏蔽ostree-remount.service服务
# systemctl mask ostree-remount.service