教程 rockylinux tutorial

系统迁移与克隆

企业或个人在升级、硬件更换或迁移环境时,需要保证系统和数据完整无损。
本文提供 Rocky Linux 系统迁移与克隆的最佳实践方法。

一、迁移场景

  1. 从 CentOS 迁移到 Rocky Linux
    • CentOS 8 结束支持,推荐迁移到 Rocky Linux 8 或 9
  2. 从 RHEL 迁移到 Rocky Linux
    • 用于节省商业订阅成本,同时保持二进制兼容
  3. 物理机到虚拟机迁移(P2V)
  4. 虚拟机迁移或克隆(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

确保识别到当前版本信息,避免迁移失败。

三、系统配置迁移

  1. 网络配置

    • 复制 /etc/sysconfig/network-scripts/ 或 nmcli 配置
  2. 用户与权限

    • /etc/passwd、/etc/group、/etc/shadow
  3. 服务与自定义应用

    • /etc/systemd/system/
    • /usr/local/bin/ 自定义脚本
  4. 数据库

    • 使用 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)

  1. 导出虚拟机

    • VMware:导出 OVF/OVA
    • KVM/QEMU:virsh dumpxml + qemu-img convert
  2. 导入目标环境

    • 导入 OVF/OVA 或使用 virt-install 创建虚拟机
    • 挂载原磁盘镜像,调整网络与 UUID
  3. 系统启动验证

    • 检查网卡配置、SELinux 和防火墙
    • 测试关键服务启动

六、迁移注意事项

项目 注意点
内核版本 源系统与目标系统内核版本最好一致,避免驱动兼容性问题
Bootloader 使用 grub2 安装或更新引导配置
SELinux 确认策略是否需要重新生成或恢复上下文
服务依赖 检查 systemd 单元依赖,防止服务无法启动
数据备份 迁移前务必完整备份系统与数据库

七、总结

  • Rocky Linux 提供官方迁移工具 migrate2rocky,可无缝替换 CentOS/RHEL
  • 磁盘克隆可使用 dd、Clonezilla 或 rsync 实现
  • 虚拟机迁移需调整网络、UUID 和引导加载
  • 迁移前必须做好备份与迁移验证,保证业务连续性

💡 提示:企业迁移生产环境前,建议先在测试环境模拟整个迁移流程,确保脚本与工具的兼容性。