从 CentOS 迁移到 Alibaba Cloud Linux 3(兼容 RHEL 8)需要做好以下调整:
一、迁移前准备
-
备份系统
# 备份重要数据 tar -czf backup.tar.gz /etc /home /var/www /opt # 备份软件列表 rpm -qa > installed_packages.txt -
检查兼容性
# 查看当前系统版本 cat /etc/redhat-release # 检查内核版本 uname -r
二、主要差异点调整
1. 包管理器变化
- CentOS 7:
yum(基于 Python 2) - Alibaba Cloud Linux 3:
dnf(默认,兼容 yum 命令)# 命令基本兼容,但建议熟悉 dnf dnf install package_name dnf update
2. 服务管理
- Systemd 仍是默认,但版本更新
# 检查服务状态 systemctl status service_name # 查看启动项 systemctl list-unit-files
3. 网络配置
- CentOS 7:
/etc/sysconfig/network-scripts/ - Alibaba Cloud Linux 3:推荐使用
nmcli或nmtui# 查看网络连接 nmcli connection show # 修改配置 nmcli connection modify eth0 ipv4.addresses "192.168.1.100/24"
4. Python 版本
- CentOS 7:Python 2.7(默认)
- Alibaba Cloud Linux 3:Python 3.6+(默认)
# 需要调整 Python 脚本 python3 --version # 安装 Python 2(如需要) dnf install python2
5. 内核参数调整
Alibaba Cloud Linux 3 已优化云环境:
# 检查当前参数
sysctl -a | grep key_parameter
# 建议使用默认优化参数
三、迁移步骤
方案1:全新安装 + 数据迁移
- 创建 Alibaba Cloud Linux 3 实例
- 迁移配置文件
# 对比重要配置文件 diff /etc/ssh/sshd_config /mnt/backup/etc/ssh/sshd_config - 重新安装软件
# 根据备份的包列表安装 dnf install $(cat installed_packages.txt)
方案2:使用迁移工具
# 1. 安装迁移工具
dnf install -y alinux-release-migration
# 2. 执行迁移检查
alinux-migration-check
# 3. 执行迁移(谨慎操作)
# alinux-migration
四、常见问题处理
1. 服务启动失败
# 查看详细日志
journalctl -xe -u service_name
# 检查依赖
dnf provides /path/to/missing/file
2. SELinux 问题
# 检查状态
getenforce
# 临时禁用(调试用)
setenforce 0
# 修改配置文件
vi /etc/selinux/config
3. 防火墙调整
# 从 iptables 迁移到 firewalld
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
五、迁移后验证
-
基础功能检查
# 网络连通性 ping aliyun.com # 服务状态 systemctl list-units --state=failed -
性能监控
# 安装监控工具 dnf install sysstat # 查看系统负载 top -
应用测试
- Web 服务访问测试
- 数据库连接测试
- 定时任务执行验证
六、最佳实践建议
-
先在测试环境迁移
-
逐步迁移应用,不要一次性全部迁移
-
利用阿里云服务:
- 使用快照备份
- 使用弹性伸缩应对流量变化
- 配置云监控告警
-
文档更新:
- 更新运维手册
- 更新部署脚本
- 更新监控配置
七、阿里云特定优化
# 安装云助手
dnf install aliyun-assist
# 使用阿里云镜像提速
dnf config-manager --set-enabled aliyun-extra
注意:如果使用 CentOS 8,迁移会更平滑,因为都是 RHEL 8 衍生版。从 CentOS 7 迁移需要更多测试,特别是老旧应用。
CLOUD技术笔记