Linux系统升级教程_内核升级与服务平滑迁移实践

16次阅读

Linux 内核升级需兼顾稳定性、兼容性与业务连续性,须验证动因、用官方源安装、重启前测试新内核并保留回滚能力。

Linux 系统升级教程_内核升级与服务平滑迁移实践

Linux 内核升级不是简单替换文件,而是需要兼顾系统稳定性、驱动兼容性与业务连续性。直接编译安装新内核或使用包管理器升级后重启,常导致网卡失联、GPU 不可用、容器运行异常等问题。关键在于验证、分步切换和回滚准备。

确认当前内核状态与升级必要性

先执行 uname -r 查看当前运行内核版本,再用 dpkg -l | grep linux-image(Debian/Ubuntu)或 rpm -qa | grep kernel(RHEL/CentOS)列出已安装内核。检查是否已有目标版本(如 6.6.x),避免重复安装。重点确认升级动因:是为修复 CVE-2023-45871 类安全漏洞,还是需支持新硬件(如 Intel Arc GPU 需 6.2+)、新 cgroup v2 特性,抑或容器运行时(如 containerd 1.7+ 推荐 5.15+)。若仅为“最新版”,需谨慎评估风险收益比。

选择安全可靠的升级方式

优先使用发行版官方源升级,而非手动编译:

  • Ubuntu/Debian:运行 sudo apt update && sudo apt install –install-recommends linux-image-generic-hwe-22.04(以 22.04 LTS 的 HWE 内核为例),自动处理依赖与 initramfs 生成
  • RHEL 8+/CentOS Stream:启用 CRB 仓库后执行 sudo dnf install kernel-core,不建议单独装 kernel-modules-extra,应整套更新
  • 避免 make && make modules_install && make install 手动流程——易遗漏 firmware、未更新 grub.cfg、initramfs 错误,且无包管理追踪

升级后验证与服务平滑迁移

重启前,在 GRUB 启动菜单中临时选择新内核启动测试(不设为默认),验证关键项:

  • 网络连通性:ip a 确认网卡 UP 且地址正常,ping -c3 8.8.8.8 测试外网
  • 存储与挂载:lsblk && mount 检查所有磁盘、LVM、加密卷是否识别并挂载正确
  • 关键服务状态:systemctl is-active docker nginx postgresql(按实际服务调整),确认监听 端口ss -tlnp | grep :80
  • 日志排查:dmesg -T | grep -i “error|fail|warning” 快速定位驱动或模块加载问题

全部通过后,再执行 sudo update-grub(Debian 系)或 sudo grub2-mkconfig -o /boot/grub2/grub.cfg(RHEL 系),将新内核设为默认,并清理旧内核(如 sudo apt autoremove –purge)。

保留可回滚能力

升级不是单向操作。务必确保旧内核在 GRUB 中仍可见且可用:

  • 修改 /etc/default/grub 中的 GRUB_SAVEDEFAULT=true,使下次启动自动进入上次成功内核
  • 设置 GRUB_DEFAULT=saved 并在升级后运行 sudo grub-set-default 0(0 为新内核索引),但保留旧内核条目不删除
  • 对生产服务器,建议在升级前制作 LVM 快照或 btrfs subvolume snapshot,10 分钟内可回退

不复杂但容易忽略。

星耀云
版权声明:本站原创文章,由 星耀云 2026-01-01发表,共计1376字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources