Libvirt
The virtualization API libvirt is a toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes). It has support for the Xen Project hypervisor, including a libxenlight port
The current URI syntax for libvirt can be found here. This is worth noting, as some older Xen Project-specific URI patterns have been deprecated in favor of a newer, generalized syntax.
WHO USES LIBVIRT?
Libvirt is commonly used by installations which need to support both Xen Project and KVM hypervisors. It is also used by companies like Oracle and SUSE in their OpenStack-based cloud offerings.
Generalized virtualization applications use libvirt so they can (theoretically) support multiple hypervisors with a single interface. The "theoretical" portion of this is that the application must be intelligent enough to avoid calls which don't apply to the selected hypervisor (e.g., employ KVM-specific libvirt calls when controlling a Xen Project VM).
Also, the Xen4CentOS effort includes an updated version of libvirt.
HOWTOs
- DomU_Install_with_Virt-Manager gives an example of using Virt-Manager, a GUI which uses libvirt.
- DomU_Install_with_Virt-Install gives an example of using Virt-Install, which uses libvirt.
- Fedora_Host_Installation steps through installing Fedora, and covers the use of libvirt-based tools.
- Using libvirt for Xen Project on Debian from the Debian documentation.
- Install Xen Project 4.4 with Libvirt on Ubuntu 14.04
- Using libvirt to Create a Private Network for Xen Project DomUs by blogger Matt J. Quinn.
PRESENTATIONS
- libvirt support for libxenlight as presented by Jim Fehlig at Xen Project Developer Summit 2014
BLOG POSTS
- Libvirt support for the XL toolkit by Jim Fehlig
REFERENCES
- Libvirt documentation from libvirt.org
- The libvirt Xen Project driver from libvirt.org
- Applications using libvirt from libvirt.org
- libvirt Xen Project architecture from libvirt.org
- Xen4Libvirt information from CentOS.org
- Building Libvirt for Xen Project on ArchLinux from ArchLinux.org