Migrating from xend to libxl

1. xend and libxl

xend is a daemon, written in python, for managing Xen domains. Beginning in Xen 4.1, work began on a replacement, called libxl. libxl has several advantages over xend:

The command-line tool which administrators could use to issue commands to xend was called xm. This has been replaced with xl, a toolstack which links against libxl.

libxl/xl has been the preferred toolstack since Xen 4.2. As of 4.5, xend has been removed from the tree; so Xen 4.4 (the current Xen4CentOS version) is the last release that contains xend. Users should transition over to xl/libxl as soon as possible.

2. Migrating from xm to xl

xl has designed to be command-line compatible with xm. For the most part, you should be able to use your old xm config files and commands with xl instead, as below:

xl create vm.cfg
xl list
xl shutdown vm

There are a few exceptions, mentioned in the xenproject xl wiki page. Notable exceptions are as follows:

Any xm functionality not in the list of "antifeatures" on the above webpage should be supported by xl. If you find functionality of xm that does not work, and is not on that list, please report it to the centos-virt or xen-user lists so it can be fixed.

To use xl/libxl, you only need to disable xend:

chkconfig xend off
service xend stop

3. Migrating from libvirt with xend to libvirt with libxl

When the libvirt daemon libvirtd is started, it will automatically determine whether to use xend or libxl.

Unfortunately, because of differences in the driver implementation, you cannot simply migrate back and forth by stopping xend and restarting libvirtd. You have to manually migrate your VM configurations from xend to libxl

Luckily, that's not too difficult. First, export the libvirt xml configuration for each of your VMs:

virsh shutdown ${vmname}
virsh dumpxml ${vmname} > ${vmname}.xml

Then shutdown xend and restart libvirtd (so it switches to libxl):

chkconfig xend off
service xend stop
service libvirtd restart

Finally, import the libvirt xml configurations again for each domain:

virsh define ${vmname}.xml

The majority of functionality supported by libvirt/xend should also work in libvirt/libxl without any further issue. If you find something that doesn't work, please report it to the centos-virt or xen-user list.

HowTos/Xen/Xen4QuickStart/MigratingToXl (last edited 2019-12-09 09:11:19 by anonymous)