The following list contains features and tools as supported by SUSE—this does not necessarily reflect the support status of the software itself. For a list of qemu-kvm command switches supported by SUSE, refer to Section A.3, “QEMU Command Line Options”.
Define and install VM Guests via vm-install including specifying the number of virtual processors, RAM, disk type and location, video type, keyboard mapping, NIC type, binding, MAC address, and boot method.
Restrictions: Currently only the
raw, qcow2 and
qed disk formats are supported in read and write mode.
The vmdk, vpc and
vhd/vhdx formats are only supported
in read-only mode. NIC creation is
restricted to using Realtek, e1000 or
virtio NICs. Sound cards are not supported.
Manage guests via Virtual Machine Manager using the following functions: autostart, start, stop, restart, pause, unpause, save, restore, clone, migrate, special key sequence insertion, guest console viewers, performance monitoring, and CPU pinning. Furthermore, static modifications of CPU, RAM, boot method, disk, NIC, mouse, display, video and host PCI and USB assignmentsand NIC are supported.
Restrictions: The following features are currently
not supported: sound devices, qxl, vmvga (vmware), Xen video, pcnet,
ne2k_pci, eepro100, emulated SCSI disks, Spice graphics. Raw, qed, and
qcow2 are the only supported storage formats in read and write mode.
The vmdk, vpc and vhd/vhdx
formats are only supported in read-only mode.
Restrictions: The following features are currently not supported: dasd, scsi
Manage guests via the command line.
Most virsh subcommands are supported, including creation, modification, and destruction of guests and all life cycle operations. Any virsh subcommands which translate to unsupported qemu-kvm command-line or monitor syntax are also unsupported. Guest XML descriptions used by virsh can be created manually, using vm-install, the Virtual Machine Manager, or external tools and scripts.
Manage guests via the command line. Although managing via Virtual Machine Manager should be the preferred option, qemu-kvm may be used for greater flexibility. See Section A.3.1, “Supported qemu-kvm Command Line Options” for a list of supported options.
Restrictions: See Section A.3.2, “Unsupported qemu-kvm Command Line Options” for a list of not supported options.
Debugging and monitoring tool.
A physical USB device may be passed from the VM Host Server to the VM Guest. Given the very wide variety of USB devices available, it is anticipated that some devices may not work properly.
PCI Pass-through improves performance of PCI devices. It requires underlying support from the hardware (e.g. Intel VT-d extensions, or AMD IOMMU extensions). VT-d requires the Kernel parameter "intel_iommu=on". Additionally, some host hardware will require the use of the KVM Kernel module parameter: allow_unsafe_assigned_interrupts=1 (enabling this parameter has security implications).
Many PCIe cards from major vendors should be supportable. Refer to system level certifications for specific details, or contact the vendor for support statements.
Dynamically adding or removing emulated or pass-through physical devices in the VM Guest is supported.
Dynamically changing the amount of memory allocated to a guest is supported.
Sharing folders between host and VM Guest is supported via VirtFs.
KSM allows for automatic sharing of identical memory pages between guests to save host memory. KVM is optimized to use KSM if enabled on the VM Host Server.
THP allows CPUs to address memory using pages larger than the default 4 KB. This helps reducing memory consumption and CPU cache usage. KVM is optimized to use THP (via madvise and opportunistic methods) if enabled on the VM Host Server.
A kvm group is created by the KVM package, which
permits a non-root user to access the KVM control device file
(/dev/kvm). Where possible, guests should not be
run as root. Steps have been taken to enable this for
libvirt as well. A setuid bridge helper has been
added so that a bridged network interface can be set up without
needing root privileges.
The VM Guest can be run in a sandboxed environment where only predetermined system calls are permitted for added protection against malicious behavior.
Hardware APIC Virtualization, allowing the processor to directly inject interrupts into the VM Guest to achieve better performance, is supported.
Directories in the host file system can be shared between the host and
VM Guest or guests using virtfs. A
virtfs proxy helper is provided to enable
virtfs usage when KVM is used as non-root user.
The vhost-net kernel module allows for a more efficient network
transport to the VM Guest. It is automatically used by
libvirt if loaded, or when using the qemu-kvm
command line, by adding vhost=on to the networking
option.
The AHCI interface for SATA storage has been recently added. It permits much higher block I/O performance than the IDE interface, and is particularly useful for use in recent Windows OS versions.
qcow2 and qed storage formats
qcow2 and qed
storage formats can now be used with live migration.
Trim and online disk resizing support depends on the storage format used.
Virtio SCSI allows for passing through host SCSI block or generic SCSI devices to the VM Guest, and provides additional storage options in a virtio SCSI interface within the guest.
Zero-copy packet transmits from the VM Guest are now possible using vhost-net and macvtap changes that have been added to the latest kernels.
The default caching mode for disk images is now
writeback due to improvements in the handling of
the image format. The virtio-blk back-end now
automatically switches from 'writeback' to 'writethrough' if the VM Guest
virtio driver does not support flushes.
NUMA machines are supported. Using numactl to pin
qemu-kvm processes to specific nodes is
recommended.
The following host operating system combinations are fully supported for live migrating guests from one host to another: SLES 11 SP3 to SLES 11 SP4, SLES 11 SP4 to SLES 11 SP4 and SLES 11 SP4 to SLES 12. When released, live migrating from SLES 11 SP4 to SLES 12 SP1 will be also supported.
Backwards migration is not supported: SLES 12 to SLES 11 SP4 and SLES 11 SP4 to SLES 11 SP3.
All supported guest systems can be migrated.
Changing power states in the host while guests are running is not supported.
An experimental block I/O back-end is available using the,
x-data-plane=on parameter to -device
virtio-blk-pci. This interface allows higher I/O rates. This
is not yet supported.
A more modern machine type based on the Intel q35 chipset is available. This is not yet supported.
When the svm or vmx CPU feature is passed through to the VM Guest, nested virtualization is possible. This is not yet supported.
Spice interoperability is not supported.
Glusterfs interoperability is not supported.
ISCSI integration is not supported. It is however possible for guests to access ISCSI targets available to the host via the blockio interfaces.
RBD integration is not supported.
Dynamically changing the number of virtual CPUs assigned to the VM Guest is currently not supported.
Specifying parameters for the KVM Kernel modules is currently not supported unless done under the direction of SUSE support personnel.
The guest agent (qemu-ga) allows programs on the VM Host Server to directly communicate with a VM Guest via an emulated or paravirtualized serial console. This feature is currently not supported.
qemu-kvm can be invoked with the
-no-kvm parameter. In this case VM Guest CPU
instructions are emulated instead of being executed directly by the
processor. This mode is not supported, but may be useful for problem
resolution.
Dynamically adding or removing emulated or pass-through physical devices in the VM Guest is supported.
KSM allows for automatic sharing of identical memory pages between guests to save host memory. KVM is optimized to use KSM if enabled on the VM Host Server.
THP allows CPUs to address memory using pages larger than the default 4 KB. This helps reducing memory consumption and CPU cache usage. KVM is optimized to use THP (via madvise and opportunistic methods) if enabled on the VM Host Server.