Generated by DeepSeek V3.2| KVM | |
|---|---|
| Name | KVM |
| Developer | Red Hat, IBM, Intel, AMD, SUSE |
| Released | 2007 |
| Operating system | Linux |
| Genre | Hypervisor |
| License | GPL |
KVM (Kernel-based Virtual Machine) is a full virtualization solution for Linux on hardware containing virtualization extensions, such as Intel VT or AMD-V. It consists of a loadable kernel module that provides the core virtualization infrastructure and a processor-specific module, turning the Linux kernel into a bare-metal hypervisor. A virtual machine run by KVM can run unmodified Windows or Linux OS images, and each virtualized environment is scheduled by the standard Linux scheduler as a regular process. KVM is a core component of many enterprise virtualization and cloud computing platforms, including those from Red Hat, IBM, and Google Cloud.
KVM was initially developed by Qumranet, a company later acquired by Red Hat, and was merged into the mainline Linux kernel version 2.6.20 in 2007. Its integration directly into the Linux kernel allows it to leverage the kernel's mature scheduler, memory management, and security features, such as SELinux. As a Type 1 (bare-metal) hypervisor, KVM provides high performance and efficiency by running virtual machines as processes, managed by the host's operating system. This architecture is foundational to major open-source projects like oVirt and OpenStack, which use KVM as their default virtualization engine. The technology is widely deployed in data centers operated by AWS, Google, and IBM Cloud.
The architecture of KVM centers on its role as a kernel module, `kvm.ko`, which exposes the virtualization capabilities via the `/dev/kvm` character device. When a processor-specific module like `kvm-intel.ko` or `kvm-amd.ko` is loaded, the Linux kernel transitions into hypervisor mode. Each virtual machine is instantiated as a regular Linux process, with its own virtualized hardware components like CPU, RAM, and I/O devices. For storage and network I/O, KVM typically relies on QEMU, which emulates hardware and handles device models. This combination allows KVM to support a wide array of guest OSes, including various distributions, FreeBSD, and Microsoft Windows.
KVM supports a comprehensive set of enterprise-grade virtualization features. It leverages hardware-assisted virtualization from Intel and AMD for near-native CPU performance and includes extensions for memory management like EPT and RVI. Key features include live migration, allowing a running virtual machine to be moved between physical hosts with minimal downtime, and dynamic memory management via kernel same-page merging. For storage, it integrates with technologies like LVM and supports virtual disk formats including QCOW2. Security is enhanced through SELinux and sVirt isolation, and it offers paravirtualization drivers via the virtio framework to optimize I/O performance for network and block devices.
While the core KVM module is managed via the command line with tools like `virsh` and `virt-install`, higher-level management is typically handled by the libvirt library, which provides a stable API for controlling various hypervisors. Graphical interfaces include virt-manager and Cockpit for single-host administration. For large-scale deployments, platforms like oVirt and Red Hat Virtualization offer centralized management, while OpenStack uses KVM through its Nova compute component. Commercial support and integrated tooling are provided by Red Hat within Red Hat Enterprise Linux and by IBM for its Power Systems servers.
KVM is often compared to other major virtualization platforms. Unlike VMware vSphere, which is proprietary, KVM is open source and integrated directly into the Linux kernel. Compared to Xen, another open-source hypervisor, KVM benefits from deeper integration with the host operating system and uses the standard Linux scheduler. While Microsoft Hyper-V is tightly coupled with the Windows Server ecosystem, KVM is cross-platform and dominant in Linux-based cloud computing environments. Its performance is competitive with bare-metal systems for many workloads, particularly when using the virtio drivers, and it forms the backbone of many public clouds, competing directly with Amazon EC2 and Microsoft Azure. Category:Virtualization software Category:Linux kernel features Category:Free software