跳转到内容
搜索 RunEntLinux 文档

仅搜索 RunEntLinux 通用文档,各发行版文档使用各自的搜索入口。

    浏览当前文档目录

    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 就地升级到 AlmaLinux 8(再升 9)中(需停机窗口 + 充分测试)保留数据与配置,平滑进入受支持版本绝大多数传统服务器
    2. 新装系统重部署高(迁移应用与数据)最干净,无历史包袱应用可容器化/配置即代码的系统
    3. 商业延长支持(TuxCare 等)持续付费不动系统,继续收 EL 7 补丁短期内无法迁移、又必须合规
    4. 隔离运行低网络层隔离风险即将下线的过渡系统

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

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

    ELevate 项目(AlmaLinux 维护)基于 leapp。按官方 Quickstart,CentOS 7 的 ELevate 一步只能升到 EL 8,且官方支持的目标只有 AlmaLinux 8(以及 CentOS Stream 8);没有 leapp-data-rocky,也没有 Oracle Linux 8 目标——换 leapp-data-* 包并不能改变这一点。到 EL 9/10 要分两步:先到 AlmaLinux 8,再走 EL 8 → EL 9。

    • 备份全部数据,虚拟机做快照
    • 确认磁盘剩余空间 ≥ 系统已用空间的 50%
    • 清理第三方仓库(或确认它们有 EL 8 版本)
    • 确认关键应用兼容 EL 8(尤其内核模块、自编译软件)
    • 预留 1-2 小时停机窗口
    安装 ELevate 仓库与 leapp 工具
    $ sudo yum install -y https://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
    • 先升到 AlmaLinux 8,再按 EL 8 → EL 9 升级 走第二步(EL8→EL9 的源同样只支持 AlmaLinux 8 / CentOS Stream 8)
    • 想用 Rocky Linux:Rocky 没有官方原地升级/迁入路线(migrate2rocky 只做同大版本转换),可行做法是全新安装 Rocky 9/10 后迁移业务,参见 迁移到 Rocky
    • 只想留在 AlmaLinux:参考[迁移到 AlmaLinux](/migration/to-almalinux/)
    • 跳两级(7→9/10)没有受支持的路径;必须 7→8→9→10 逐步来,或直接重装

    路径 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 等)与到期时间。