Article / 文章中心

ECS实例升级Systemd至systemd-219-71.el7版本后重启系统会进入救援模式

发布时间:2021-01-18 点击数:935

问题描述

单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实例已经进入救援模式,请参考以下步骤进行操作:
    1. 对ECS实例的系统盘进行快照备份,具体操作请参见创建普通快照
    2. 通过阿里云VNC工具以root用户身份登录ECS实例,具体操作请参见通过VNC远程连接Linux实例
    3. 执行以下命令,重新生成grub配置。
      dracut --force --regenerate-all
    4. 重启ECS实例。
  • ECS实例处于正常状态并且准备升级Systemd程序
    在做任何可能会触发Systemd升级的操作或安装更新应用软件之前,请做好系统快照备份。

如果您有其他问题,可以联系北京志远天辰阿里云代理商,为您提供一对一专业全面的技术服务,同时新/老阿里云会员,均可享受我公司代理商价格欢迎咨询 欢迎咨询.gif