从 CentOS 迁移到 Alibaba Cloud Linux(原阿里云龙蜥操作系统,Alibaba Cloud Linux 2/3)是一个相对平滑的过程,因为两者在底层都基于 RHEL/CentOS 体系。但由于内核版本、软件包源、部分默认配置以及生命周期策略的差异,需要进行一些关键调整。
以下是迁移过程中需要重点关注的调整事项:
1. 基础环境准备与兼容性确认
- 版本对应关系:
- Alibaba Cloud Linux 2:主要兼容 CentOS 7。
- Alibaba Cloud Linux 3:主要兼容 CentOS 8 / Rocky Linux / AlmaLinux。
- 建议:确认你的业务应用对内核版本的要求。如果使用了特定的内核模块或旧版依赖,需确认新系统的内核是否支持。
- 架构一致性:确保迁移前后的 CPU 架构一致(如 x86_64 或 aarch64)。
2. 软件包管理器的调整
虽然 yum 命令在 Alibaba Cloud Linux 中依然可用(通常作为 dnf 的别名),但底层机制已升级为 dnf。
- 命令习惯:建议将脚本中的
yum install改为dnf install,或者直接使用yum(系统会兼容),但在处理复杂依赖时dnf更稳健。 - 仓库源切换:
- CentOS 的官方源已停止维护(特别是 CentOS 7/8 EOL),而 Alibaba Cloud Linux 拥有专属的优化仓库(
mirrors.aliyun.com)。 - 操作:安装完成后,务必检查
/etc/yum.repos.d/下的配置文件,确保指向的是阿里云的官方镜像源,以获得更快的下载速度和更稳定的服务。 - 注意:不要混用 CentOS 的 GPG Key,应使用阿里云提供的 GPG Key 以确保安全校验通过。
- CentOS 的官方源已停止维护(特别是 CentOS 7/8 EOL),而 Alibaba Cloud Linux 拥有专属的优化仓库(
3. 网络与安全组配置
- 云盾与安全组:CentOS 迁移上云后,阿里云的安全组规则可能需要重新审视。虽然端口开放逻辑不变,但建议结合阿里云“安全中心”进行漏洞扫描和基线加固。
- 内网 DNS:阿里云 ECS 实例通常会自动配置阿里云内部 DNS 服务器。如果之前依赖特定的外部 DNS 解析,需在
/etc/resolv.conf中手动指定或保留原有配置,防止域名解析失效。 - 时间同步:阿里云实例默认使用 NTP 服务。请检查
chronyd或ntpd服务状态,确保时间同步源正确(通常指向阿里云 NTP 服务器),避免日志时间戳混乱。
4. 系统服务与初始化
- Systemd 差异:大部分 systemd 服务名称保持不变,但部分服务的启动参数或默认行为可能微调。
- 检查关键服务(如
nginx,mysql,docker等)是否在重启后自动启动。 - 使用
systemctl status <service>确认状态。
- 检查关键服务(如
- Cloud-init:
- CentOS 7 早期版本可能未预装
cloud-init或使用特定插件。 - Alibaba Cloud Linux 深度集成了
aliyun-service和cloud-init适配。确保迁移后cloud-init服务正常,以便获取元数据(Metadata)、设置主机名和 SSH 密钥。
- CentOS 7 早期版本可能未预装
- SELinux:
- 如果之前关闭了 SELinux,迁移后建议保持关闭以维持一致性;如果需要开启,需注意新版本的策略文件可能有细微变化,可能导致某些自定义脚本报错。
5. 第三方软件与依赖库
- Glibc 版本:Alibaba Cloud Linux 3 基于较新的 glibc 版本。如果运行的是编译于旧环境的二进制程序,可能会遇到兼容性问题。建议使用 Docker 容器化部署来隔离环境依赖。
- Python/Node.js 等解释器:系统自带的 Python 版本可能更新。如果代码强依赖特定 Python 版本,建议在系统中使用
virtualenv或pyenv进行隔离,而不是直接依赖系统全局包。 - EPEL 源:CentOS 常用的 EPEL 源在 Alibaba Cloud Linux 中通常被替换为阿里云优化的扩展源,或者可以直接使用。请检查是否需要手动添加相关 repo 文件。
6. 迁移工具推荐
为了减少手动调整的工作量,强烈推荐使用阿里云官方提供的迁移工具:
- SMC (Server Migration Center):这是阿里云官方的物理机/虚拟机迁移工具。它支持将 CentOS 整机(包括文件系统、配置、数据)一键迁移到阿里云 ECS,并自动将目标系统转换为 Alibaba Cloud Linux 镜像(或在迁移过程中自动适配)。
- 优势:自动处理驱动、分区表、GRUB 引导配置等底层细节。
7. 测试与验证清单
迁移上线前,请务必执行以下检查:
- 功能回归测试:核心业务应用是否能正常启动?数据库读写是否正常?
- 性能基准对比:对比迁移前后的 CPU、内存、I/O 延迟,Alibaba Cloud Linux 针对云环境做了内核优化,通常会有所提升,但也需排除配置不当导致的下降。
- 监控接入:确保阿里云云监控 Agent (
alidns-agent或yundun) 能正常采集指标。 - 备份策略:迁移完成后,立即建立新的快照或备份策略,因为旧的备份可能包含 CentOS 特有的路径或配置。
总结
从 CentOS 迁移到 Alibaba Cloud Linux 的核心在于更换软件源、适应新版内核特性以及利用云原生工具(如 SMC)。由于两者血缘相近,绝大多数应用无需修改代码即可运行,主要的精力应放在网络配置、依赖库兼容性检查以及安全基线加固上。如果是生产环境,建议先在测试环境完成全量迁移演练。
云小栈