centos7内核kernel升级
背景:最近部署k8s高版本v1.28.8时发现需要操作系统内核等级至少为5版本,因此整理了一下升级系统内核的一些操作和细节。
离线内核包rpm下载地址:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
下载包列表:
bash
kernel-lt-5.4.203-1.el7.elrepo.x86_64.rpm
kernel-lt-headers-5.4.203-1.el7.elrepo.x86_64.rpm
kernel-lt-devel-5.4.203-1.el7.elrepo.x86_64.rpm
升级操作:
bash
[root@master ~]# rpm -ivh kernel-lt-5.4.203-1.el7.elrepo.x86_64.rpm
[root@master ~]# rpm -ivh kernel-lt-headers-5.4.203-1.el7.elrepo.x86_64.rpm
安装headers时一般会报错,应该是老版本的headers冲突了
[root@master ~]# rpm -q |grep kernel
[root@master ~]# rpm -qa |grep kernel
kernel-tools-libs-3.10.0-1062.el7.x86_64
kernel-ml-5.15.8-1.el7.elrepo.x86_64
kernel-headers-3.10.0-1160.49.1.el7.x86_64
kernel-debug-devel-3.10.0-1160.49.1.el7.x86_64
kernel-3.10.0-1062.el7.x86_64
kernel-tools-3.10.0-1062.el7.x86_64
[root@master ~]#
卸载老版本再执行rpm -ivh 即可
[root@master ~]# rpm -e --nodeps kernel-headers-3.10.0-1160.49.1.el7.x86_64
[root@master ~]# rpm -ivh kernel-lt-devel-5.4.203-1.el7.elrepo.x86_64.rpm
# 检查当前启动内核列表
[root@k8s-node1 kernel]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.4.203-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.27.2.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-65113b1a0d2f6087d515e6a8cd0ee7ef) 7 (Core)
可以看到刚刚装的5.4在0号位。
设置默认启动内核为0号位的5.4:
[root@k8s-node1 kernel]# grub2-set-default 0
[root@k8s-node1 kernel]# reboot
重启生效:
[root@master kernel]# uname -r
5.4.203-1.el7.elrepo.x86_64
[root@master kernel]#