CentOS 下 VirtualBox 虚拟机迁移实操指南
一、迁移方式与选择
- 方式一 OVA 导出/导入:通过 VirtualBox 的“导出虚拟电脑”生成 .ova,在目标主机“导入虚拟电脑”。该方式会自动处理虚拟机的 UUID 与 网卡 MAC,避免冲突,适合跨主机、跨平台迁移与备份恢复。命令示例:VBoxManage export/import。适合大多数场景,优先推荐。
- 方式二 复制虚拟磁盘并重建 VM:手动拷贝 .vdi/.vmdk 等磁盘,再在目标主机新建虚拟机并“使用已有虚拟硬盘”。若直接复用原磁盘,可能因 UUID 冲突导致无法注册;需先克隆磁盘生成新 UUID,或在导入时让 VirtualBox 重新生成。适合仅需迁移系统盘或对 VM 配置需要完全重做的场景。
- 方式三 跨平台迁移到 VMware:先在 VirtualBox 导出 .ova,再在 VMware 中“打开/导入 OVA”。注意可能需要安装 VMDK 驱动并调整硬件兼容性设置。适合从 VirtualBox 迁往 VMware Workstation/Player/ESXi。
二、标准步骤 OVA 方式(推荐)
- 源主机操作
- 关闭虚拟机(建议“正常关机”而非强制结束)。
- 打开管理界面:文件 → 导出虚拟电脑,选择目标虚机,格式选 Open Virtualization Format 1.0(.ova),按需填写信息后导出。
- 将生成的 .ova 通过 scp/rsync/移动硬盘传至目标主机。
命令示例:
VBoxManage export “centos7-vm” -o “/path/centos7-vm.ova”
- 目标主机操作(CentOS 上)
- 安装 VirtualBox(示例):sudo dnf install VirtualBox-7.0(或 6.1,视仓库而定)。
- 导入:管理 → 导入虚拟电脑,选择 .ova;建议勾选“为所有网卡重新生成 MAC 地址”,避免与局域网其他虚机冲突。
命令示例:
VBoxManage import “/path/centos7-vm.ova” --options keepallmacs
- 导入完成后启动虚机,按需调整内存、CPU、显示、存储控制器等硬件配置。
三、手动复制磁盘方式(进阶)
- 源主机操作
- 关闭虚拟机;在“存储”中确认磁盘文件路径(如 /path/vm/centos7.vdi)。
- 为避免 UUID 冲突,建议克隆磁盘生成新 UUID:
VBoxManage clonehd “/path/vm/centos7.vdi” “/path/vm/centos7-new.vdi”
克隆会生成全新 UUID,便于在目标主机注册。
- 将 centos7-new.vdi 复制到目标主机(如 scp/rsync)。
- 目标主机操作
- 新建虚拟机(名称、类型 Linux、版本 Red Hat(64-bit) 等),内存/CPU 按源机配置设置。
- 到“存储”→“控制器:SATA/IDE”→“添加硬盘”→“选择现有磁盘”,注册并选择刚拷贝的 .vdi。
- 启动虚机,完成后续网络与服务校验。
四、迁移后的网络与系统调整
- 避免 IP 冲突与网卡变更
- 若导入时勾选了“重新生成 MAC”,系统网卡 eth0/ens33 的 MAC 可能变化,导致网络启动异常。建议采用 DHCP 临时获取地址,或按实际环境修正配置后再改为静态 IP。
- CentOS 7 常见网络配置路径与要点
- 配置文件位置:/etc/sysconfig/network-scripts/ifcfg-ens33(文件名可能因设备名不同而异)。
- 关键项:
- BOOTPROTO=static 或 dhcp
- ONBOOT=yes
- IPADDR、NETMASK、GATEWAY、DNS1(静态时填写)
- 使配置生效:systemctl restart NetworkManager 或 nmcli con reload && nmcli con up “ens33”(按实际连接名)。
- 主机名与 hosts
- 修改 /etc/hostname 与 /etc/hosts,避免与源机或其他虚机重名。
- 验证
- 检查网络:ip addr、ping 网关/外网域名
- 检查服务:systemctl status sshd、httpd/mysqld 等业务服务
- 如遇到 SELinux 报错,可临时 setenforce 0 排障,再按需在 /etc/selinux/config 调整为 permissive/disabled。
五、常见问题与排错要点
- 导入时报 “UUID 已存在/介质已注册”
- 原因:直接拷贝 .vdi 导致 UUID 冲突。
- 解决:在源机用 VBoxManage clonehd 生成新 UUID,或在导入向导中选择重新生成 MAC/重新初始化磁盘 UUID。
- 导入后网卡起不来或 IP 冲突
- 原因:MAC 变化或网络模式(桥接/NAT/Host-only)与目标网络不一致。
- 解决:在 VirtualBox 网络设置中调整为合适的连接方式;在系统内按实际网络修正 ifcfg 或使用 NetworkManager/nmcli 重新激活。
- 跨平台导入 VMware 失败
- 解决:优先使用 .ova;必要时在 VMware 中安装 VMDK 驱动并调整硬件兼容性。
- 迁移后系统时间异常
- 解决:在目标主机 BIOS 校准时间,虚机内启用 NTP:timedatectl set-ntp true。