centos除了常规内核外还有两种内核,一个是kernel-ml,另一个是kernel-lt,由于我们最终需求是使用k8s,官方推荐安装LT版本
kernel-ml是最新的稳定主线版本
kernel-lt是长期支持版本
ML与LT两种内核类型版本可以共存,但是每种类型内核只能存在一个版本。
下面我们来看看内核的升级更新方法
使用yum升级内核
导入源
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
查看可安装的软件包
yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep kernel-ml.x86_64
选择ML或LT版本安装
ML版本的安装方式
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
LT版本的安装方式
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
我们此处验证yum安装ML版本内核
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
默认命令安装的是最新版本的
安装完成以后可以通过以下命令查看内核的启动顺序
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
修改内核启动顺序,我们修改默认启动就是6.6.8这个版本内核
grub2-set-default 0
重启操作系统使其生效
reboot
检查内核版本
uname -r
返回以下信息说明已经升级内核成功
6.6.8-1.el7.elrepo.x86_64
使用rpm包安装指定LT版本内核
我们首选需要去http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/这个地址下载我们所需要的安装内核文件
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.203-1.el7.elrepo.x86_64.rpm wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-headers-5.4.203-1.el7.elrepo.x86_64.rpm wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.203-1.el7.elrepo.x86_64.rpm
下载上述对应版本的三个rpm包,然后一次进行安装
rpm -ivh kernel-lt-5.4.203-1.el7.elrepo.x86_64.rpm rpm -ivh kernel-lt-devel-5.4.203-1.el7.elrepo.x86_64.rpm rpm -ivh kernel-lt-headers-5.4.203-1.el7.elrepo.x86_64.rpm
检查安装的内核列表
rpm -qa | grep kernel
可以看到刚才安装的LT版本的5.4.203内核已经安装好了。
接着还是使用之前的命令查看内核的启动顺序
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
使用grub2-set-default命令设置默认启动5.4.203LT版本的内核
grub2-set-default 0
重启操作系统使其生效
reboot
检查内核版本
uname -r
返回以下版本信息说明内核切换成功
5.4.203-1.el7.elrepo.x86_64