KVM(Kernel Virtual machine) is an inbuilt virtualization software available in Linux(Have to select it when installing OS Or can be installed when ever it’s required). Up to recent years virtualization software are installed as stand alone software in Linux. But to make things more reliable, fast and virtualization is becoming a part of Kernel activities, this software is bundled along Linux OS which can be installed as a part of Kernel. There are many advantages of this KVM when compared to other virtualization software’s available in Linux.
- Can interact directly with the Kernel
- Default virtualization in leading Linux Distributions
- One of the Linux software developed aggressively.
- Almost becoming competitor to VMware by implementing technologies such as v2v, p2v, and many open source tools to manage VM’s
- Number of open source cloud automation software’s use KVM as default hyperviser.
How KVM virtualization works?
Once we install KVM on a Linux box a hardware file /dev/kvm is created which will act as interpreter between actual hardware and hypervisor manager(Virt-manager). When ever a request for hardware changes/additions comes from hypervisor manager, your KVM software starts allocating those resources virtually by interacting with real hardware. Suppose we want to change RAM on a virtual machine, this is communicated by your hypervisor manager to KVM for allocating the resource. Then KVM interacts with hardware and reserves that RAM from real RAM for that particular VM. This happens for the other resources as well. To make it simple I did not explain the concept of ballooning and another things.