Migrate from XenServer to XCP-ng

News Jun 11, 2018


This article describes how to proceed in order to convert your Citrix © XenServer infrastructure into a XCP-ng infrastructure.

All of this, without losing ANY settings (SR, VMs, networks) from your existing XenServer infrastructure!

Most important rule

Always upgrade the pool master first. Always. Otherwise, you'll have issues.

Note: before upgrading, also think to eject all CD inserted in your VMs. This can be done with xe vm-cd-eject --multiple.

Migration process

XCP-NG installation follows roughly the same workflow than a XenServer installation. Therefore, the migration procedure will be very similar to an upgrade procedure in XenServer.

  • Download the XCP-ng ISO from this page
  • Put this ISO on a CD or a USB-key and start the installation procedure in your XenServer infrastructure You can use this:

dd if=xcp-ng-7.5.iso of=/dev/sdX bs=8M status=progress oflag=direct

You can also burn a real CD or use a Windows program to create a bootable USB key from an ISO file.
  • Follow the instruction on the screen to start the migration of your infrastructure from XenServer to XCP-ng.
install screen xcp-ng
  • Eventually, you will reach a screen proposing you to upgrade your XenServer 7.X to XCP-ng
  • Once the installation process is complete, reboot your host.
  • XCP-ng will boot

And it's done, you have succesfully migrated from XenServer to XCP-ng. Everything will be as it was before, in your XenServer infrastructure. SRs, VMs, network configuration, everything is kept during the migration to XCP-ng!

Migration from XenServer 6.X

XenServer 7 introduced a new (and better) partition scheme. Therefore, if you want to migrate from a XenServer 6 version you have two possibilities.

  • You can keep the old partition model
  • you can "upgrade" it to the new scheme
As it's (obvioulsy) a better partition scheme, we strongly recommend you to upgrade to this scheme and not to keep the old one, but it's your call.
WARNING: using the new partition scheme will REMOVE the content of your local SR.

Using the new partition

In order to migrate using the new partition scheme, you need to run this command on your host before launching the migration process.

$ touch /var/preserve/safe2upgrade

Check that you are using GPT partitioning and not MBR and doublecheck that you don't have any VDI attach to your local SR. Any remaining VDI will be removed.

Then, you can follow the standard migration procedure describe before.

Migrating your XenServer Pool to XCP-ng without downtime

Here is how  to proceed in order to migrate without having downtime in your infrastructure.

  1. Live migrate your VMs from the pool master to other hosts
  2. Upgrade your pool master
  3. Live migrate VMs from another host to your pool master
  4. Upgrade the host
  5. Repeat until all hosts are migrated

Alternate method: remote upgrade

If you do not have access to your server or remote KVM in order to upgrade using the interactive ISO installer, you can initiate an automatic reboot and upgrade process using the following procedure:

Unpack/extract the XCP-NG ISO to a folder on a webserver. Then get the UUID of your host by running the below command:

xe host-list

Using that host UUID, as well as the URL to the folder hosting the unpacked XCP-NG ISO, run the following command to test access:

xe host-call-plugin plugin=prepare_host_upgrade.py host-uuid=750d9176-6468-4a08-8647-77a64c09093e fn=testUrl args:url=http://<ip-address>/xcp-ng/unpackedexample/

The returned output must be true to continue.

Now tell the host to automatically boot to the ISO and upgrade itself on next reboot (using the UUID and URL from before):

xe host-call-plugin plugin=prepare_host_upgrade.py host-uuid=750d9176-6468-4a08-8647-77a64c09093e fn=main args:url=http://<ip-address>/xcp-ng/unpackedexample/

The output should also be true. It has created a temporary entry in the grub bootloader which will automatically load the upgrade ISO on the next boot. It then automatically runs the XCP-NG upgrade with no user intervention required. It will also backup your existing XenServer dom0 install to the secondary backup partition, just like the normal upgrade.

To start the process, just tell the host to reboot. It is best to watch the progress by using KVM if it's available, but if not, it should proceed fine and boot into upgraded XCP-NG in 10 to 20 minutes.

XCP-ng administration tool

Two options:

  • Xen Orchestra (complete web admin tool)
  • XCP-ng Center

See the download section for more details!


Olivier Lambert

Vates CEO & co-founder, Xen Orchestra and XCP-ng project creator. Enthusiast entrepreneur and Open Source advocate. A very happy Finnish Lapphund owner.