主题
系统迁移与克隆
企业或个人在升级、硬件更换或迁移环境时,需要保证系统和数据完整无损。
本文提供 Rocky Linux 系统迁移与克隆的最佳实践方法。
一、迁移场景
- 从 CentOS 迁移到 Rocky Linux
- CentOS 8 结束支持,推荐迁移到 Rocky Linux 8 或 9
- 从 RHEL 迁移到 Rocky Linux
- 用于节省商业订阅成本,同时保持二进制兼容
- 物理机到虚拟机迁移(P2V)
- 虚拟机迁移或克隆(V2V)
二、CentOS/RHEL 到 Rocky Linux 迁移
1. 使用官方迁移工具
Rocky Linux 提供 migrate2rocky 工具实现无缝迁移:
bash
sudo dnf install -y https://dl.rockylinux.org/pub/rocky/rocky-release-latest.noarch.rpm
sudo dnf install -y epel-release
sudo dnf install -y migrate2rocky
sudo migrate2rocky -r功能:
- 替换 CentOS/RHEL 核心包
- 保留现有用户、服务与配置
- 更新 yum/dnf 源到 Rocky Linux 官方源
2. 迁移前检查
bash
rpm -qa | grep centos
cat /etc/os-release确保识别到当前版本信息,避免迁移失败。
三、系统配置迁移
网络配置
- 复制
/etc/sysconfig/network-scripts/或nmcli配置
- 复制
用户与权限
/etc/passwd、/etc/group、/etc/shadow
服务与自定义应用
/etc/systemd/system//usr/local/bin/自定义脚本
数据库
- 使用
mysqldump或pg_dump备份数据库 - 迁移后导入
- 使用
四、磁盘克隆方法
1. 使用 dd 完整克隆
bash
sudo dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync注意:确保目标磁盘容量 >= 源磁盘
dd是低级别字节拷贝,可复制整个系统和分区表
2. 使用 Clonezilla
Clonezilla 提供图形化磁盘克隆与备份功能:
- 启动 Clonezilla Live
- 选择
device-device或device-image模式 - 克隆系统分区或整个磁盘到另一台机器或硬盘
3. 使用 rsync 增量迁移
适合不同硬盘或远程迁移:
bash
rsync -aAXv --exclude={"/proc/*","/sys/*","/dev/*","/tmp/*","/run/*"} / /mnt/target/然后安装 bootloader 并更新 /etc/fstab。
五、虚拟机迁移(V2V)
导出虚拟机
- VMware:导出 OVF/OVA
- KVM/QEMU:
virsh dumpxml+qemu-img convert
导入目标环境
- 导入 OVF/OVA 或使用
virt-install创建虚拟机 - 挂载原磁盘镜像,调整网络与 UUID
- 导入 OVF/OVA 或使用
系统启动验证
- 检查网卡配置、SELinux 和防火墙
- 测试关键服务启动
六、迁移注意事项
| 项目 | 注意点 |
|---|---|
| 内核版本 | 源系统与目标系统内核版本最好一致,避免驱动兼容性问题 |
| Bootloader | 使用 grub2 安装或更新引导配置 |
| SELinux | 确认策略是否需要重新生成或恢复上下文 |
| 服务依赖 | 检查 systemd 单元依赖,防止服务无法启动 |
| 数据备份 | 迁移前务必完整备份系统与数据库 |
七、总结
- Rocky Linux 提供官方迁移工具
migrate2rocky,可无缝替换 CentOS/RHEL - 磁盘克隆可使用
dd、Clonezilla 或rsync实现 - 虚拟机迁移需调整网络、UUID 和引导加载
- 迁移前必须做好备份与迁移验证,保证业务连续性
💡 提示:企业迁移生产环境前,建议先在测试环境模拟整个迁移流程,确保脚本与工具的兼容性。