VMware虚拟机迁移至KVM涉及到磁盘格式转换,因为VMware虚拟机使用的是VMFS文件系统,对应到虚拟机磁盘是VMDK。而KVM使用RAW或者qcow2的格式较多。格式转换那必须离线进行。之前试过比较笨的方法,就是将VMware的VMDK下载下来,使用qemu-img将VMDK转换成qcow2,然后在KVM中手动创建配置文件,把KVM虚拟机拉起来。
现在使用virt-v2v就方便多了,简单的命令,就可以将虚机2大重要组成部分都迁移过来(磁盘、配置文件)。使用之前注意一下virt-v2v的使用限制问题,vSphere 必须大于5.0的版本。
使用vCenter的环境
virt-v2v -ic vpx://administrator%40vsphere.local@10.80.0.127/XCMG-CM/XCMG-IOT/10.80.0.74?no_verify=1 -o local -os /root/103 -of qcow2 10.80.0.103-migrate-clone
10.80.0.127是vCenter地址
XCMG-CM是数据中心名称
XCMG-IOT是集群名称
10.80.0.74是ESXI地址
/root/103是本地存放目录
-of qcow2 转换的格式是qcow2
0.80.0.103-migrate-clone是虚拟机名称
运行时需要输入几次vCenter的密码。
使用ESXI的环境
virsh -c esx://root@10.80.0.75?no_verify=1 list --all
查看该ESXI下的虚拟机状态,no_verify=1表示忽略证书认证
virt-v2v-copy-to-local -ic esx://root@10.80.0.75?no_verify=1 10.80.0.102-migrate-clone
10.80.0.102-migrate-clone是虚拟机名称,该命令是将虚拟机拷贝到当前目录,不执行virt-v2v转换
virt-v2v -i libvirtxml 10.80.0.102-migrate-clone.xml -o local -os /var/www/html -of raw
将磁盘转换为RAW格式,并且存放至-os指定目录。由于xml中包含磁盘具体路径,因此就不用单独指定磁盘了。转换过之后,就可以直接用了。
PS:也有一些在线迁移的方案,大多是利用备份恢复的原理做的。不涉及磁盘格式转换。