QEMU

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.

The typical uses cases for QEMU are

  • Running on older hardware that lacks virtualization support.

  • Running the Compute service inside of a virtual machine for development or testing purposes, where the hypervisor does not support native virtualization for guests.

Configuration

To enable QEMU, configure DEFAULT.compute_driver = libvirt.LibvirtDriver and libvirt.virt_type = qemu. For example:

[DEFAULT]
compute_driver = libvirt.LibvirtDriver

[libvirt]
virt_type = qemu

For some operations you may also have to install the guestmount utility:

On Ubuntu:

# apt-get install guestmount

On Red Hat Enterprise Linux, Fedora, or CentOS:

# yum install libguestfs-tools

On openSUSE:

# zypper install guestfs-tools

The QEMU hypervisor supports the following virtual machine image formats:

  • Raw

  • QEMU Copy-on-write (qcow2)

  • VMware virtual machine disk format (vmdk)