CentOS 8 在 2021 年底停止维护(EOL),CentOS 7 将于 2024 年 6 月 30 日正式 EOL。随着 CentOS 停用,许多用户(尤其是阿里云/腾讯云等平台的轻量应用服务器)需将系统迁移到兼容替代方案,如 AlmaLinux 或 Rocky Linux(二者均为 RHEL 兼容、社区驱动、免费开源的下游发行版)。
⚠️ 重要前提:
轻量应用服务器(如阿里云 Lighthouse、腾讯云 Lighthouse)通常不支持原地升级操作系统(in-place upgrade),因其底层镜像和控制台限制,官方仅支持「重装系统」或「更换系统盘」。直接 dnf distro-sync 或 migrate2rocky 等工具在轻量服务器上高风险、不推荐、且大概率失败(尤其涉及 GRUB、initramfs、云平台专有驱动、网络配置等)。
✅ 正确、安全、可落地的迁移路径如下(分场景说明):
✅ 场景一:数据可停机备份 → 推荐「重装 + 迁移数据」(最稳妥)
适用于:网站、数据库、应用服务等可短暂停机(分钟级)的生产环境。
步骤:
-
备份当前系统
- 打包关键数据:
# 示例:备份网站、数据库、配置文件 tar -czf /root/backup-web.tgz /var/www/html /etc/httpd /etc/nginx mysqldump -u root -p --all-databases > /root/all_dbs.sql tar -czf /root/backup-configs.tgz /etc/systemd/system /etc/cron.* /etc/ssh /etc/yum.repos.d - 将备份下载到本地(通过 SFTP/SCP)或上传至 OSS/COS。
- 打包关键数据:
-
创建新实例(或重装系统盘)
- 登录云控制台 → 进入轻量服务器管理页 → 「重置系统盘」 或 「更换操作系统」。
- 选择官方支持的镜像:
- ✅ 阿里云 Lighthouse:已上架 AlmaLinux 9.x / Rocky Linux 9.x(搜索镜像名即可,无需自建);
- ✅ 腾讯云 Lighthouse:支持 Rocky Linux 9.x / AlmaLinux 9.x(镜像市场 → 搜索“Rocky”或“Alma”);
- ⚠️ 注意:优先选 9.x 版本(对应 RHEL 9,长期支持至 2032;避免选 8.x,因 RHEL 8 已进入维护末期)。
-
初始化新系统
# 登录新实例(SSH) sudo su - # 更新系统 & 安装常用工具 dnf update -y dnf install -y epel-release vim wget curl git net-tools rsync # 同步时区、语言(可选) timedatectl set-timezone Asia/Shanghai localectl set-locale LANG=zh_CN.UTF-8 -
恢复数据与配置
- 上传备份文件(SCP/SFTP),然后解压还原:
# 还原网站 tar -xzf backup-web.tgz -C / # 还原数据库(先安装 MySQL/MariaDB) dnf install -y mariadb-server systemctl enable --now mariadb mysql < all_dbs.sql # 还原服务配置(注意权限和 SELinux 上下文!) tar -xzf backup-configs.tgz -C / restorecon -Rv /etc/systemd/system /etc/httpd # 修复 SELinux 标签(若启用)
- 上传备份文件(SCP/SFTP),然后解压还原:
-
验证与切换
- 启动服务:
systemctl start httpd nginx mariadb - 检查端口、日志、SELinux(
sestatus,ausearch -m avc -ts recent) - 更新域名解析/A记录(若需),或直接测试新 IP
- ✅ 确认无误后,可释放旧实例(或保留 3 天观察)
- 启动服务:
✅ 优势:零兼容性风险|完全干净系统|符合云平台最佳实践
⏱️ 耗时:通常 < 30 分钟(取决于数据量)
✅ 场景二:无法停机?→ 「双机并行 + 切流」(灰度迁移)
适用于:高可用业务、需 0 停机的场景(需额外资源)。
方案:
- 新购一台同配置轻量服务器(或利用闲置实例),安装 AlmaLinux/Rocky;
- 同步数据(实时/定时):
- Web:
rsync -avz --delete /var/www/html/ user@new:/var/www/html/ - DB:主从复制(MySQL/MariaDB)或逻辑备份+binlog 增量;
- Web:
- 使用 Nginx/Traefik 做流量X_X,逐步切 5%→50%→100%;
- 旧机运行至新机稳定后再下线。
💡 提示:轻量服务器带宽有限,建议用
rsync --compress --partial+screen防中断。
❌ 不推荐/高危方式(请务必避开!)
| 方法 | 风险说明 |
|---|---|
migrate2rocky / elevate 脚本 |
仅适用于 标准 CentOS 7/8 物理机/VPS;轻量服务器因内核定制、驱动差异、GRUB2 配置受限,极易导致启动失败(黑屏/Kernel panic) |
dnf distro-sync --releasever=9 |
强制升级会破坏云平台必要组件(如 cloud-init, qemu-guest-agent, aliyun-service),网络/SSH 失效概率 >80% |
手动替换 repo + yum update |
混合包版本引发依赖地狱,SELinux 策略错乱,systemd 升级失败导致无法开机 |
🔍 实测反馈(阿里云社区/StackOverflow):2023–2024 年大量用户尝试原地迁移轻量服务器失败,最终均退回「重装」方案。
✅ 迁移后必做事项(AlmaLinux/Rocky 通用)
# 1. 确认发行版信息
cat /etc/os-release # 应显示 AlmaLinux or Rocky Linux, VERSION="9.x"
# 2. 检查云平台工具(关键!)
rpm -qa | grep -i -E "(cloud-init|aliyun|tencent|qemu)"
# 若缺失:AlmaLinux 9 自带 cloud-init;Rocky 9 同理。若旧驱动残留,可卸载(谨慎):
# dnf remove aliyun-service # 阿里云旧服务(新版无需)
# 3. 启用 EPEL + PowerTools(可选但推荐)
dnf install -y epel-release
dnf config-manager --set-enabled crb # Rocky/Alma 9 中替代 PowerTools
# 4. 检查防火墙(firewalld 默认启用)
firewall-cmd --list-all # 开放 http/https 端口等
# 5. (可选)启用自动安全更新
dnf install -y dnf-automatic
systemctl enable --now dnf-automatic.timer
📌 补充说明
- 许可证与合规性:AlmaLinux 和 Rocky Linux 均为 100% 免费、开源、RHEL 二进制兼容,企业商用无法律风险;
- 长期支持:
- AlmaLinux 9 / Rocky Linux 9:支持至 2032 年 5 月(与 RHEL 9 同周期);
- 国内镜像提速(提升 yum/dnf 速度):
# AlmaLinux(清华源) sed -i 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/almalinux*.repo sed -i 's|^#baseurl=http://repo.almalinux.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn/almalinux|g' /etc/yum.repos.d/almalinux*.repo
✅ 总结一句话:
轻量服务器迁移 = 重装 AlmaLinux/Rocky 镜像 + 迁移业务数据,而非升级系统。这是云厂商设计决定的最优解,安全、快速、可复现。
如需具体某家云平台(阿里云/腾讯云/华为云)的镜像选择截图、备份脚本模板或 Nginx 反向X_X配置示例,我可立即为你生成 👇 欢迎补充细节!
CLOUD技术博