<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <!-- This file is autogenerated from drvxen.html.in Do not edit this file. Changes will be lost. --> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <link rel="stylesheet" type="text/css" href="main.css" /> <link rel="SHORTCUT ICON" href="32favicon.png" /> <title>libvirt: Xen hypervisor driver</title> <meta name="description" content="libvirt, virtualization, virtualization API" /> </head> <body> <div id="header"> <div id="headerLogo"></div> <div id="headerSearch"> <form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><div> <input id="query" name="query" type="text" size="12" value="" /> <input id="submit" name="submit" type="submit" value="Search" /> </div></form> </div> </div> <div id="body"> <div id="menu"> <ul class="l0"><li> <div> <a title="Front page of the libvirt website" class="inactive" href="index.html">Home</a> </div> </li><li> <div> <a title="Details of new features and bugs fixed in each release" class="inactive" href="news.html">News</a> </div> </li><li> <div> <a title="Get the latest source releases, binary builds and get access to the source repository" class="inactive" href="downloads.html">Downloads</a> </div> </li><li> <div> <a title="Information for users, administrators and developers" class="active" href="docs.html">Documentation</a> <ul class="l1"><li> <div> <a title="Information about deploying and using libvirt" class="inactive" href="deployment.html">Deployment</a> </div> </li><li> <div> <a title="Overview of the logical subsystems in the libvirt API" class="inactive" href="intro.html">Architecture</a> </div> </li><li> <div> <a title="Description of the XML formats used in libvirt" class="inactive" href="format.html">XML format</a> </div> </li><li> <div> <a title="Hypervisor specific driver information" class="active" href="drivers.html">Drivers</a> <ul class="l2"><li> <div> <span class="active">Xen</span> </div> </li><li> <div> <a title="Driver for QEMU, KQEMU, KVM and Xenner" class="inactive" href="drvqemu.html">QEMU / KVM</a> </div> </li><li> <div> <a title="Driver for the Linux native container API" class="inactive" href="drvlxc.html">Linux Container</a> </div> </li><li> <div> <a title="Psuedo-driver simulating APIs in memory for test suites" class="inactive" href="drvtest.html">Test</a> </div> </li><li> <div> <a title="Driver providing secure remote to the libvirt APIs" class="inactive" href="drvremote.html">Remote</a> </div> </li><li> <div> <a title="Driver for the OpenVZ container technology" class="inactive" href="drvopenvz.html">OpenVZ</a> </div> </li><li> <div> <a title="Driver for the User Mode Linux technology" class="inactive" href="drvuml.html">UML</a> </div> </li><li> <div> <a title="Driver for the storage management APIs" class="inactive" href="storage.html">Storage</a> </div> </li></ul> </div> </li><li> <div> <a title="Reference manual for the C public API" class="inactive" href="html/index.html">API reference</a> </div> </li><li> <div> <a title="Bindings of the libvirt API for other languages" class="inactive" href="bindings.html">Language bindings</a> </div> </li></ul> </div> </li><li> <div> <a title="User contributed content" class="inactive" href="http://wiki.libvirt.org">Wiki</a> </div> </li><li> <div> <a title="Frequently asked questions" class="inactive" href="FAQ.html">FAQ</a> </div> </li><li> <div> <a title="How and where to report bugs and request features" class="inactive" href="bugs.html">Bug reports</a> </div> </li><li> <div> <a title="How to contact the developers via email and IRC" class="inactive" href="contact.html">Contact</a> </div> </li><li> <div> <a title="Miscellaneous links of interest related to libvirt" class="inactive" href="relatedlinks.html">Related Links</a> </div> </li><li> <div> <a title="Overview of all content on the website" class="inactive" href="sitemap.html">Sitemap</a> </div> </li></ul> </div> <div id="content"> <h1>Xen hypervisor driver</h1> <p> The libvirt Xen driver provides the ability to manage virtual machines on any Xen release from 3.0.1 onwards. </p> <h2>Deployment pre-requisites</h2> <p> The libvirt Xen driver uses a combination of channels to manage Xen virtual machines. </p> <ul><li> <strong>XenD</strong>: Access to the Xen daemon is a mandatory requirement for the libvirt Xen driver. It requires that the UNIX socket interface be enabled in the <code>/etc/xen/xend-config.sxp</code> configuration file. Specifically the config settings <code>(xend-unix-server yes)</code>. This path is usually restricted to only allow the <code>root</code> user access. As an alternative, the HTTP interface can be used, however, this has significant security implications. </li><li> <strong>XenStoreD</strong>: Access to the Xenstore daemon enables more efficient codepaths for looking up domain information which lowers the CPU overhead of management. </li><li> <strong>Hypercalls</strong>: The ability to make direct hypercalls allows the most efficient codepaths in the driver to be used for monitoring domain status. </li><li> <strong>XM config</strong>: When using Xen releases prior to 3.0.4, there is no inactive domain management in XenD. For such releases, libvirt will automatically process XM configuration files kept in the <code>/etc/xen</code> directory. It is important not to place any other non-config files in this directory. </li></ul> <h2> <a name="xmlconfig" id="xmlconfig">Example domain XML config</a> </h2> <p> Below are some example XML configurations for Xen guest domains. For full details of the available options, consult the <a href="formatdomain.html">domain XML format</a> guide. </p> <h3>Paravirtualized guest bootloader</h3> <p> Using a bootloader allows a paravirtualized guest to be booted using a kernel stored inside its virtual disk image </p> <pre><domain type='xen' > <name>fc8</name> <bootloader>/usr/bin/pygrub</bootloader> <os> <type>linux</type> </os> <memory>131072</memory> <vcpu>1</vcpu> <devices> <disk type='file'> <source file='/var/lib/xen/images/fc4.img'/> <target dev='sda1'/> </disk> <interface type='bridge'> <source bridge='xenbr0'/> <mac address='aa:00:00:00:00:11'/> <script path='/etc/xen/scripts/vif-bridge'/> </interface> <console tty='/dev/pts/5'/> </devices> </domain></pre> <h3>Paravirtualized guest direct kernel boot</h3> <p> For installation of paravirtualized guests it is typical to boot the domain using a kernel and initrd stored in the host OS </p> <pre><domain type='xen' > <name>fc8</name> <os> <type>linux</type> <kernel>/var/lib/xen/install/vmlinuz-fedora8-x86_64</kernel> <initrd>/var/lib/xen/install/initrd-vmlinuz-fedora8-x86_64</initrd> <cmdline> kickstart=http://example.com/myguest.ks </cmdline> </os> <memory>131072</memory> <vcpu>1</vcpu> <devices> <disk type='file'> <source file='/var/lib/xen/images/fc4.img'/> <target dev='sda1'/> </disk> <interface type='bridge'> <source bridge='xenbr0'/> <mac address='aa:00:00:00:00:11'/> <script path='/etc/xen/scripts/vif-bridge'/> </interface> <graphics type='vnc' port='-1'/> <console tty='/dev/pts/5'/> </devices> </domain></pre> <h3>Fullyvirtualized guest BIOS boot</h3> <p> Fullyvirtualized guests use the emulated BIOS to boot off the primary harddisk, CDROM or Network PXE ROM. </p> <pre><domain type='xen' id='3'> <name>fv0</name> <uuid>4dea22b31d52d8f32516782e98ab3fa0</uuid> <os> <type>hvm</type> <loader>/usr/lib/xen/boot/hvmloader</loader> <boot dev='hd'/> </os> <memory>524288</memory> <vcpu>1</vcpu> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <features> <pae/> <acpi/> <apic/> </features> <clock sync="localtime"/> <devices> <emulator>/usr/lib/xen/bin/qemu-dm</emulator> <interface type='bridge'> <source bridge='xenbr0'/> <mac address='00:16:3e:5d:c7:9e'/> <script path='vif-bridge'/> </interface> <disk type='file'> <source file='/var/lib/xen/images/fv0'/> <target dev='hda'/> </disk> <disk type='file' device='cdrom'> <source file='/var/lib/xen/images/fc5-x86_64-boot.iso'/> <target dev='hdc'/> <readonly/> </disk> <disk type='file' device='floppy'> <source file='/root/fd.img'/> <target dev='fda'/> </disk> <graphics type='vnc' port='5904'/> </devices> </domain></pre> <h3>Fullyvirtualized guest direct kernel boot</h3> <p> With Xen 3.2.0 or later it is possible to bypass the BIOS and directly boot a Linux kernel and initrd as a fullyvirtualized domain. This allows for complete automation of OS installation, for example using the Anaconda kickstart support. </p> <pre><domain type='xen' id='3'> <name>fv0</name> <uuid>4dea22b31d52d8f32516782e98ab3fa0</uuid> <os> <type>hvm</type> <loader>/usr/lib/xen/boot/hvmloader</loader> <kernel>/var/lib/xen/install/vmlinuz-fedora8-x86_64</kernel> <initrd>/var/lib/xen/install/initrd-vmlinuz-fedora8-x86_64</initrd> <cmdline> kickstart=http://example.com/myguest.ks </cmdline> </os> <memory>524288</memory> <vcpu>1</vcpu> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <features> <pae/> <acpi/> <apic/> </features> <clock sync="localtime"/> <devices> <emulator>/usr/lib/xen/bin/qemu-dm</emulator> <interface type='bridge'> <source bridge='xenbr0'/> <mac address='00:16:3e:5d:c7:9e'/> <script path='vif-bridge'/> </interface> <disk type='file'> <source file='/var/lib/xen/images/fv0'/> <target dev='hda'/> </disk> <disk type='file' device='cdrom'> <source file='/var/lib/xen/images/fc5-x86_64-boot.iso'/> <target dev='hdc'/> <readonly/> </disk> <disk type='file' device='floppy'> <source file='/root/fd.img'/> <target dev='fda'/> </disk> <graphics type='vnc' port='5904'/> </devices> </domain></pre> </div> </div> <div id="footer"> <p id="sponsor"> Sponsored by:<br /><a href="http://et.redhat.com/"><img src="et.png" alt="Project sponsored by Red Hat Emerging Technology" /></a></p> </div> </body> </html>