Apr
21
2021
ECS实例升级Systemd至systemd-219-71.el7版本后重启系统会进入救援模式
问题描述
单CPU规格且系统为CentOS 7或RedHat 7系列的ECS实例,在升级Systemd至systemd-219-71.el7版本后,重启实例会进入救援模式(maintenance mode),提示以下信息。
Give root password for maintenance (or press Control-D to continue):
这样会导致系统网络服务和一般的应用软件服务异常。
问题原因
在CentOS 7或RedHat 7系列的系统中,Systemd程序包被升级至systemd-219-71.el7版本时会触发旧版程序包中存在的缺陷,导致ECS实例重启后进入救援模式。满足以下条件的ECS实例会存在此问题:
- ECS实例系统版本是CentOS 7或RedHat 7系列。
-
升级Systemd至systemd-219-71.el7版本,并重启。可能触发Systemd升级的场景如下:
- 自主升级Systemd。例如通过yum update命令升级所有软件包或Systemd软件包。
- 使用云安全中心修复漏洞。云安全中心修复漏洞时可能会升级Systemd软件包。
-
ECS实例为单CPU规格。单CPU的ECS实例规格如下:
- ecs.s6-c1m1.small
- ecs.s6-c1m2.small
- ecs.s6-c1m4.small
- ecs.xn4.small
- ecs.n1.small
- ecs.n4.small
- ecs.e4.small
- ecs.e3.small
- ecs.mn4.small
- ecs.n1.tiny
- ecs.n2.small
- ecs.t5-lc2m1.nano
- ecs.t5-lc1m1.small
- ecs.t5-lc1m2.small
更多有关此问题的信息,请参见Red Hat 官方文档。
解决方案
如果您的ECS实例是CentOS 7或Red Hat 7系列的系统,同时ECS实例规格是单CPU,请您从以下两种场景中选择符合实际情况的一种进行处理:
-
已经升级Systemd程序并且ECS实例处于救援模式
如果ECS实例已经进入救援模式,请参考以下步骤进行操作:
-
- 对ECS实例的系统盘进行快照备份,具体操作请参见创建普通快照。
- 通过阿里云VNC工具以root用户身份登录ECS实例,具体操作请参见通过VNC远程连接Linux实例。
-
执行以下命令,重新生成grub配置。
dracut --force --regenerate-all
- 重启ECS实例。
-
ECS实例处于正常状态并且准备升级Systemd程序
在做任何可能会触发Systemd升级的操作或安装更新应用软件之前,请做好系统快照备份。
如果您有其他问题,可以联系北京志远天辰阿里云代理商,为您提供一对一专业全面的技术服务,同时新/老阿里云会员,均可享受我公司代理商价格,欢迎咨询!
本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>
我有话说: