前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >聊一聊CentOS 7升级内核方案

聊一聊CentOS 7升级内核方案

作者头像
星哥玩云
发布2022-08-13 16:44:19
2.1K0
发布2022-08-13 16:44:19
举报
文章被收录于专栏:开源部署

CentOS 7自带的内核版本还停留在3.x,如果某些软件对Linux内核版本有要求,就不得不升级内核来支持,比如Google的BBR加速,要求Linux内核大于4.9以上,这篇文章来聊一聊CentOS 7内核升级的话题。

内核版本选择

我们可以从https://www.kernel.org/官网下载指定内核源码并进行编译升级,但是此步骤较为繁琐,不在此次讨论范围。

如果我们采用rpm包进行升级,可以使用别人编译好的包,其中elrepo提供的内核升级包是比较值得信赖的,内核地址如下:https://elrepo.org/linux/kernel/el7/x86_64/RPMS/

但是打开elrepo的网站我们只能看到5.15.x5.4.x(随着时间的推移可能会有变化)两个版本,标识了mllt

  • ml代表主线版本,总是保持主线最新的内核
  • lt代表长期支持版本,支持周期更长

再通过https://www.kernel.org官网对照下上面两个版本的生命周期,可以看到5.15支持到2023年,而5.4支持到2025年。

如果你要追求最新的版本,直接选择带ml的rpm包即可,如果你要追求稳定且更长的支持周期,直接选择lt版本即可。

在线升级

代码语言:javascript
复制
#导入ELRepo 公钥
wget https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm --import RPM-GPG-KEY-elrepo.org
#安装ELRepo
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
#升级最新内核
yum --enablerepo=elrepo-kernel install kernel-ml -y
#升级长期支持的lt内核(二选一即可)
yum --enablerepo=elrepo-kernel install kernel-lt -y

离线升级

也可以手动下载rpm的内核进行离线升级,以升级lt内核为例,方法如下:

代码语言:javascript
复制
#下载内核(随着时间推移,链接可能失效)
wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-5.4.160-1.el7.elrepo.x86_64.rpm
#备用下载地址
wget https://wget.ovh/linux/kernel/kernel-lt-5.4.160-1.el7.elrepo.x86_64.rpm
#升级内核
rpm -ivh kernel-lt-5.4.160-1.el7.elrepo.x86_64.rpm

切换内核

输入命令awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg查看grub2引导序号。

代码语言:javascript
复制
[root@test ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg
0 : CentOS Linux (5.4.160-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
2 : CentOS Linux (0-rescue-face32e3e9d448e2a0403204f18369d9) 7 (Core)

可以看到序号0是我们刚刚安装的内核,我们将其设置为默认启动内核:

代码语言:javascript
复制
#设置默认启动内核
grub2-set-default 0
#重启服务器生效
reboot

某些服务商可能会遇到设置不生效的问题,我们可采取删除旧内核,保留新内核的做法。需要重启服务器并通过VNC连接(请咨询服务商)并在开机的启动界面选择新内核(5.4)进入,通过以下方法删除旧内核:

代码语言:javascript
复制
#查看当前内核,确保是以新内核启动
uname -a
#查看系统中全部内核
rpm -qa | grep kernel
#移出不需要的内核
yum remove kernel-3.10.0-229.4.2.el7.x86_64

如果系统中只有一个内核,在下次启动的时候就会默认选择该内核启动。

注意

升级内核有分险,以上方法不保障升级内核一定成功,生产环境请谨慎操作,如果升级后内核无法启动,可通过VNC连接服务器(咨询服务商),然后选择正常的内核启动,并删除异常的内核进行恢复。

总结

  • ml代表主线版本,总是保持主线最新的内核
  • lt代表长期支持版本,支持周期更长
  • 内核升级失败,可通过VNC连接选择正常的内核进入系统
  • elrepo会经常删除旧的内核,建议定期从elrepo网站将内核下载进行保存,以便后续使用

以上部分内容参考了:Linux Kernel 5.14.x 编译版

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 内核版本选择
  • 在线升级
  • 离线升级
  • 切换内核
  • 注意
  • 总结
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档