搭建kpatch builder以centos7.2为例。 默认centos7.2的安装的内核版本是3.10.0-327.el7.x86_64,这个内核版本当初是通过gcc 4.8.3编译的。 而centos7.2自带gcc rpm包的版本则是 4.8.5 kpatch build命令执行的时候,首先检查gcc的版本是否一致, 因为两者的版本不一致,所以kpatch build命令会失败。 当然我们可以使用--skip-gcc-check,跳过这个检查,我也测试发现在一些简单补丁下可以打包通过。 但是系统不推荐这样做的,会有一定的风险。 搭建步骤:
升级kernel版本到kernel-3.10.0-327.36.3.el7.x86_64
centos默认的kpatch rpm里只有kpatch的命令行工具, 没有kpatch-core.ko, 这个ko是kpatch的必备文件。 kpatch的版本是tag: v0.3.4
制作热升级补丁制作补丁很简单可以通过命令kpatch-build。 如:
第一次安装的时候,需要下载kernel src rpm包,速度会慢一些。
最后,在命令执行的当前目录下回产生一个ko文件 如何部署热升级补丁服务器首次部署kpatch升级内核版本确保被升级机器的内核版本跟builder机一致。 如不一致, 升级kernel到3.10.0-327.36.3.el7.x86_64
安装kaptch及kpatch core模块
centos7.2自带的kpatch rpm包里只有kpatch的一些脚本命令,缺少kpatch-core.ko, 这个需要我们手动从builder机里copy。 安装kpatch 热补丁加载热补丁
显示已安装的补丁
(责任编辑:IT) |