Initially, it was designed over the primary Linux OS kernel. KVM virtualization is one of the best I can say. KVM is an open source software.
It is an inbuilt virtualization software available in Linux (Have to select it when installing OS Or can be done whenever you require) and it's a full virtualization solution for Linux on Intel 64 and AMD 64 hardware that is included in the mainline Linux kernel since 2.6.20
Virtualization (KVM) supports different guest operating system images including Linux Kernel, Windows, BSD and Solaris. It also allocates separate virtual computing resources for each virtual machine such as the processor, storage, memory, etc.
On the other hand, a full virtualization solution for Linux containing virtualization extensions (Intel VT or AMD-V). Using KVM virtualization, one can have Linux and Windows virtual machines running side by side on the same hardware.
Each virtual machine has a private virtualized hardware, like own kernel, a network card, disk, graphics adapter, etc. Since it has its own virtualized hardware, the virtual server will act completely on its own.
Because it maintains separate instances for each virtual server it uses significantly more resources than OpenVZ form a host perspective. In overhead to create/maintain separate instances for each VM.
KVM is true virtualization where the VPS operates as its own server, independently of the host node. OpenVZ is a container style of virtualization which relies on the host node's kernel. it has no restrictions in terms of functionality, but it has more overhead than OpenVZ.
OpenVZ is build by the host node kernel, but it has less overhead in the containers themselves. It's generally more stable than OpenVZ.
KVM hypervisor is a program that allows multiple operating systems to share a single hardware host. In KVM, the Linux kernel acts as a Type 2 Hypervisor, streamlining management and improving performance in virtual environments.
The hypervisor creates Virtual Machine environments and coordinates calls for processor, memory, hard disk, network, and other resources through the host OS.
Features of KVM Virtualization
- Over-committing : Which means allocating more virtualized CPUs or memory than the available resources on the system.
- Thin provisioning : This allows the allocation of flexible storage and optimizes the available space for every guest virtual machine.
- Disk I/O throttling : Provides the ability to set a limit on disk I/O requests sent from virtual machines to the host machine.
- Virtual CPU hot add capability : It increases the capacity of processing power on running virtual machines with no down time.
Advantages with KVM Virtualization
- Super Low Cost
- Can interact directly with the Kernal.
- Excellent Security : Since the base of KVM is made up of Linux, it uses the SE Linux advanced security system.
- Available for Anybody to Use : The open environment means anybody can use it and customize the system to fit specific requirements.
- Most of the open source cloud automation software's use KVM as a default hyperviser.
- Another advantage with KVM is that all applications should work exactly like in a dedicated server.
- Uses its own kernel. Even the flexibility of migrating from virtual machine to dedicated server.
Disadvantages with KVM Virtualization
- Complex Networking : One of the main disadvantages of using KVM is the complex setup process. It’s actually more complex than other systems.
- Limited Processors : Another disadvantage is the KVM virtualization is available only on certain processors and not all.
- CPU Virtualization Support :The disadvantage of the full virtualization like KVM is that the -performance level can reduce slightly compared to the Para-virtualization.