内核 Linux

CentOS7.4 系统内核升级

Posted on 2020-10-22,2 min read

为什么要升级内核?

由于Docker 在CentOS系统中需要安装在 CentOS 7 64 位的平台,并且内核版本不低于 3.10;CentOS 7.× 满足要求的最低内核版本要求,但由于 CentOS 7默认内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定。所以建议大家升级到最新的稳定内核版本。

今天k8s集群服务器突然出现这个警告错误,网上查了一下,建议升级内核版本

kernel:unregister_netdevice: waiting for lo to become free. Usage count = 1

在线升级

1. 查看当前内核版本

$ uname -sr
 Linux 3.10.0-693.2.2.el7.x86_64 

2. 更新内核

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

执行结果

image

3.安装内核

yum --enablerepo=elrepo-kernel install kernel-ml -y

4. 设置默认启动项

使 GRUB_DEFAULT=0

 vim /etc/default/grub

5. 重新生成grub配置文件

 grub2-mkconfig -o /boot/grub2/grub.cfg

6. 重启并查看内核版本

reboot

查看内核版本:

$ uname -sr
 Linux 5.4.6-1.el7.elrepo.x86_64

升级完成

离线升级

1. 获取内核rpm包,拷贝到需要升级的服务器,并安装

rpm包地址: https://elrepo.org/linux/kernel/el7/x86_64/RPMS/ 2

rpm -ivh kernel-ml-5.7.0-1.el7.elrepo.x86_64.rpm

2. 设置默认启动项

使 GRUB_DEFAULT=0

vim /etc/default/grub 

3. 重新生成grub配置文件

grub2-mkconfig -o /boot/grub2/grub.cfg

4. 重启并查看内核版本

reboot

查看内核版本:

$ uname -sr

Linux 5.7.0-1.el7.elrepo.x86_64

升级完成

下一篇: Docker 容器之间网络的通信→