OpenStack Compute supports many hypervisors, which might make it difficult for you to choose one. Most installations use only one hypervisor. However, you can use ComputeFilter and ImagePropertiesFilter to schedule different hypervisors within the same installation. The following links help you choose a hypervisor. See Feature Support Matrix for a detailed list of features and support across the hypervisors.
The following hypervisors are supported:
KVM - Kernel-based Virtual Machine. The virtual disk formats that it supports is inherited 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.
LXC - Linux Containers (through libvirt), used to run Linux-based virtual machines.
QEMU - Quick EMUlator, generally only used for development purposes.
VMware vSphere 5.1.0 and newer - Runs VMware-based Linux and Windows images through a connection with a vCenter server.
Hyper-V - Server virtualization with Microsoft Hyper-V, use to run Windows, Linux, and FreeBSD virtual machines. Runs
nova-computenatively on the Windows virtualization platform.
Virtuozzo 7.0.0 and newer - OS Containers and Kernel-based Virtual Machines supported. The supported formats include ploop and qcow2 images.
zVM - Server virtualization on z Systems and IBM LinuxONE, it can run Linux, z/OS and more.
Ironic - OpenStack project which provisions bare metal (as opposed to virtual) machines.
Nova supports hypervisors via virt drivers. Nova has the following in tree virt drivers:
This driver runs on Linux and supports multiple hypervisor backends, which can be configured via the
This driver does not spawn any virtual machines and therefore should only be used during testing.