跳转到内容

CentOS 7 停服后的迁移路径

CentOS 7 已于 2024 年 6 月 30 日停止维护,RHEL 7 的官方延长支持(ELS)也已在 2026 年 6 月 30 日结束。如果你的服务器还在 CentOS 7 上,现在面临的不是”要不要迁移”,而是”哪条路迁移成本最低”。这篇文章对比四条路径,并给出最常用路径的实操步骤。

时间节点事件
2024-06-30CentOS 7 停止更新,官方仓库已清空
2026-06-30RHEL 7 官方 ELS(延长生命周期支持)结束
现在没有任何来自 CentOS/RHEL 的安全补丁,无法安装新软件

仍在运行的 CentOS 7 面临的实际风险:

  • 新披露漏洞无官方补丁,暴露在公网的服务(SSH、Web、数据库)风险最高
  • vault.centos.org 里的旧包仍可安装,但永远不会更新
  • 应用厂商陆续停止为 EL 7 提供软件版本(PHP、Python、OpenSSL 工具链都停在旧版本)
路径成本收益适合
1. ELevate 就地升级到 EL 8/9中(需停机窗口 + 充分测试)保留数据与配置,平滑进入受支持版本绝大多数传统服务器
2. 新装系统重部署高(迁移应用与数据)最干净,无历史包袱应用可容器化/配置即代码的系统
3. 商业延长支持(TuxCare 等)持续付费不动系统,继续收 EL 7 补丁短期内无法迁移、又必须合规
4. 隔离运行低网络层隔离风险即将下线的过渡系统

路径 1 实操:ELevate 升级到 AlmaLinux 8/9

Section titled “路径 1 实操:ELevate 升级到 AlmaLinux 8/9”

ELevate 项目(AlmaLinux 维护)基于 leapp,支持 CentOS 7 → AlmaLinux 8/Rocky 8/Oracle Linux 8 等多种目标。CentOS 7 → EL 8 是最成熟的一条升级链。

  • 备份全部数据,虚拟机做快照
  • 确认磁盘剩余空间 ≥ 系统已用空间的 50%
  • 清理第三方仓库(或确认它们有 EL 8 版本)
  • 确认关键应用兼容 EL 8(尤其内核模块、自编译软件)
  • 预留 1-2 小时停机窗口
安装 ELevate 仓库与 leapp 工具
$ sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm
$ sudo yum install -y leapp-upgrade leapp-data-almalinux
预检查:生成升级报告,必须先解决所有 inhibitor
$ sudo leapp preupgrade

预检查会列出阻断项(inhibitor)和建议项,常见的问题与处理:

处理常见阻断项(以报告实际输出为准)
# 删除不再受支持的内核模块(ploop 等)
$ sudo modprobe -r ploop
# 允许 SSH root 登录(leapp 要求)
$ sudo sh -c "echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config"
# 移除 answerfile 中的疑虑项后重新预检查
$ sudo leapp answer --section remove_pam_kde_plasma_dependencies.confirm=True
$ sudo leapp preupgrade
报告全部清零后执行升级并重启
$ sudo leapp upgrade
$ sudo reboot

重启后系统进入升级流程,完成后验证:

验证升级结果
$ cat /etc/redhat-release
$ rpm -qa | grep el7 | wc -l # 应为 0 或接近 0
  • 目标可以是 Rocky Linux 8 或 Oracle Linux 8(换 leapp-data-* 包即可),再走 EL 8 → EL 9 升级
  • 只想留在 AlmaLinux:目标确定后参考[迁移到 AlmaLinux](/migration/to-almalinux/)

路径 2 适用场景:什么时候直接重装

Section titled “路径 2 适用场景:什么时候直接重装”

满足以下任一条件,重装往往比就地升级更快、更稳:

  • 系统是”装机时配置一次,之后没人动过”,文档齐全
  • 应用已容器化,或可用 Ansible 等工具重建
  • 主机上有大量自编译软件或来源不明的第三方仓库

新装推荐直接上 EL 9 或 EL 10(AlmaLinux/Rocky 均可),安装要点见安装指南。

能用,仓库里是 2024-06 停服时的最终快照。作为临时的包来源可以,但不会有任何安全更新,不适合长期运行。

官方升级链只支持跨一个大版本:CentOS 7 → EL 8,然后 EL 8 → EL 9。跳两级没有受支持的路径。

TuxCare(CloudLinux 旗下)、CIQ 等厂商提供 EL 7 的延保内核与用户态补丁,适合合规场景下的过渡期。签约前确认覆盖范围(内核 glibc OpenSSL 等)与到期时间。