centos 7.X系统自带的3.10.x内核存在一些bugs,例如导致运行的docker、kubernetes不稳定,需要升级内核到4.4版本以上。

 

安装内核
Install CentOS 7.x:
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

 

[root@k8smaster01 ~]# cd /etc/yum.repos.d/
[root@k8smaster01 yum.repos.d]# ls -lrt
total 8
-rw-r--r-- 1 root root 2142 Jul 23  2017 elrepo.repo 安装后会多出一个repo文件
-rw-r--r-- 1 root root 2523 Jun 15  2018 CentOS-Base.repo
[root@k8smaster01 yum.repos.d]# 

 

yum clean all
yum makecache

yum makecache 是 将服务器上的软件包信息 现在本地缓存,以提高 搜索 安装软件的速度

yum会将下载下来的 包文件rpm和头文件header存盘在 本地机器的硬盘 缓存中,
这个将占用 硬盘空间, 可以将这些内容清除掉, 以释放磁盘空间:
yum clean headers: // 释放头文件
yum clean packages: // 清除包文件
yum clean all: // 清除所有

yum 主要的一下命令如下:
yum search 软件包   搜索软件包
yum install 软件包   安装软件包
yum remove 软件包
yum update  更新系统

 

显示内核版本
[root@k8smaster01 yum.repos.d]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * elrepo-kernel: mirrors.neusoft.edu.cn
Available Packages
elrepo-release.noarch                                                                 7.0-4.el7.elrepo                                                         elrepo-kernel
kernel-lt-devel.x86_64                                                                4.4.207-1.el7.elrepo                                                     elrepo-kernel
kernel-lt-doc.noarch                                                                  4.4.207-1.el7.elrepo                                                     elrepo-kernel
kernel-lt-headers.x86_64                                                              4.4.207-1.el7.elrepo                                                     elrepo-kernel
kernel-lt-tools.x86_64                                                                4.4.207-1.el7.elrepo                                                     elrepo-kernel
kernel-lt-tools-libs.x86_64                                                           4.4.207-1.el7.elrepo                                                     elrepo-kernel
kernel-lt-tools-libs-devel.x86_64                                                     4.4.207-1.el7.elrepo                                                     elrepo-kernel
kernel-ml.x86_64                                                                      5.4.7-1.el7.elrepo                                                       elrepo-kernel
kernel-ml-devel.x86_64                                                                5.4.7-1.el7.elrepo                                                       elrepo-kernel
kernel-ml-doc.noarch                                                                  5.4.7-1.el7.elrepo                                                       elrepo-kernel
kernel-ml-headers.x86_64                                                              5.4.7-1.el7.elrepo                                                       elrepo-kernel
kernel-ml-tools.x86_64                                                                5.4.7-1.el7.elrepo                                                       elrepo-kernel
kernel-ml-tools-libs.x86_64                                                           5.4.7-1.el7.elrepo                                                       elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                                                     5.4.7-1.el7.elrepo                                                       elrepo-kernel
perf.x86_64                                                                           5.4.7-1.el7.elrepo                                                       elrepo-kernel
python-perf.x86_64                                                                    5.4.7-1.el7.elrepo                                                       elrepo-kernel
[root@k8smaster01 yum.repos.d]# 

 

选择版本下载更新
长期维护版本为kernel-lt,最新主线稳定版ml,选择版本下载更新
yum --enablerepo=elrepo-kernel install kernel-lt-devel.x86_64  -y
warning: /var/cache/yum/x86_64/7/elrepo-kernel/packages/kernel-lt-4.4.207-1.el7.elrepo.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID baadae52: NOKEY 39 MB  00:00:00 ETA 
Public key for kernel-lt-4.4.207-1.el7.elrepo.x86_64.rpm is not installed
kernel-lt-4.4.207-1.el7.elrepo.x86_64.rpm                                                                                                            |  39 MB  00:01:29     
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org

 

安装完成后检查/boot/grub2/grub.cfg中对应内核menuentry中是否包含initrd16配置,如果没有再安装一次
[root@k8smaster01 yum.repos.d]# grep initrd16 /boot/grub2/grub.cfg 
    initrd16 /boot/initramfs-4.4.207-1.el7.elrepo.x86_64.img
    initrd16 /boot/initramfs-3.10.0-957.27.2.el7.x86_64.img
    initrd16 /boot/initramfs-4.4.39-1.el7.elrepo.x86_64.img
    initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img
    initrd16 /boot/initramfs-0-rescue-b7478dd50b1d41a5836a6a670b5cd8c1.img
[root@k8smaster01 yum.repos.d]# 

 

查看默认启动顺序
[root@k8smaster01 yum.repos.d]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg 
CentOS Linux (4.4.207-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.27.2.el7.x86_64) 7 (Core)
CentOS Linux (4.4.39-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux, with Linux 3.10.0-123.el7.x86_64
CentOS Linux, with Linux 0-rescue-b7478dd50b1d41a5836a6a670b5cd8c1
默认启动的顺序是从0开始,新内核是从头插入(目前位置在0,而4.4.4的是在1),所以需要选择0。
设置默认内核启动
grub2-set-default 0

grub2-set-default 'CentOS Linux (4.4.207-1.el7.elrepo.x86_64) 7 (Core)'

[root@k8smaster01 log]# init 6 重启
Connection closing...Socket close.

 

--------------------

查看yum中的内核软件包
[root@k8snode01 ~]# yum list kernel*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
kernel-lt.x86_64                                                                 4.4.207-1.el7.elrepo                                                                  @soft
[root@k8snode01 ~]#

执行命令:uname -a 查看系统当前内核版本
执行命令:rpm -qa | grep kernel  查看系统中全部的内核RPM包
执行命令:yum remove kernel-3.10.0-957.el7 

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐