全部產品
Search
文件中心

Alibaba Cloud Linux:Alibaba Cloud Linux 2系統中systemd服務異常問題說明

更新時間:Jul 19, 2024

如果您的Alibaba Cloud Linux 2作業系統中systemd服務運行異常,可參考文本提供的方案解決問題。

問題現象

在符合以下條件的Alibaba Cloud Linux 2執行個體中,系統在正常運行時執行個體內部署的業務有機率啟動失敗。

  • 鏡像:Alibaba Cloud Linux 2.1903 LTS 64位公用鏡像。

  • systemd服務:systemd-219-78.4.al7及之前的版本。

該問題在系統中的具體表現為systemd服務的進程運行狀態異常,或者系統產生如下日誌資訊:

Failed to activate service 'org.freedesktop.systemd1': timed out

當您運行systemctl daemon-reexec命令後仍無法修複異常。通過pstack 1命令可查看到systemd服務處於如下圖所示的流程中。pstack 1

問題原因

開源社區的systemd服務存在漏洞,該漏洞會破壞堆記憶體,進而導致systemd服務的進程crash。當systemd crash後會進入freeze流程,且無法再恢複至正常狀態。

說明

開源社區的systemd最新版本中沒有解決該問題,堆記憶體被破壞的根因仍在定位中。Alibaba Cloud Linux已在新的公用鏡像版本中對systemd服務做了增強,如果您的systemd服務高於systemd-219-78.4.al7版本且仍然出現該問題,可運行kill -15 1命令使systemd服務恢複至正常狀態。

解決方案

說明

建議您在操作前為ECS執行個體建立快照備份資料,如果因異常操作造成資料丟失,可以通過快照復原執行個體的雲端硬碟資料。關於快照功能的更多資訊,請參見快照概述

  1. 遠端連線出現問題的ECS執行個體。

    具體操作,請參見串連方式概述

  2. 運行以下命令, 確認systemd服務的版本資訊。

     rpm -q systemd

    命令列回顯結果樣本如下所示:

     systemd-219-78.4.al7.3.x86_64
  3. 根據查詢到的systemd不同版本,選擇以下匹配的操作解決問題。

    • 如果systemd版本為systemd-219-78.4.al7.3.x86_64及之前的版本,您需要依次運行以下命令:

      1. 升級systemd服務。

        yum update systemd
      2. 重啟ECS執行個體。

        reboot
    • 如果systemd版本高於systemd-219-78.4.al7.3.x86_64,並仍然出現了異常,請運行以下命令恢複systemd服務至正常狀態。

      kill -15 1