CentOS镜像停用后,轻量服务器如何迁移到AlmaLinux或Rocky Linux?

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、云平台专有驱动、网络配置等)。

✅ 正确、安全、可落地的迁移路径如下(分场景说明):


✅ 场景一:数据可停机备份 → 推荐「重装 + 迁移数据」(最稳妥)

适用于:网站、数据库、应用服务等可短暂停机(分钟级)的生产环境。

步骤:

  1. 备份当前系统

    • 打包关键数据:
      # 示例:备份网站、数据库、配置文件
      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。
  2. 创建新实例(或重装系统盘)

    • 登录云控制台 → 进入轻量服务器管理页 → 「重置系统盘」 或 「更换操作系统」。
    • 选择官方支持的镜像:
      • ✅ 阿里云 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 已进入维护末期)。
  3. 初始化新系统

    # 登录新实例(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
  4. 恢复数据与配置

    • 上传备份文件(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 标签(若启用)
  5. 验证与切换

    • 启动服务: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 增量;
  • 使用 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技术博 » CentOS镜像停用后,轻量服务器如何迁移到AlmaLinux或Rocky Linux?