Migration Guide To Xen4.1+

From Xen
Revision as of 14:41, 28 October 2014 by Rcpavlicek (talk | contribs)
Jump to navigationJump to search


Xen 4.1.0 includes a new toolstack xl. This new toolstack is intended to be a drop in replacement for the xm command line interface to the xend toolstack. xl is built on the libxl toolstack library which is intended as a common library which will be used by all toolstacks in the future.

The xend toolstack remains supported in Xen 4.1.0 however users are strongly recommended to upgrade to xl. Beginning with Xen Project 4.5, the xend toolstack will no longer be supported or provided with the software.

General upgrade notes

In this release the Xen build system will no longer clone and build a kernel on behalf of the user. There is no coupling betweeen a Xen release and the kernel used in either dom0 or domU nor any coupling between the dom0 kernel and the domU kernel.

For guest domain (domU) use users are strongly encouraged to take advantage of the Xen guest support which is present in many mainstream distributions. See XenDomUSupport for more information.

For domain 0 use please see the XenDom0Kernels page for more information and guidance.

Toolstack upgrade notes

xl upgrade notes and migration steps from xend

The xl toolstack is intended to remain backwards compatible with existing xm domain configuration files. It is therefore expected that any existing configurations should work with xl with the following exceptions:

  • Arbitrary embedded python is not supported. Therefore it will be necessary to remove any python code from your configuration files.
  • Managed domains (e.g. xm vm-create, xm vm-start etc) are not supported by xl. Other toolstacks which support managed domains are Xen Cloud Platform's xapi toolstack and libvirt.
  • xl does not support the w! notation to share disks between several DomU's
  • For a complete comparison see XL vs Xend Feature Comparison

The other notable difference is that xl, unlike xend, will not perform any host networking configuration for you. The xend code to reconfigure on startup is extremely fragile, prone to bugs when either distro or Xen are upgraded and rather difficult to debug. Instead xl takes the approach of deferring such network configuration to the distribution configuration tools which are usually well understood and documented. Therefore upon upgrading to xl it is necessary to configure your host networking stack appropriately. Please see Network_Configuration_Examples_(Xen_4.1+) for more details on how to do this.

Please report any other configuration file incompatibilities to the Xen developers on the xen-devel mailing list. Also, please describe your use-case, which will help developers decide how important the missing feature is.

xl Upgrade Checklist

  • Configure your host networking using the configuration tools provided by your distribution. (See: Network_Configuration_Examples_(Xen_4.1+))
  • Remove any python code from domU configuration files.
  • Disable xend startup script
  • Use xl command instead of xm

xend upgrade notes

The upgrade form previous xend versions is intended to be transparent, with the following exception:

  • In previous releases xend unconditionally reconfigures the host network stack on startup, according to the network-script configuration item in /etc/xen/xend-config.sxp. In this release xend will only reconfigure the host network stack if the network stack does not appear to have been configured already (e.g. no bridges currently exist). This change allows administrators who wish to configure the network stack themselves (e.g. following the guidance on Network_Configuration_Examples_(Xen_4.1+)) to do so by default while preserving the existing behaviour for those who do not. In addition this new behaviour allows for smoother transitions back and forth between xend and xl (as described in the xl upgrade notes) since it means you can safely make the necessary configuration changes to use xl and not have to undo them if you switch back to xend. In this case it is recommended to use the xenbrN naming convention for maximum compatibility.