CentOS 7 已于 2024 年 6 月 30 日结束生命周期,生产环境建议通过官方 migrate2rocky 脚本原地迁移至 RockyLinux 8 或 9。
此方案适合标准 CentOS 7 环境,若存在大量第三方定制内核或特殊硬件驱动,需先评估兼容性风险。
先说结论:原地迁移可行但必须全量备份,优先选择 RockyLinux 8 以减少应用兼容性问题。
- 适合:标准 CentOS 7 最小化安装或常见 Web/数据库服务场景
- 先准备:确认磁盘剩余空间大于 5GB 并快照整个系统盘
- 验收:迁移后检查业务端口、日志报错及 yum 源可用性
命令速用版
以下命令用于下载并执行官方迁移脚本,需在 root 权限下运行:
curl -O https://raw.githubusercontent.com/rocky-linux/migrate2rocky/main/migrate2rocky.sh && bash migrate2rocky.sh -r为什么会这样
CentOS 7 停更意味着不再接收安全补丁,RockyLinux 作为 RHEL 下游复刻版,提供二进制兼容的长期支持。
迁移脚本会自动替换 yum 源、更新 RPM 包并调整系统标识,过程类似大版本升级。
分步处理
1. 全量备份与快照
操作前必须对系统盘制作快照或完整备份,防止迁移失败导致无法启动。
2. 检查磁盘空间
执行 df -h 确认根分区至少有 5GB 剩余空间,用于下载包和解压。
3. 执行迁移脚本
运行速用版命令,脚本会自动检测环境并提示确认,输入 yes 继续。
4. 重启系统
脚本完成后执行 reboot,进入新系统内核。
怎么验证是否生效
登录系统后执行以下检查:
- 查看版本:
cat /etc/rocky-release应显示 RockyLinux 8 或 9 - 查看源列表:
yum repolist应包含 rocky 仓库而非 centos - 查看内核:
uname -r应显示新内核版本
常见坑
- 第三方仓库失效:EPEL、Nginx 官方源等需手动重新安装对应 Rocky 版本
- 自定义内核丢失:若使用非官方内核,迁移后可能需重新编译或安装
- 配置文件冲突:/etc/yum.repos.d/ 下的自定义配置可能被备份为 .rpmsave
常见问题
迁移过程会丢失数据吗?
理论上不会,脚本仅替换系统包和配置,但必须备份以防万一。
应该选 RockyLinux 8 还是 9?
追求稳定兼容选 8,追求长期支持选 9,需确认应用是否支持新版本库。
迁移需要停机多久?
取决于网络速度和包数量,通常需重启一次,建议预留 30 分钟维护窗口。
参考来源
- Rocky Linux Documentation - migrate2rocky, https://docs.rockylinux.org/guides/migrate2rocky/
- CentOS Wiki - CentOS 7 EOL, https://wiki.centos.org/About/Product