当前位置:首页 > 综合 > centos7升级内核版本 正文

centos7升级内核版本

来源:烟消火灭网   作者:休闲   时间:2026-10-17 05:55:15

CentOS 7 默认的升级 3.10 内核,跑跑老业务还行。内核一旦你开始碰 NVMe 固态、版本新显卡或者想试试 eBPF,升级它立马露馅——要么设备驱动找不到,内核要么 Docker 容器网络性能惨不忍睹。版本我上个月给一台跑着 CI 的升级机器升到 5.15,编译速度直接快了 18%,内核就为这,版本那点折腾时间也值了。升级

升级前先干一件事:备份数据。内核别嫌啰嗦,版本我见过有人升到一半断电,升级grub 引导直接报废,内核最后只能拿 Live CD 进去救。版本你至少要把 /home 和 /etc 拷到外部盘,或者打个小镜像,十分钟的事,省得后面哭。

然后去 ELRepo 仓库拿新内核。这仓库专门给 RHEL/CentOS 提供驱动和内核包,比官方源里的东西新得多。先装它的 GPG key 和仓库配置:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

装完仓库,直接搜可用的内核主版本。5.x 系列现在维护得最勤,4.19 那种 LTS 也还行,但新硬件支持不如 5.x。我习惯装最新主线版,毕竟 CentOS 7 的生态已经停止大版本更新,内核再不用新的,真的就成老古董了。

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

注意,这里装的是 kernel-ml,也就是 Mainline 版本。它更新快,但没经过 RHEL 那种长期稳定性测试。你要是跑生产数据库,建议装 kernel-lt(长期支持版),别贪新。我自己的服务器用 ml 是因为要玩 eBPF 的新特性,普通场景真没必要追。

装完别急着重启。先确认新内核已经在 grub 菜单里了:

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

然后看看当前默认启动项指向哪个内核版本:

grub2-editenv list

如果显示的还是 3.10,就手动改默认项。最简单的办法是查一下新内核在菜单里的序号(从 0 开始),然后:

grub2-set-default 0

但更稳妥的是直接编辑 /etc/default/grub,把 GRUB_DEFAULT 改成 saved,再执行 grub2-editenv - set saved_entry=你要的内核标题。这样即使以后又装了别的内核,系统也记得你要用哪个。

重启前最后检查一遍:确保 /boot 分区有足够空间。内核文件动不动就 50MB 起步,旧内核还不删的话,挤爆了分区,重启后系统直接卡在 grub 界面。删旧内核用 yum remove kernel-3.10.0-xxx,但保留最近一两个版本,万一新的有问题还能回滚。

重启后跑 uname -r 确认版本号。我那次升完,看到 5.15.11 蹦出来,心里才踏实。然后立刻测一下核心服务:SSH 能连上,Docker 容器正常起,Nginx 响应时间没变差。内核升级最怕的就是驱动不兼容,比如某些网卡在 5.x 下要用新的固件包,你最好提前查一下硬件厂商有没有发布适配声明。

最后提一嘴,CentOS 7 的生命周期早过了,内核升级只是续命,不是根治。真要长期跑新应用,趁早换 Rocky Linux 或 AlmaLinux,或者干脆上容器化平台。内核这颗心脏,光靠搭桥手术撑不了几年。

标签:

责任编辑:热点