centos7.9升级3.10内核至5.4

博客介绍了搭建K8S环境时内核版本要求及升级方法。需内核版本大于4.4,先查看当前内核版本,添加阿里源,重建yum缓存,查看并安装内核包,设置启动内核,最后重启验证是否生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们搭建K8S环境的时候,内核版本最好要大于4.4

先查看内核版本:uname -r

[root@k8s-master ~]# uname -r
3.10.0-1160.el7.x86_64

显示为3.10,查看关于内核的包:rpm -qa |grep kernel

[root@k8s-master ~]# rpm -qa |grep kernel
kernel-devel-3.10.0-1160.el7.x86_64
kernel-tools-libs-3.10.0-1160.el7.x86_64
abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64
kernel-headers-3.10.0-1160.el7.x86_64
kernel-3.10.0-1160.el7.x86_64
kernel-tools-3.10.0-1160.el7.x86_64

添加阿里源:

cat <<EOF > /etc/yum.repos.d/elrepo.repo

[elrepo]

name=elrepo

baseurl=https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64

gpgcheck=0

enabled=1

EOF

[root@k8s-master ~]# cat <<EOF > /etc/yum.repos.d/elrepo.repo
> [elrepo]
> name=elrepo
> baseurl=https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64
> gpgcheck=0
> enabled=1
> EOF
[root@k8s-master ~]# cat /etc/yum.repos.d/elrepo.repo 
[elrepo]
name=elrepo
baseurl=https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64
gpgcheck=0
enabled=1

重建yum缓存:yum clean all && yum makecache

[root@k8s-master ~]# yum clean all && yum makecache
Loaded plugins: fastestmirror, langpacks
Cleaning repos: base docker-ce-stable elrepo extras kubernetes updates
Cleaning up list of fastest mirrors
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
base                                                                                                                                                                                                            | 3.6 kB  00:00:00     
docker-ce-stable                                                                                                                                                                                                | 3.5 kB  00:00:00     
elrepo                                                                                                                                                                                                          | 3.0 kB  00:00:00     
extras                                                                                                                                                                                                          | 2.9 kB  00:00:00     
kubernetes/signature                                                                                                                                                                                            |  454 B  00:00:00     
kubernetes/signature                                                                                                                                                                                            | 1.4 kB  00:00:00 !!! 
updates                                                                                                                                                                                                         | 2.9 kB  00:00:00     
(1/20): base/7/x86_64/group_gz                                                                                                                                                                                  | 153 kB  00:00:00     
(2/20): docker-ce-stable/7/x86_64/filelists_db                                                                                                                                                                  |  47 kB  00:00:00     
(3/20): docker-ce-stable/7/x86_64/updateinfo                                                                                                                                                                    |   55 B  00:00:00     
(4/20): docker-ce-stable/7/x86_64/primary_db                                                                                                                                                                    | 117 kB  00:00:00     

查看yum仓库中的内核包:yum list --showduplicate kernel*

安装内核:yum install -y kernel-lt-5.4.257 kernel-lt-devel-5.4.257

[root@k8s-master ~]# yum install -y kernel-lt-5.4.257-1
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
No package kernel-lt-5.4.257-1 available.
Error: Nothing to do
[root@k8s-master ~]# yum install -y kernel-lt-5.4.257
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package kernel-lt.x86_64 0:5.4.257-1.el7.elrepo will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================================================================================================================================================
 Package                                               Arch                                               Version                                                             Repository                                          Size
=======================================================================================================================================================================================================================================
Installing:
 kernel-lt                                             x86_64                                             5.4.257-1.el7.elrepo                                                elrepo                                              50 M

Transaction Summary
=======================================================================================================================================================================================================================================
Install  1 Package

Total download size: 50 M
Installed size: 230 M
Downloading packages:
kernel-lt-5.4.257-1.el7.elrepo.x86_64.rpm                                                                                                                                                                       |  50 MB  00:00:42     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : kernel-lt-5.4.257-1.el7.elrepo.x86_64                                                                                                                                                                               1/1 
  Verifying  : kernel-lt-5.4.257-1.el7.elrepo.x86_64                                                                                                                                                                               1/1 

Installed:
  kernel-lt.x86_64 0:5.4.257-1.el7.elrepo                                                                                                                                                                                              

Complete!
[root@k8s-master ~]# yum install -y kernel-lt-devel-5.4.257
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package kernel-lt-devel.x86_64 0:5.4.257-1.el7.elrepo will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================================================================================================================================================
 Package                                                    Arch                                              Version                                                          Repository                                         Size
=======================================================================================================================================================================================================================================
Installing:
 kernel-lt-devel                                            x86_64                                            5.4.257-1.el7.elrepo                                             elrepo                                             13 M

Transaction Summary
=======================================================================================================================================================================================================================================
Install  1 Package

Total download size: 13 M
Installed size: 49 M
Downloading packages:
kernel-lt-devel-5.4.257-1.el7.elrepo.x86_64.rpm                                                                                                                                                                 |  13 MB  00:00:11     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : kernel-lt-devel-5.4.257-1.el7.elrepo.x86_64                                                                                                                                                                         1/1 
  Verifying  : kernel-lt-devel-5.4.257-1.el7.elrepo.x86_64                                                                                                                                                                         1/1 

Installed:
  kernel-lt-devel.x86_64 0:5.4.257-1.el7.elrepo                                                                                                                                                                                        

Complete!

 查看启动内核:cat /etc/grub2.cfg | grep menuentry|awk -F "\'" '$1=="menuentry " {print i++ " : " $2}'

[root@k8s-master ~]# cat /etc/grub2.cfg | grep menuentry|awk -F "\'" '$1=="menuentry " {print i++ " : " $2}' 
awk: warning: escape sequence `\'' treated as plain `''
0 : CentOS Linux (5.4.257-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
2 : CentOS Linux (0-rescue-2d4005070b6045f28839cde26ee9598b) 7 (Core)

设置启动内核:grub2-set-default 0

[root@k8s-master ~]# grub2-set-default 0

重启,查看是否生效:reboot

uname -r

[d:\~]$ 

Connecting to 192.168.200.141:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Fri Oct  6 17:49:52 2023 from 192.168.200.1
[root@k8s-master ~]# uname -r
5.4.257-1.el7.elrepo.x86_64

### CentOS 升级内核3.105.4 的问题与解决方案 #### 内核版本差异的影响 在 CentOS 中,默认情况下,较旧的发行版可能基于较低版本的 Linux 内核。对于希望升级至更高版本内核(如从 3.10 升级5.4),需要注意不同版本之间的兼容性和潜在冲突。 #### 准备工作 为了顺利进行内核更新,在操作前建议备份重要数据,并确认当前系统的硬件驱动程序能够在新内核下正常运行。此外,还需确保已安装必要的开发工具和库文件以便于后续步骤中的编译过程[^1]。 #### 使用 ELRepo 软件仓库获取最新稳定版内核 由于官方源并不总是提供最新的长期支持 (LTS) 或者主线稳定分支内核,因此推荐通过第三方软件库来获得更高级别的内核版本。ELRepo 是一个专门为 RHEL 及其衍生产品设计的安全可靠的附加资源库之一: ```bash rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm ``` #### 安装指定版本的新内核 一旦成功配置好了 ELRepo 源,则可以利用 `yum` 命令轻松完成特定版本号的目标内核部署: ```bash yum --enablerepo=elrepo-kernel install kernel-lt -y ``` 这里 `-lt` 表示 Long Term Support 版本;如果想要尝试最新的 Mainline Stable Builds ,则应替换为 `-ml` 参数[^2]。 #### 更新引导加载器 GRUB2 设置 安装完成后,需调整启动菜单以使计算机能够识别新的内核映像作为默认选项: ```bash grub2-mkconfig -o /boot/grub2/grub.cfg ``` 接着设置开机优先选用刚安装好的高版本内核: ```bash grub2-set-default 0 ``` 最后重启机器让更改生效: ```bash reboot ``` #### 验证新内核是否被采用 系统重新启动之后可以通过如下命令查看正在使用的内核版本以及可用的选择列表: ```bash uname -r awk -F\&#39; &#39;$1=="menuentry " {print i++ " : " $2}&#39; /etc/grub2.cfg ``` #### 处理可能出现的问题 有时即使按照上述流程执行也可能遭遇一些意外情况,比如某些模块无法加载或是性能表现不如预期等问题。此时可考虑采取以下措施加以应对: - **检查日志记录**:查阅 `/var/log/messages` 文件了解是否存在错误提示; - **排查设备驱动**:针对显卡、网卡等关键组件测试对应厂商提供的专有固件包; - **回滚方案准备**:保留原有低版本内核条目直至确认一切运作良好再移除它们。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值