本文介紹如何升級Linux ECS執行個體的作業系統軟體包,來修複因Linux作業系統本身已知的系統軟體缺陷,導致的ECS執行個體使用或業務運行異常問題。
操作環境
Linux作業系統的ECS執行個體某些業務運行異常問題,是由Linux作業系統本身已知的系統軟體缺陷導致,若您的ECS執行個體的作業系統不是最新版本,可以嘗試通過手動升級ECS執行個體的作業系統軟體包來修複。
當前已知的Linux系統軟體缺陷如下:
可通過升級作業系統中軟體解決的Linux ECS執行個體問題
在CentOS或RHEL 7執行個體上,啟動某個服務或進程時提示連接埠衝突錯誤
問題現象
在一些CentOS或RHEL 7執行個體上,啟動某個服務或進程時提示連接埠衝突錯誤,出現進程啟動失敗或服務不可用情況。通過netstat命令查看連接埠使用方式,發現該服務或進程使用的連接埠已被dhclient進程佔用,如下圖所示。

問題原因
在正常情況下,ISC DHCP client(簡稱dhclient)服務會佔用67/68(DHCPv4)或546/547(DHCPv6)連接埠。CentOS、RHEL 7的某些系統的ECS執行個體上內建的dhclient版本低於4.2.5-60,低於該版本的dhclient存在軟體缺陷,會佔用除標準連接埠67/68或546/547以外的其他連接埠。如果執行個體內的其他服務或進程也使用了該連接埠,可能出現連接埠衝突問題,從而導致您的業務或者服務進程啟動失敗或不可用。
解決方案
您可以參考升級指定軟體包到最新版本或升級所有軟體包到最新版本,在CentOS/RHEL 7系統上更新dhclient軟體包到最新版本。
CentOS/RHEL 7系統的ECS執行個體長期運行一段時間後,SSH遠端連線登入緩慢
問題現象
CentOS/RHEL 7系統的ECS執行個體長期運行一段時間後,可能出現SSH遠端連線登入緩慢,查看系統進程 CPU使用率發現systemd-logind進程佔用100% CPU的現象,同時查看系統日誌發現類似如下的日誌資訊:
# journalctl -u dbus
Mar 30 17:23:19 localhost dbus[21]: [system] Activating via systemd: service name='org.freedesktop.login1' unit='dbus-org.freedesk...
Mar 30 17:23:42 localhost dbus[21]: [system] Failed to activate service 'org.freedesktop.login1': timed out...問題原因
這是由於已知的systemd-logind和D-Bus組件的缺陷導致,通過更新systemd和D-Bus組件版本可以解決,尤其是更新D-Bus組件版本。
解決方案
您可以參考升級指定軟體包到最新版本或升級所有軟體包到最新版本,在CentOS/RHEL 7系統上更新dbus軟體包到最新版本。
建議在所有Linux系統上更新D-Bus組件到最新版本。
OpenSUSE和SUSE Linux Enterprise Server系統:軟體包為
dbus-1。其他Linux系統:軟體包名為
dbus。
升級Linux ECS執行個體的作業系統軟體包
當Linux系統本身已知的系統軟體缺陷導致ECS執行個體使用或業務運行異常時,可以通過升級作業系統的組件升級指定軟體包到最新版本或升級所有軟體包到最新版本以解決此問題。以下以更新dhclient為例進行說明,更新其他軟體包步驟類似。
升級指定軟體包到最新版本
遠端連線Linux執行個體,具體操作,請參見串連方式概述。
執行以下命令,更新指定名稱的軟體包到最新版本。
不同作業系統中使用的命令不同,具體說明如下:
Alibaba Cloud Linux 2.1903、AnolisOS 7、CentOS 7及以下版本、Red Hat Enterprise Linux 7及以下版本:
sudo yum update <軟體包名稱>AlmaLinux、AnolisOS 8及以上版本、CentOS 8及以上版本、CentOS Stream 8及以上版本、Fedora 33及以上版本、Red Hat Enterprise Linux 8及以上版本、Rocky Linux:
sudo dnf update <軟體包名稱>Debian、Ubuntu系統:
# 首先更新存在本地的軟體源資訊,擷取最新的軟體包版本資訊 sudo apt update # 然後更新指定名稱的軟體包到最新版本 sudo apt upgrade <軟體包名稱>OpenSUSE、SUSE Linux Enterprise Server系統:
# 首先更新存在本地的軟體源資訊,擷取最新的軟體包版本資訊 sudo zypper refresh # 然後更新指定名稱的軟體包到最新版本 sudo zypper update <軟體包名稱>
升級所有軟體包到最新版本
遠端連線Linux執行個體,具體操作,請參見串連方式概述。
執行以下命令,更新指定名稱的軟體包到最新版本。
Alibaba Cloud Linux 2.1903、AnolisOS 7、CentOS 7及以下版本、Red Hat Enterprise Linux 7及以下版本
sudo yum updateAlmaLinux、AnolisOS 8及以上版本、CentOS 8及以上版本、CentOS Stream 8及以上版本、Fedora 33及以上版本、Red Hat Enterprise Linux 8及以上版本、Rocky Linux:
sudo dnf updateDebian、Ubuntu系統:
# 首先更新存在本地的軟體源資訊,擷取最新的軟體包版本資訊 sudo apt update # 然後更新所有已安裝的軟體包到最新版本 sudo apt upgradeOpenSUSE、SUSE Linux Enterprise Server系統:
# 首先更新存在本地的軟體源資訊,擷取最新的軟體包版本資訊 sudo zypper refresh # 然後更新所有已安裝的軟體包到最新版本 sudo zypper update