管理Alibaba Cloud Linux 2内核热补丁

Alibaba Cloud Linux 2为内核的高危安全漏洞(CVE)以及重要的错误修复(Bugfix)提供了热补丁支持,您无需重启服务器即可更新操作系统内核补丁,以保障内核的稳定与安全,详情请参考:内核热补丁概述。 当实例开启内核热补丁后,补丁管理服务会扫描/安装 Alibaba Cloud Linux 2 实例当前内核适用的热补丁。当实例关闭内核热补丁后, 补丁管理服务不会为您选择热补丁来修复内核。该文档会为您详细描述如何开启/关闭实例中的热补丁。

开启热补丁

1.安装kpatch

内核热补丁依赖kpatch服务及工具,Alibaba Cloud Linux 2最新镜像默认已安装kpatch。您可以执行以下命令检测实例上是否安装了kpatch:

rpm -q kpatch

以上命令执行没有输出则表示kpatch未安装,您可以执行以下命令来安装kpatch:

yum -y install kpatch

2.启用 kpatch服务

执行以下命令启用kpatch系统服务:
systemctl enable kpatch

3.开启存储内核热补丁包的软件源仓库

内核热补丁rpm包存储在名为 Plus 的仓库源中,Alibaba Cloud Linux 2 镜像中默认已配置并开启:

$cat /etc/yum.repos.d/AliYun.repo

[plus]
name=AliYun-$releasever - Plus - mirrors.aliyun.com
baseurl=http://mirrors.cloud.aliyuncs.com/alinux/$releasever/plus/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/alinux/RPM-GPG-KEY-ALIYUN

查看内核热补丁

开启内核热补丁后,当您执行扫描/安装操作时,补丁管理服务会为您报告/安装符合基线规则的内核热补丁。

安装内核热补丁后,执行kpatch list 命令来查看当前内核热补丁加载情况。以内核版本为4.19.91-23.al7.x86_64的实例上安装热补丁为例:

$ kpatch  list
Loaded patch modules:
kpatch_5260815 [enabled]
kpatch_5577959 [enabled]
kpatch_5902278 [enabled]
kpatch_5928799 [enabled]
kpatch_5956925 [enabled]

Installed patch modules:
kpatch_5260815 (4.19.91-23.al7.x86_64)
kpatch_5577959 (4.19.91-23.al7.x86_64)
kpatch_5902278 (4.19.91-23.al7.x86_64)
kpatch_5928799 (4.19.91-23.al7.x86_64)
kpatch_5956925 (4.19.91-23.al7.x86_64)

关闭热补丁

执行以下命令禁用kpatch服务即可关闭内核热补丁:

systemctl  disable  kpatch