Lately I’ve been standing up more and more Hyper-V hosts – I’d estimate my environment is 80% virtual at this point with a total of 20 servers.
I had one remaining XenServer with about 4 VMs running on it. I wanted an easy way to move these VMs to Hyper-V. I tried using the XenCenter GUI to export to a workable format but that kept failing – unfortunately I don’t have any screenshots since this was done a while ago so the exact errors escape me.
This was tested on XenServer 5.6
My process was:
- Decide where to export the converted virtual machines to. I opted for an SMB share on a NAS, but you can easily adjust to save to a USB drive or to local storage, if you’d like.
- Power down the virtual machine you’re moving
- Log in to console, drop to shell on the XenServer host.
- Install XenConvert on your Windows machine, link here
- Export your VM using:
xe vm-export vm=VMNAME filename=/path/tofile/filename.xva>, preferably to a mounted share. For example, xe vm-export vm=appserver1 filename = /mnt/export/appserver1.xva
- Open the XVA in XenConvert and follow the prompts to convert it into an OVF.
- Once the OVF is saved, browse to the folder. The VHD should be inside.
- Create the machine in Hyper-V with the VHD attached. Remember to install Hyper-V guest additions and to check network settings.
That should be it! This was the easiest way I found to convert virtual machines from XenServer to Hyper-V VHDs.