A number of people are looking to migrate from the open-source Xen to Citrix XenServer itself, and it’s not immediately obvious how to migrate Windows VMs between the two platforms. Citrix have a tool called ‘XenConvert’ designed to move machines between environments, and the way you can use this to move from open-source Xen is as follows:
- Download XenConvert from the Citrix downloads centre.
- Add a virtual disk to the guest machine (at least twice the size of the existing disk) to receive the exported VM.
- Run the original guest machine and partition / format the new virtual disk (NTFS / FAT, as long as you can mount these filesystems in the host).
- Install & Run XenConvert on the source guest machine.
- Select ‘XVA’ and select the new virtual disk as the destination for the XVA image.
- Shut down the source guest machine.
- Work out where the new virtual partition starts – something like this:
root@host:/etc/xen# parted /dev/host-vm/name-XVA GNU Parted 1.7.1 Using /dev/mapper/host--vm-name--XVA Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) unit B (parted) print Disk /dev/mapper/host--vm-name--XVA: 26843545599B Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32256B 26839088639B 26839056384B primary ntfs
- Mount the new virtual disk – change ‘offset’ to be the value in the Start column above, replace ntfs with vfat if FAT32 was used:
mount -o ro,offset=32256 -t ntfs /dev/host-vm/name-XVA /mnt/t
- Copy the *.xva folder from this mounted drive to somewhere accessible to the new XenServer host.
- Run XenCenter on a machine and connect to the new host.
- Import a new VM, select the ova.xml file from the *.xva folder, and follow the import – you’ll need to setup a new Network Interface.
- If required, reactivate Windows on the new guest as it starts up, and install XenServer Tools.