加油
努力

从CentOS迁移到Anolis OS有哪些注意事项?

从 CentOS 迁移到 Anolis OS(特别是 Anolis OS 8,其为阿里云主导、OpenAnolis 社区维护的开源国产操作系统)是一项需谨慎规划的迁移工作。以下是关键注意事项和实操建议,按优先级和类别梳理:

✅ 一、前提确认与兼容性评估(迁移前必做)

  1. 明确目标版本与定位

    • Anolis OS 8 是 CentOS 8 的下游兼容发行版(基于 RHEL 8 源码),二进制兼容 RHEL 8/CentOS 8,但 Anolis OS 23(基于 RHEL 9)不兼容 CentOS 7/8
      ✅ 若原系统为 CentOS 8.x → 可平滑迁移到 Anolis OS 8.x(推荐 8.8 或 8.10 最新稳定版)。
      ❌ 若为 CentOS 7.x不可直接迁至 Anolis OS 8(内核/ABI 不兼容);需先升级至 CentOS 8(已 EOL)或考虑 Anolis OS 23(需全新安装+应用适配)。
  2. 验证硬件兼容性

    • Anolis OS 8 内核为 4.19(LTS),支持主流服务器硬件(x86_64/ARM64),但需检查:
      • 特定网卡/RAID卡驱动(如 Mellanox、Broadcom、华为鲲鹏固件)是否已集成;
      • GPU(NVIDIA/AMD)驱动需使用 Anolis 官方仓库提供的 nvidia-driver(非 ELRepo);
      • 建议在测试环境用 anos-check-hardware 工具扫描兼容性(社区提供)。
  3. 软件栈兼容性审查

    • ✅ 兼容:systemd、dnf、SELinux、firewalld、Podman、RPM 包格式、主流中间件(Nginx/Apache/Tomcat/MySQL 8.0+/PostgreSQL 13+)。
    • ⚠️ 需验证:
      • 自研 RPM 包:检查 %pre/%post 脚本中是否硬编码 /etc/centos-release 或依赖 centos-release 包;
      • 第三方仓库(如 EPEL、Remi、IUS):Anolis OS 8 默认启用 anolisos-extrasanolisos-power 仓库,但 EPEL 8 部分包需手动启用(dnf config-manager --enable epel);
      • Python/Java 应用:Anolis OS 8 默认 Python 3.6/3.9(可选),OpenJDK 11/17(与 RHEL 8 一致),无需修改。

❌ 二、不推荐/禁止的操作

  • 禁止使用 centos2anolis 一键脚本(非官方):社区未提供全自动迁移工具,强行替换 release 包易导致系统损坏。
  • 禁止直接修改 /etc/os-release 或替换 centos-release RPM:会导致 dnf update 失败、YUM/DNF 元数据混乱。
  • 禁止跳过内核升级:Anolis OS 8 使用定制内核(kernel-4.19.90-xx.an8),含国产化优化(如龙芯/鲲鹏支持、安全加固),必须安装并设为默认启动项。

✅ 三、推荐迁移路径(安全可靠)

📌 最佳实践:Clean Install + 数据/配置迁移(生产环境首选)

步骤 操作说明
1. 备份 使用 borgbackup / rsync 全量备份 /etc, /var/log, /home, /opt, 数据库及应用目录;导出数据库(mysqldump/pg_dump
2. 环境准备 下载 Anolis OS 8 ISO,制作启动盘;规划分区(建议 LVM + XFS,保留原 /boot//boot/efi
3. 安装系统 选择“Minimal Install”或“Server with GUI”,安装时勾选“Compatibility with CentOS/RHEL”选项(自动配置仓库)
4. 迁移配置
  • 恢复 /etc/fstab, /etc/network-scripts/, /etc/ssh/sshd_config 等关键配置
  • 重建用户/组(getent passwd > users.txt 对比 UID/GID)
  • 还原防火墙规则(firewall-cmd --runtime-to-permanent
5. 应用部署
  • 通过 dnf install 安装软件(仓库已预配置 anolisos-baseos, anolisos-appstream
  • 自研 RPM 用 rpm -Uvh --replacepkgs 重装
  • 容器应用:podman load 镜像,更新 systemd service 文件中的 ExecStart 路径
6. 验证与切换
  • 运行 anos-check-system(社区工具)检测基础服务状态
  • 执行 dnf distro-sync 同步所有包到 Anolis OS 8 版本
  • 压力测试 & 监控(重点关注 CPU/内存/IO/网络延迟)

🔄 四、在线迁移(仅限测试环境,风险较高)

若必须原地升级(如物理机无法重装),可尝试社区实验性方案(不推荐生产使用):

# 1. 替换仓库(备份原 repo)
sudo mv /etc/yum.repos.d/{centos,CentOS}.repo /tmp/
sudo curl -o /etc/yum.repos.d/anolisos.repo 
  https://mirrors.openanolis.cn/anolisos/8/BaseOS/x86_64/os/repodata/repomd.xml

# 2. 清理缓存并同步(可能失败!)
sudo dnf clean all
sudo dnf --releasever=8 --setopt=tsflags=nodocs distro-sync -y

⚠️ 风险:glibc/kernel 升级冲突、dnf 自身损坏、启动失败。务必提前制作 dd 磁盘镜像!

✅ 五、迁移后关键事项

  • 启用 Anolis OS 特色功能
    • 安全:开启 anolisos-security 仓库,安装 anolisos-audit(增强审计策略);
    • 性能:启用 tuned-profiles-anolisos(针对云场景优化);
    • 国产化:安装 anolisos-kernel-modules(支持统信/UOS 驱动兼容层)。
  • 监控告警更新:Zabbix/Prometheus 中更新 os 标签为 anolisos,调整 node_uname_info 告警规则。
  • 合规与审计:Anolis OS 通过等保三级、国密 SM2/SM4 支持,需启用 openssl-anolis 加密套件。

📌 六、官方资源与支持

  • ✅ 官方文档:https://openanolis.cn/docs
  • ✅ 镜像源:https://mirrors.openanolis.cn
  • ✅ 社区支持:钉钉群(搜索“OpenAnolis 用户群”)、GitHub Issues(https://github.com/OpenAnolis/anolisos)
  • ✅ 企业支持:阿里云提供商业版 Anolis OS(含 SLA、安全补丁优先推送、迁移协助)

💡 总结建议:

生产环境强烈推荐 Clean Install —— 成功率 >99%,规避隐性兼容问题;
测试环境可尝试在线迁移验证,但必须完整备份+快照;
所有迁移前,务必在同等配置虚拟机中完成端到端演练(含业务压测)。

如需具体脚本(如配置迁移清单、批量服务启停模板)或某类应用(如 Oracle、SAP HANA)的适配指南,可进一步说明,我可为您定制提供。

云服务器