Difference between revisions of "XL"

From Xen
(Add a short description of xl and a list of features)
m (fixed broken link)
 
(29 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
= Introduction =
 
= Introduction =
   
As of Xen 4.1 ''xl'' is the default toolstack supplied as part of the Xen release. The older ''xend'' toolstack is still available in tree but is considered deprecated and may eventually be removed.
+
''xl'' was introduced in the Xen 4.1 release, however ''xend'' remained the default. At the time of the Xen 4.2 release, ''xend'' was declared deprecated and ''xl'' became the default toolstack. ''xend'' has finally been removed from the Xen 4.5 release.
   
''xl'' is based on the xenlight library (''libxl''), a library designed to provide a common "bottom third" for any Xen toolstack).
+
''xl'' is based on the xenlight library (''libxl''), a library designed to provide a common "bottom third" for any Xen toolstack.
   
 
= Features =
 
= Features =
Line 24: Line 24:
 
* Control of CPUID features exposed to guests.
 
* Control of CPUID features exposed to guests.
 
* Support for both the traditional Xen for of ''qemu'' (''qemu-xen-traditional'') and upstream qemu versions (''qemu-xen'')
 
* Support for both the traditional Xen for of ''qemu'' (''qemu-xen-traditional'') and upstream qemu versions (''qemu-xen'')
  +
  +
See also [[XL vs Xend Feature Comparison]]
  +
  +
= Upgrading 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'' (although note the exceptions in ''Anti-Features'' below):
  +
  +
Unlike ''xend'' the ''xl'' toolstack 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.
  +
  +
You can find a feature by feature comparison of XL and Xen in [[XL vs Xend Feature Comparison]].
  +
  +
Please report any other configuration file incompatibilities to the Xen developers on the [mailto:xen-devel@lists.xenproject.org xen-devel mailing list].
  +
  +
=== 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 (it might also be needed to enable xl in the xen config (i.e. for debian in <code>/etc/default/xen</code>), and then to reboot).
  +
* Use ''xl'' command instead of ''xm''
   
 
= Anti-Features =
 
= Anti-Features =
Line 29: Line 48:
 
The following are explicitly not supported by ''xl'':
 
The following are explicitly not supported by ''xl'':
   
* Managed Domains (a la ''xm vm-create''). Suitable alternatives: xapi, which is available as part of [[XCP]] or via [[Project Kronos]] or [[http://libvirt.org libvirt]] or some very simple scripting (e.g. the ''xendomains'' initscript).
+
* Managed Domains (a la ''xm vm-create''). Suitable alternatives: xapi, which is available as part of [[XCP]] or via [[Project Kronos]] or [[libvirt]] or some very simple scripting (e.g. the ''xendomains'' initscript). Also see [[Choice of Toolstacks]]
 
* Python code in configuration files. See: [[PythonInXlConfig]]
 
* Python code in configuration files. See: [[PythonInXlConfig]]
   
  +
The following were considered but demand for them was low:
= Documentation =
 
   
  +
* Creating domains from SXP format configuration files (''xm create -F'') or outputting domain information in SXP format (''xm list -l''). See [http://bugs.xenproject.org/xen/bug/17 Xen bug#17].
{{Info|This section contains link to Xen manual pages that are generated from the Xen codebase. They reflect the state of '''xen-unstable.hg'''. We do not yet have versions for specific Xen releases, but will have them in future}}
 
  +
  +
= Upgrade Documentation =
  +
  +
== Upgrading xm to xl ==
  +
  +
* [[Migration_Guide_To_Xen4.1%2B#Toolstack_upgrade_notes|Migration Guide from xm to xl]]
  +
* Short video overview: [https://www.youtube.com/watch?v=qdJi18VekEY&feature=youtu.be XM to XL: A Short, But Necessary, Journey]
  +
  +
= Release Documentation =
  +
  +
== Xen 4.2 ==
  +
  +
{{Info|This section contains link to Xen manual pages that are generated from the Xen codebase. They reflect the state of '''xen-4.2-testing.hg'''.}}
  +
  +
{| class="wikitable"
  +
|-
  +
! Document related to '''xl''' and '''xl.cfg'''
  +
! Description
  +
|-
  +
| [http://xenbits.xen.org/docs/4.2-testing/man/xl.1.html xl(1)]
  +
| Xen management tool, based on LibXenlight
  +
|-
  +
| [http://xenbits.xen.org/docs/4.2-testing/man/xl.cfg.5.html xl.cfg(5)]
  +
| XL Domain Configuration File Syntax
  +
|-
  +
| [http://xenbits.xen.org/docs/4.2-testing/misc/xl-disk-configuration.txt xl.cfg(5), '''disk''' configuration]
  +
| This document specifies the xl config file format disk configuration option.
  +
|-
  +
| [http://xenbits.xen.org/docs/4.2-testing/misc/xl-network-configuration.html xl.cfg(5), '''network''' configuration]
  +
| This document specifies the xl config file format vif configuration option.
  +
|-
  +
| [http://xenbits.xen.org/docs/4.2-testing/misc/tscmode.txt xl.cfg(5), '''tsc_mode''' configuration]
  +
| In Xen 4 a new config option called tsc_mode may be specified for each domain. This document is targeted for Xen users and administrators that may need to select a non-default tsc_mode.
  +
|}
  +
  +
== Xen 4.3 ==
  +
See [[Xen 4.3 Man Pages]].
  +
  +
== Xen 4.4 ==
  +
See [[Xen_Project_4.4_Man_Pages]].
  +
  +
== Xen 4.5 ==
  +
See [[Xen_Project_4.5_Man_Pages]].
  +
  +
== Xen unstable ==
  +
  +
{{Info|This section contains link to Xen manual pages that are generated from the Xen codebase. They reflect the state of '''xen-unstable.hg'''.}}
   
 
{| class="wikitable"
 
{| class="wikitable"
Line 53: Line 119:
 
| This document specifies the xl config file format vif configuration option.
 
| This document specifies the xl config file format vif configuration option.
 
|-
 
|-
| [http://xenbits.xen.org/docs/unstable/misc/tscmode.txt xl.cfg(5), '''tsc_mode''' configuration]
+
| [http://xenbits.xen.org/docs/unstable/man/xen-tscmode.7.html xl.cfg(5), '''tsc_mode''' configuration]
 
| In Xen 4 a new config option called tsc_mode may be specified for each domain. This document is targeted for Xen users and administrators that may need to select a non-default tsc_mode.
 
| In Xen 4 a new config option called tsc_mode may be specified for each domain. This document is targeted for Xen users and administrators that may need to select a non-default tsc_mode.
 
|}
 
|}
  +
  +
== Also See ==
  +
* [[XL vs Xend Feature Comparison]]
   
 
[[Category:Beginners]]
 
[[Category:Beginners]]
 
[[Category:Users]]
 
[[Category:Users]]
 
[[Category:Developers]]
 
[[Category:Developers]]
  +
[[Category:Compatibility]]

Latest revision as of 10:25, 12 July 2020

Introduction

xl was introduced in the Xen 4.1 release, however xend remained the default. At the time of the Xen 4.2 release, xend was declared deprecated and xl became the default toolstack. xend has finally been removed from the Xen 4.5 release.

xl is based on the xenlight library (libxl), a library designed to provide a common "bottom third" for any Xen toolstack.

Features

  • PV and HVM guests.
  • Basic guest lifecycle operations: create, shutdown, reboot, pause, unpause, list, rename etc.
  • Guest device support, including hotplug and unplug:
    • Network devices (both para-virtualised and emulated)
    • Block devices (both para-virtualised and emulated)
    • Virtual framebuffer, keyboard and mouse both para-virtualised and emulated)
      • Including SDL, VNC and SPICE output
    • PV console devices
  • Live migration and save/restore of guests,
  • Passthrough of PCI devices to guests.
  • VCPU pinning
  • CPU pools, including cpupool-per-NUMA node.
  • Control of CPU scheduler parameters
  • TMEM
  • XSM/Flash policy control.
  • Control of CPUID features exposed to guests.
  • Support for both the traditional Xen for of qemu (qemu-xen-traditional) and upstream qemu versions (qemu-xen)

See also XL vs Xend Feature Comparison

Upgrading 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 (although note the exceptions in Anti-Features below):

Unlike xend the xl toolstack 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.

You can find a feature by feature comparison of XL and Xen in XL vs Xend Feature Comparison.

Please report any other configuration file incompatibilities to the Xen developers on the xen-devel mailing list.

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 (it might also be needed to enable xl in the xen config (i.e. for debian in /etc/default/xen), and then to reboot).
  • Use xl command instead of xm

Anti-Features

The following are explicitly not supported by xl:

The following were considered but demand for them was low:

  • Creating domains from SXP format configuration files (xm create -F) or outputting domain information in SXP format (xm list -l). See Xen bug#17.

Upgrade Documentation

Upgrading xm to xl

Release Documentation

Xen 4.2

Icon Info.png This section contains link to Xen manual pages that are generated from the Xen codebase. They reflect the state of xen-4.2-testing.hg.


Document related to xl and xl.cfg Description
xl(1) Xen management tool, based on LibXenlight
xl.cfg(5) XL Domain Configuration File Syntax
xl.cfg(5), disk configuration This document specifies the xl config file format disk configuration option.
xl.cfg(5), network configuration This document specifies the xl config file format vif configuration option.
xl.cfg(5), tsc_mode configuration In Xen 4 a new config option called tsc_mode may be specified for each domain. This document is targeted for Xen users and administrators that may need to select a non-default tsc_mode.

Xen 4.3

See Xen 4.3 Man Pages.

Xen 4.4

See Xen_Project_4.4_Man_Pages.

Xen 4.5

See Xen_Project_4.5_Man_Pages.

Xen unstable

Icon Info.png This section contains link to Xen manual pages that are generated from the Xen codebase. They reflect the state of xen-unstable.hg.


Document related to xl and xl.cfg Description
xl(1) Xen management tool, based on LibXenlight
xl.cfg(5) XL Domain Configuration File Syntax
xl.cfg(5), disk configuration This document specifies the xl config file format disk configuration option.
xl.cfg(5), network configuration This document specifies the xl config file format vif configuration option.
xl.cfg(5), tsc_mode configuration In Xen 4 a new config option called tsc_mode may be specified for each domain. This document is targeted for Xen users and administrators that may need to select a non-default tsc_mode.

Also See