centos7.5更新内核到4.18

Docker对Linux内核版本的最低要求是3.10。目前Linux内核已经发布到 4.18,为了更好使用docker和k8s,需要对公司相关CentOS 7内核进行升级。

docker官方对内核的说明:
https://docs.docker.com/storage/storagedriver/overlayfs-driver/
Docker存储驱动说明,overlay可以使用但不建议,最好使用overlay2,内核需要4.0以上,或者CentOS7的内核在3.10.0-514以上,需要额外的设置参数,禁止检测内核为4.0版本。
If you use OverlayFS, use the overlay2 driver rather than the overlay driver, because it is more efficient in terms of inode utilization. To use the new driver, you need version 4.0 or higher of the Linux kernel, unless you are a Docker EE user on RHEL or CentOS, in which case you need version 3.10.0-514 or higher of the kernel and to follow some extra steps.

对Docker EE 17.06.02-ee5 and 17.06.02-ee6,CentOS7的内核在3.10.0-514以上,需要额外的设置参数,禁止检测内核为4.0版本。
Note: RHEL and CentOS users on Docker EE 17.06.02-ee5 and 17.06.02-ee6
You need to add a second option to the daemon.json to disable the check for version 4.0 or higher of the Linux kernel. Your daemon.json should look like the following. This is only needed for Docker EE users of RHEL or CentOS. Do not attempt to use overlay2 with kernel versions older than 3.10.0-514.

下载公钥

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

安装elrepo repo

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

仓库启用后,列出可用的内核相关包:

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available 

查询所有kernel包

rpm -qa|grep kernel
kernel-devel-3.10.0-862.6.3.el7.x86_64
kernel-tools-libs-3.10.0-862.6.3.el7.x86_64
kernel-tools-3.10.0-862.6.3.el7.x86_64
kernel-devel-3.10.0-862.el7.x86_64
abrt-addon-kerneloops-2.1.11-50.el7.centos.x86_64
kernel-3.10.0-862.6.3.el7.x86_64
kernel-headers-3.10.0-862.6.3.el7.x86_64

根据上述查询结果,删除所有旧内核相关包

yum remove kernel-devel kernel-tools-libs kernel-tools kernel-headers

卸载上述软件包会连带卸载以下安装包需要更新后,重新安装。kernel-devel会连带删除systemtap和systemtap-devel。kernel-headers则和下面都有关系。

compat-glibc   x86_64   1:2.12-4.el7.centos
compat-glibc-headers  x86_64   1:2.12-4.el7.centos
gcc x86_64   4.8.5-28.el7_5.1
gcc-c++x86_64   4.8.5-28.el7_5.1
gcc-gfortran   x86_64   4.8.5-28.el7_5.1
glibc-develx86_64   2.17-222.el7
glibc-headers  x86_64   2.17-222.el7
libquadmath-devel  x86_64   4.8.5-28.el7_5.1
libtool x86_64   2.4.2-22.el7_3
systemtap   x86_64   3.2-8.el7_5
systemtap-develx86_64   3.2-8.el7_5

安装新内核

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

安装新内核相关软件

yum --disablerepo=\* --enablerepo=elrepo-kernel install -y  kernel-ml-devel kernel-ml-tools kernel-ml-tools-libs kernel-ml-tools-libs-devel kernel-ml-headers

查看默认内核

grub2-editenv list

将新内核设为默认grbu启动项

grub2-set-default 0

生成 grub 配置文件

grub2-mkconfig -o /etc/grub2.cfg
reboot   #不重启也可以

删除旧内核

yum remove kernel-3.10.0-862.6.3.el7.x86_64

安装更新旧内核时被卸载的软件

yum install -y compat-glibc compat-glibc-headers gcc gcc-c++ gcc-gfortran glibc-devel glibc-headers libquadmath-devel libtool systemtap systemtap-devel

查看默认内核

grub2-editenv list
saved_entry=CentOS Linux (4.18.11-1.el7.elrepo.x86_64) 7 (Core)

 

 

 

 

 

 

一,查看当前系统内核版本信息

  awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

  或者:uname -r ; or  uname -ra

二,启用 ELRepo 仓库:

  rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

  查看可用内核包:

  yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

三,安装最新内核:

  yum --disablerepo="*" --enablerepo=elrepo-kernel install -y kernel-ml kernel-ml-devel

四,设置grub2内核启动参数

  #查看已安装的内核版本

  awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

  #设置升级后的最新版本,即就是编号为0的那个

  grub2-set-default 0

  vim /etc/default/grub

  

五,生产grub2配置文件,并重启

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

  reboot

六,验证

  uname -r

七,删除旧的内核版本

  通过 yum remove 命令或通过 yum-utils 工具

  rpm -qa | grep kernel

  yum remove kernel-tools .....

  或者通过yum-utils工具删除

  yum install yum-utils -y

  package-cleanup --oldkernels   ##安装的内核大于 3 个时,才会自动删除旧内核

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值