文章目录
1. 查看当前内核
1.1 查看内核版本
[root@hecs-92531-0002 ~]# uname -r
3.10.0-1160.53.1.el7.x86_64
1.2 查看操作系统版本
[root@hecs-92531-0002 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
- 更新软件源
2.1 导入ElRepo仓库公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
ElRepo 是一个分发企业版Linux内核的社区仓库,在系统中导入ElRepo仓库的公钥,后续将从这个仓库中获取升级内核相关的资源。
2.2 安装 ELRepo
- Centos 7 安装 ELRepo
yum -y install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
- Centos 8 安装 ELRepo
yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
- Centos 9 安装 ElRepo
yum install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
- 查看可用的稳定版镜像
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
输出信息是:
Available Packages
kernel-lt.x86_64 5.4.207-1.el7.elrepo elrepo-kernel
kernel-lt-devel.x86_64 5.4.207-1.el7.elrepo elrepo-kernel
kernel-lt-doc.noarch 5.4.207-1.el7.elrepo elrepo-kernel
kernel-lt-headers.x86_64 5.4.207-1.el7.elrepo elrepo-kernel
kernel-lt-tools.x86_64 5.4.207-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 5.4.207-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 5.4.207-1.el7.elrepo elrepo-kernel
kernel-ml.x86_64 5.18.14-1.el7.elrepo elrepo-kernel
kernel-ml-devel.x86_64 5.18.14-1.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 5.18.14-1.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 5.18.14-1.el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 5.18.14-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 5.18.14-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 5.18.14-1.el7.elrepo elrepo-kernel
perf.x86_64 5.18.14-1.el7.elrepo elrepo-kernel
python-perf.x86_64 5.18.14-1.el7.elrepo elrepo-kernel
3 升级内核
3.1 安装最新版内核
- 安装最新版内核
yum --enablerepo=elrepo-kernel install kernel-ml
- 安装最新长期支持版内核(推荐)
yum --enablerepo=elrepo-kernel install -y kernel-lt
3.2 查看当前系统已安装内核
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
输出信息是:
0 : CentOS Linux (5.18.14-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.53.1.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-acca19161ce94d449c58923b12797030) 7 (Core)
3.3 切换新内核启动
修改 /etc/default/grub 文件,设置GRUB_DEFAULT的值为2.3.2中输出的最新版内核对应的序号。CentOS Linux (5.18.14-1.el7.elrepo.x86_64) 7 (Core) 前边的序号是0,所以设置GRUB_DEFAULT = 0 。
- /etc/default/grub 修改前
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="net.ifnames=0 consoleblank=600 console=tty0 console=ttyS0,115200n8 spectre_v2=off nopti crashkernel=auto spectre_v2=retpoline "
GRUB_DISABLE_RECOVERY="true"
- /etc/default/grub 修改后
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="net.ifnames=0 consoleblank=600 console=tty0 console=ttyS0,115200n8 spectre_v2=off nopti crashkernel=auto spectre_v2=retpoline "
GRUB_DISABLE_RECOVERY="true"
3.4 重新配置内核参数
grub2-mkconfig -o /boot/grub2/grub.cfg
输出信息如下:
[root@hecs-92531-0002 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.18.14-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-5.18.14-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.53.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.53.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-acca19161ce94d449c58923b12797030
Found initrd image: /boot/initramfs-0-rescue-acca19161ce94d449c58923b12797030.img
done
3.5 重启系统
reboot
重启完成后,查看系统内核是否为最新版本
[root@hecs-92531-0002 ~]# uname -r
5.18.14-1.el7.elrepo.x86_64
从输出信息可见,系统内核已升级到最新版本 5.18.14. 安装kubernetes 1.24 版本,Linux Kernel 在 5.x 以上的版本即可满足需求。