在实验环境或者企业生产中,我们可能一开始使用的是VMware来创建虚拟机,由于版权或其它原因需要将VMware虚拟机迁移到KVM环境,此篇笔者将演示如何完成这一操作。

  1. 准备VMDK文件

    在进行VMware虚拟机的迁移时,我们主要是要拿到VMware中的vmdk文件,最好是完整文件,如果不是,需要将不同的vmdk文件进行合并。笔者这边之前安装过一台Ubuntu虚拟机一直没用上,只有一个vmdk文件,就直接拿该文件来演示。

将VMware虚拟机迁移至KVM环境_vmware虚拟机


  1. 转换源文件磁盘格式

    在本周第二篇创建NAT和Bridge网络虚拟机部分,笔者有提到qemu-img命令不仅可以创建磁盘,还可进行磁盘格式的转换。qemu-img加上convert指令,可以将源文件转换为指定格式的磁盘文件。

将VMware虚拟机迁移至KVM环境_vmware虚拟机_02

    结合到笔者的实验,需要使用-f说明源文件格式为vmdk,-O将源文件转换为qcow2格式,输出格式后面需要跟上源文件的名称及转换后的文件名称。转换格式花费的时间与源文件大小有关,如果生产中的vmdk文件比较大,转换时可能会需要等待一段时间,转换完毕可以将新生成的qcow2格式磁盘文件移动到默认磁盘文件存放路径下。

将VMware虚拟机迁移至KVM环境_kvm_03


  1. 复原虚拟机

    由于已经转换了磁盘格式,已经可以用笔者在本周第四篇复制磁盘并使用virt-manager导入的方法来复原迁移过来的虚拟机。执行virt-manager进入到VMM管理界面,具体过程笔者就不做赘述,直接上图了。

将VMware虚拟机迁移至KVM环境_ubuntu_04

将VMware虚拟机迁移至KVM环境_vmware虚拟机_05

将VMware虚拟机迁移至KVM环境_vmware虚拟机_06

将VMware虚拟机迁移至KVM环境_ubuntu_07

将VMware虚拟机迁移至KVM环境_虚拟机_08

将VMware虚拟机迁移至KVM环境_kvm_09


  1. 验证虚拟机可用性

    登录迁移过来的Ubuntu虚拟机,查看IP时显示的是笔者最早在VMware中配置的10.0.0.100的IP,同时也能访问外网。Ubuntu的root密码和远程登录是需要在安装系统完毕创建的,此时johnnyfang用户可以切换到root,也能在xshell等远程终端进行root账号的登录,说明迁移过来的虚拟机是可用的,并且保留了之前虚拟机的数据。

将VMware虚拟机迁移至KVM环境_源文件_10

将VMware虚拟机迁移至KVM环境_ubuntu_11

将VMware虚拟机迁移至KVM环境_vmware虚拟机_12