Kernel-based Virtual Machine (KVM) is a virtualization technology based on a Linux kernel. The installation of KVM on a Linux host turns the host into a hypervisor. Virtual machines can be run on the hypervisor. KVM is one of a few full virtualization technologies under GNU General Public License and running on Linux. Comparing the features and opportunities KVM can be compared to other wide-spread virtualization technologies like Citrix XenServer, VMware ESX/ESXi and Microsoft Hyper-V.
This wiki depicts technical details related to installation of and working with KVM, respectively. The content is based on several years of administration experience collected during the administration of >100 KVM hosts and >250 virtual hosts in half a dozen sites. The wiki will also describe KVM related technologies like iSCSI, multipath, LVM, DM and Puppet.
The wiki is not dedicated to a special site, special hardware or special hosts. Although all examples were derived from real hosts they are only examples for any KVM host. Unless otherwise stated all administration was done on hosts using Linux Ubuntu from version 12.04 LTS to 22.04 LTS or Debian from version 9 to version 11.
The wiki will only repeat common knowledge about KVM were necessary. It will not be and does not intend to be a introduction to KVM or a general refrenece to KVM. The intended audience is an KVM administrator with basic knowledge, good Linux Debian/Ubuntu knowledge and some experience with KVM.
The following signs and symbols are used throughout the KVM wiki:
- Words in <angle brackets> have to be substituted by proper terms. Example: <hostname>
- Host names beginning with 'kvm' mark KVM hosts. Example: kvm55
- Host names beginning with 'vhost' mark virtual hosts. Example: vhost1
- Host names like 'client' mark adminstrators client hosts
- Phrases in
monospaceare command line commands.