openstack-manuals/doc/src/docbkx/openstack-compute-admin/computehypervisors.xml

141 lines
7.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="ch_hypervisors">
<title>Hypervisors</title>
<para>This section assumes you have a working installation of OpenStack Compute and want to
select a particular hypervisor or run with multiple hypervisors. Before you try to get a VM
running within OpenStack Compute, be sure you have installed a hypervisor and used the
hypervisor's documentation to run a test VM and get it working.</para>
<section xml:id="selecting-a-hypervisor">
<title>Selecting a Hypervisor</title>
<para>OpenStack Compute supports many hypervisors, an array of which must provide a bit of
difficulty in selecting a hypervisor unless you are already familiar with one. You
cannot configure more than one virtualization type on the compute nodes, so the
hypervisor selection is for the entire installation. These links provide additional
information for choosing a hypervisor. Refer to <link
xlink:href="http://wiki.openstack.org/HypervisorSupportMatrix"
>http://wiki.openstack.org/HypervisorSupportMatrix</link> for a detailed list of
features and support across the hypervisors. </para>
<para>Here is a list of the supported hypervisors with links to a relevant web site for
configuration and use:</para>
<itemizedlist>
<listitem><para><link xlink:href="http://www.linux-kvm.org/page/Main_Page">KVM</link> - Kernel-based Virtual
Machine. The virtual disk formats that it supports it inherits from QEMU since
it uses a modified QEMU program to launch the virtual machine. The supported
formats include raw images, the qcow2, and VMware formats. </para></listitem>
<listitem><para><link xlink:href="http://lxc.sourceforge.net/">LXC</link> - Linux Containers (through
libvirt), use to run Linux-based virtual machines.</para></listitem>
<listitem><para><link xlink:href="http://wiki.qemu.org/Manual">QEMU</link> - Quick EMUlator, generally only
used for development purposes.</para></listitem>
<listitem><para><link xlink:href="http://user-mode-linux.sourceforge.net/">UML</link> - User Mode Linux,
generally only used for development purposes. </para></listitem>
<listitem><para><link xlink:href="http://www.vmware.com/products/vsphere-hypervisor/support.html">VMWare
ESX/ESXi</link> 4.1 update 1, runs VMWare-based Linux and Windows images
through a connection with the ESX server.</para></listitem>
<listitem><para><link xlink:href="http://www.xen.org/support/documentation.html">Xen</link> - XenServer 5.5,
Xen Cloud Platform (XCP), use to run Linux or Windows virtual machines. You must
install the nova-compute service on DomU. </para></listitem></itemizedlist>
</section>
<section xml:id="hypervisor-configuration-basics"><title>Hypervisor Configuration Basics</title>
<para>The node where the nova-compute service is installed and running is the machine that
runs all the virtual machines, referred to as the compute node in this guide. </para>
<para>By default, the selected hypervisor is KVM. To change to another hypervisor, change
the --libvirt_type flag in nova.conf and restart the nova-compute service. </para>
<para>Here are the nova.conf flags that are used to configure the compute node.</para>
<table rules="all">
<caption>Description of nova.conf flags for the compute node</caption>
<thead>
<tr>
<td>Flag</td>
<td>Default</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr><td>--connection_type</td>
<td>default: 'libvirt'</td>
<td>libvirt, xenapi, or fake; Value that indicates the virtualization
connection type</td></tr>
<tr>
<td>--compute_manager</td>
<td>default: 'nova.compute.manager.ComputeManager'</td>
<td>String value; Manager to use for nova-compute</td>
</tr>
<tr>
<td>--compute_driver</td>
<td>default: 'nova.virt.connection.get_connection'</td>
<td>String value; Driver to use for controlling virtualization</td>
</tr>
<tr>
<td>--images_path</td>
<td>default: '$state_path/images'</td>
<td>Directory; Location where decrypted images are stored on disk (when not
using Glance)</td>
</tr>
<tr>
<td>--instances_path</td>
<td>default: '$state_path/instances'</td>
<td>Directory; Location where instances are stored on disk (when not using
Glance)</td>
</tr>
<tr>
<td>--libvirt_type</td>
<td>default: 'kvm'</td>
<td>String; Libvirt domain type (valid options are: kvm, qemu, uml, xen) </td>
</tr>
<tr>
<td>--allow_project_net_traffic</td>
<td>default: 'true'</td>
<td>True or false; Indicates whether to allow in-project network traffic </td>
</tr>
<tr>
<td>--firewall_driver</td>
<td>default: 'nova.virt.libvirt_conn.IptablesFirewallDriver'</td>
<td>String; Firewall driver for instances, defaults to iptables</td>
</tr>
<tr>
<td>--injected_network_template</td>
<td>default: ''</td>
<td>Directory and file name; Template file for injected network
information</td>
</tr>
<tr>
<td>--libvirt_uri</td>
<td>default: empty string</td>
<td>String; Override the default libvirt URI (which is dependent on libvirt_type)</td>
</tr>
<tr>
<td>--libvirt_xml_template</td>
<td>default: ''</td>
<td>Directory and file name; Libvirt XML template</td>
</tr>
<tr>
<td>--use_cow_images</td>
<td>default: 'true'</td>
<td>True or false; Indicates whether to use cow images</td>
</tr>
<tr>
<td>--rescue_image_id</td>
<td>default: 'ami-rescue'</td>
<td>String; AMI image to use for rescue</td>
</tr>
<tr>
<td>--rescue_kernel_id</td>
<td>default: 'aki-rescue'</td>
<td>String; AKI image to use for rescue</td>
</tr>
<tr>
<td>--rescue_ramdisk_id</td>
<td>default: 'ari-rescue'</td>
<td>String; ARI image to use for rescue</td>
</tr>
</tbody></table>
</section>
</chapter>