當Linux ECS執行個體的作業系統核心版本遇到了穩定性或效能問題(如系統崩潰、卡頓、記憶體流失等),或需要使用新的核心功能時,可通過升級執行個體的作業系統核心解決。
升級須知
升級作業系統核心是一個比較複雜和風險較高的操作,可能會導致系統不穩定或出現相容性問題。在進行升級前,建議備份重要資料,瞭解升級過程和可能出現的問題,並謹慎操作。
操作步驟
以Alibaba Cloud Linux&CentOS和Ubuntu&Debian系列作業系統為例,指導您如何升級作業系統核心。
Alibaba Cloud Linux&CentOS
(可選)雲端式盤建立快照來備份資料。具體操作,請參見建立快照。
遠端連線ECS執行個體。串連方式,請參見通過Workbench登入Linux執行個體。
查看當前作業系統核心版本。
uname -r
檢查是否有可用的核心版本。
sudo yum list kernel
重要CentOS 6和CentOS 8作業系統版本結束了生命週期(EOL),按照社區規則,CentOS 6/8的源地址內容已移除。如果您的業務過渡期仍需要使用CentOS 6/8作業系統中的一些安裝包,則需要切換CentOS 6/8的源地址。具體操作,請參見CentOS 6 EOL如何切換源?和CentOS 8 EOL如何切換源?。
若沒有可升級的版本:建議更換作業系統至Alibaba Cloud Linux 3。具體操作,請參見通過SMC將CentOS 7/8遷移至Alibaba Cloud Linux或更換作業系統(系統硬碟)。
若有符合需求的版本:請執行以下操作升級核心。
執行以下命令,確認當前系統
initrd
或initramfs
檔案中已經包含了virtio-blk和xen-blkfront驅動。sudo lsinitrd /boot/initramfs-`uname -r`.img | grep -E 'virtio|xen'
若回顯資訊返回類似如下資訊,表示包含virtio-blk和xen-blkfront驅動,否則不包含。
-rw-r--r-- 1 root root 83312 Jul 22 10:38 usr/lib/modules/4.19.91-27.5.al7.x86_64/kernel/drivers/block/xen-blkfront.ko -rw-r--r-- 1 root root 68016 Jul 22 10:38 usr/lib/modules/4.19.91-27.5.al7.x86_64/kernel/drivers/net/xen-netfront.ko
若不包含
virtio-blk
和xen-blkfront
驅動,參考如下步驟在系統中添加。否則請跳過該步驟。sudo sh -c 'echo 'add_drivers+="xen-blkfront virtio_blk"' >> /etc/dracut.conf.d/virt-drivers.conf'
升級作業系統核心。
sudo yum update -y
更新GRUB設定檔,以便執行個體在啟動時選擇新的核心版本。
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
重啟執行個體。
sudo reboot
驗證新的核心版本是否已成功安裝。
uname -r
返回新安裝的核心版本,表示已成功升級核心。
Ubuntu&Debian
(可選)建立一個雲端硬碟快照來備份資料。具體操作,請參見建立快照。
遠端連線ECS執行個體。
具體操作,請參見通過Workbenc登入Linux執行個體。
查看當前作業系統核心版本,確認是否需要升級。
uname -r
更新系統軟體包列表,並檢查是否有可用的核心版本。
sudo apt update apt-cache search linux-image
若沒有可升級的版本:建議更換作業系統至更高版本。具體操作,請參見:更換作業系統(系統硬碟)。
若有符合需求的版本:
升級作業系統核心。
sudo apt-get install linux-image-<目標核心包名>
(條件可選)當作業系統為Ubuntu時,還需升級作業系統核心額外模組。
sudo apt-get install linux-modules-extra-<目標核心包名>
例如Ubuntu 20.04需要升級核心至5.15.0版本時,升級命令如下:
sudo apt update apt-cache search linux-image | grep '5.15' | grep generic sudo apt-get install linux-image-5.15.0-122-generic sudo apt-get install linux-modules-extra-5.15.0-122-generic
更新GRUB設定檔,以便執行個體在啟動時選擇新的核心版本。
sudo update-grub
重啟執行個體,並重新整理Workbench頁面。
sudo reboot
驗證新的核心版本是否已成功安裝。
uname -r
返回新安裝的核心版本,表示已成功升級核心。