3 Introduction to KVM Virtualization #
3.1 Basic Components #
KVM is a full virtualization solution for hardware architectures that support hardware virtualization (refer to Chapter 6, Supported Hosts, Guests, and Features for more details on supported architectures).
VM Guests (virtual machines), virtual storage, and virtual networks
can be managed with QEMU tools directly, or with the
libvirt
-based stack. The QEMU tools include
qemu-system-ARCH
, the QEMU monitor,
qemu-img
, and qemu-ndb
. A
libvirt
-based stack includes libvirt
itself, along with
libvirt
-based applications such as virsh
,
virt-manager
, virt-install
, and
virt-viewer
.
3.2 KVM Virtualization Architecture #
This full virtualization solution consists of two main components:
A set of kernel modules (
kvm.ko
,kvm-intel.ko
, andkvm-amd.ko
) that provides the core virtualization infrastructure and processor-specific drivers.A user space program (
qemu-system-ARCH
) that provides emulation for virtual devices and control mechanisms to manage VM Guests (virtual machines).
The term KVM more properly refers to the kernel level virtualization functionality, but is in practice more commonly used to refer to the user space component.
QEMU can provide certain Hyper-V hypercalls for Windows* guests to partly emulate a Hyper-V environment. This can be used to achieve better behavior for Windows* guests that are Hyper-V enabled.