Linux内核升级

一、准备工作

二、关于内核的一点小知识

2.1 内核版本

  • ltlongterm的缩写:长期维护版
  • mlmainline的缩写:最新稳定版

2.2 系统默认内核版本

  • Centos:7.2以上的系统版本,内核默认情况下为3.10.x
  • Ubuntu:18版本的内核版本为3.10.x, 2018年之后的Ubuntu18.04内核默认版本为4.15.X

2.3 为什么要升级内核

内核版本4.9之前,容器可以随意修改内核参数(共用内核),4.9之后的版本,提高了安全性,容器内部不能修改内核参数。

  • 4.9版本内核+docker19.03.X 安全问题大幅提升,网络组件使用cilium

  • 5.3.x/5.4.x版本内核,BPF技术走向成熟,替换kube-proxy(低于5.3/5.4.x版本内核,不能替换)

  • 5.8版本内核,增加可观察性,流量控制等,在L7层进行封包解包(内核中进行),大幅提升效率

三、升级内核

3.1 centos 在线升级

$ uname -r       
# 默认的系统内核 3.10.0-327.el7.x86_64 

$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 
# 载入公钥 

$ yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm 
# 安装elrepo最新版本 

$ yum list available --disablerepo=* --enablerepo=elrepo-kernel 
# 列出可以使用的 kernel 包版本 

$ yum -y install kernel-ml --enablerepo=elrepo-kernel 
# 如果不指定版本信息,默认安装最新的
# 如果需要安装指定版本可以使用以下方式 
$ yum -y install kernel-ml-5.13.0-1.el7.elrepo --enablerepo=elrepo-kernel   

$ awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg 
# 查看当前系统可用内核版本 
0 : CentOS Linux (5.13.0-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
2 : CentOS Linux (0-rescue-f36646e20ef14cf7b7c3d921839dd2b5) 7 (Core)


$ grub2-set-default 'CentOS Linux (5.13.0-1.el7.elrepo.x86_64) 7 (Core)'
# 设置系统启动默认加载的内核 

$ grub2-editenv list 
# 查看系统默认加载的内核 
saved_entry=CentOS Linux (5.13.0-1.el7.elrepo.x86_64) 7 (Core)

$ reboot     # 重启系统加载内核 

$ uname -r   # 确认系统已经加载了新的内核 
5.13.0-1.el7.elrepo.x86_64

3.2 centos 离线升级

$ uname -r       
# 默认的系统内核 3.10.0-327.el7.x86_64 

$ wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-5.13.0-1.el7.elrepo.x86_64.rpm
# 提前获取对应的软件包

$  yum localinstall kernel-ml-5.13.0-1.el7.elrepo.x86_64.rpm -y
# 安装kernel软件包   

$ awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg 
# 查看当前系统可用内核版本 
0 : CentOS Linux (5.13.0-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
2 : CentOS Linux (0-rescue-f36646e20ef14cf7b7c3d921839dd2b5) 7 (Core)


$ grub2-set-default 'CentOS Linux (5.13.0-1.el7.elrepo.x86_64) 7 (Core)'
# 设置系统启动默认加载的内核 

$ grub2-editenv list 
# 查看系统默认加载的内核 
saved_entry=CentOS Linux (5.13.0-1.el7.elrepo.x86_64) 7 (Core)

$ reboot     # 重启系统加载内核 

$ uname -r   # 确认系统已经加载了新的内核 
5.13.0-1.el7.elrepo.x86_64
posted @ 2020-12-10 15:44  吕振江  阅读(491)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end