前言
HyperV虚拟机有一些独特的好处,例如重复数据删除、windows系统性能加成、图形化管理等等,但是一来授权价格昂贵,二来扩展和批量操作不易,所以这边打算转移一批hyperv虚拟机到kvm(proxmox)下,这里记录一下操作流程。
导出vhdx磁盘
这里务必要注意,首先彻底关闭要迁移的虚拟机,等彻底关闭后,选择【导出】
之所以不直接磁盘文件而是使用导出功能,是因为如果使用了快照功能的话,磁盘本身可能是数据不全的,这里务必注意!
检查磁盘完整性与格式转换
传输到新的宿主机后,需要检查文件的完整性,使用命令:qemu-img check -r all 文件名
。
root@HPC-HEL1-S101 /Hel1-S101/temp # qemu-img check -r all 1001045.vhdx No errors were found on the image.
没有错误后可以继续转换磁盘格式,使用命令:qemu-img convert -O qcow2 源文件名 目标文件名
,如果磁盘很大的话需要时间会比较长,建议在screen下进行。
root@HPC-HEL1-S101 qemu-img convert -O qcow2 1001045.vhdx vm-1100074-disk-0.qcow2
挂载到新的VM上
Proxmox中新建一个VM,然后Detach磁盘,找到这个磁盘的路径,如:/Hel1-S101/pve/images/1100074/
。然后直接将我们新转换的磁盘覆盖到这个路径里。
重新在Proxmox中选中这个磁盘(Unused Disk),点击Edit>Add重新挂载,完成!
这样的话就替换成KVM的qcow2磁盘了,如果想要再换成lvm的话,在proxmox中只需要qmmove即可,非常方便。