openstack-manuals/doc/common/section_qemu.xml
Andreas Jaeger 93140c9453 Do not use os= in Config Reference
The Config Reference does not profile for the os variable and thus
all occurences of os=... are shown which leads to confusion. Add proper
wording for all examples.

Change-Id: I77c81b92e95d1b8737b507ea439a9622ebc3d6f1
Closes-Bug: #1232864
2013-10-10 09:36:26 +02:00

73 lines
3.7 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<section 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="qemu">
<?dbhtml stop-chunking?>
<title>QEMU</title>
<para>From the perspective of the Compute service, the QEMU hypervisor is very similar to the KVM
hypervisor. Both are controlled through libvirt, both support the same feature set, and all
virtual machine images that are compatible with KVM are also compatible with QEMU. The main
difference is that QEMU does not support native virtualization. Consequently, QEMU has worse
performance than KVM and is a poor choice for a production deployment.</para>
<para>The typical uses cases for QEMU are<itemizedlist>
<listitem>
<para>Running on older hardware that lacks
virtualization support.</para>
</listitem>
<listitem>
<para>Running the Compute service inside of a virtual
machine for development or testing purposes, where
the hypervisor does not support native
virtualization for guests.</para>
</listitem>
</itemizedlist></para>
<para>
To enable QEMU, add these settings to
<filename>nova.conf</filename>:<programlisting language="ini">compute_driver=libvirt.LibvirtDriver
libvirt_type=qemu</programlisting></para>
<para>
For some operations you may also have to install the <command>guestmount</command> utility:</para>
<para>On Ubuntu:
<screen><prompt>$></prompt> <userinput>sudo apt-get install guestmount</userinput></screen>
</para>
<para>On RHEL, Fedora or CentOS:
<screen><prompt>$></prompt> <userinput>sudo yum install libguestfs-tools</userinput></screen>
</para>
<para>On openSUSE:
<screen><prompt>$></prompt> <userinput>sudo zypper install guestfs-tools</userinput></screen>
</para>
<para>The QEMU hypervisor supports the following virtual machine image formats:</para>
<itemizedlist>
<listitem>
<para>Raw</para>
</listitem>
<listitem>
<para>QEMU Copy-on-write (qcow2)</para>
</listitem>
<listitem>
<para>VMWare virtual machine disk format (vmdk)</para>
</listitem>
</itemizedlist>
<section xml:id="fixes-rhel-qemu">
<title>Tips and fixes for QEMU on RHEL</title>
<para>If you are testing OpenStack in a virtual machine, you need
to configure nova to use qemu without KVM and hardware
virtualization. The second command relaxes SELinux rules
to allow this mode of operation
(<link xlink:href="https://bugzilla.redhat.com/show_bug.cgi?id=753589">
https://bugzilla.redhat.com/show_bug.cgi?id=753589</link>). The
last two commands here work around a libvirt issue fixed in
RHEL 6.4. Note nested virtualization will be the much
slower TCG variety, and you should provide lots of memory
to the top level guest, as the OpenStack-created guests
default to 2GM RAM with no overcommit.</para>
<note><para>The second command, <command>setsebool</command>, may take a while.
</para></note>
<screen><prompt>$></prompt> <userinput>sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_type qemu</userinput>
<prompt>$></prompt> <userinput>sudo setsebool -P virt_use_execmem on</userinput>
<prompt>$></prompt> <userinput>sudo ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64</userinput>
<prompt>$></prompt> <userinput>sudo service libvirtd restart</userinput></screen>
</section>
</section>