Mondoze Blog

KVM VPS

What is a KVM VPS?

Kernel-based virtual machine (KVM) is an open source virtualization technology built into Linux. Specifically, KVM allows you to turn Linux into a hypervisor, allowing the host to run multiple isolated virtual environments called guests or virtual machines (VMs).

KVM is part of Linux. If you have Linux 2.6.20 or later, you have KVM. KVM was first released in 2006 and merged into the mainline Linux kernel version a year later. Because KVM is part of the existing Linux code, it can immediately benefit from every new Linux feature, fix, and improvement without the need for additional engineering.

Using KVM, Linux and Windows virtual machines can be run in parallel on the same hardware. Each KVM VPS has its own kernel independent of the host (you can install or modify your own kernel from the VM level). Since each virtual machine has its own environment, the VPS will run completely independently and can run any operating system. This removes the common limitations of container-based virtualization solutions (ie, OpenVZ can only run certain Linux distributions).

How does KVM works?

KVM converts Linux to a type 1 (bare metal) hypervisor. All hypervisors require some operating system-level components-such as a memory manager, process scheduler, input/output (I/O) stack, device driver, security manager, network stack, etc.-to run the VM. KVM has all these components because it is part of the Linux kernel.

The features of KVM

1. Security

KVM VPS uses a combination of Security Enhanced Linux (SELinux) and Secure Virtualization (sVirt) to enhance VM security and isolation. SELinux establishes a security boundary around the VM. sVirt extends the capabilities of SELinux, allowing mandatory access control (MAC) security to be applied to guest VMs and preventing manual marking errors.

2. Storage

KVM VPS can use any storage supported by Linux, including some local disks and network attached storage (NAS). Multipath I/O can be used to improve storage and provide redundancy. KVM also supports shared file systems, so VM images can be shared by multiple hosts. Disk imaging supports thin provisioning, allocating storage on demand, rather than pre-allocating it all.

3. Hardware support

KVM VPS can use a variety of certified hardware platforms supported by Linux. Because hardware vendors regularly contribute to kernel development, the Linux kernel usually quickly adopts the latest hardware features.

4. Memory management

KVM VPS inherits the memory management features of Linux, including non-uniform memory access and kernel merge on the same page. The memory of the VM can be swapped, supported by large volumes for better performance, and shared or supported by disk files.

5. Live migration

KVM VPS supports live migration, which is the ability to move running VMs between physical hosts without interrupting service. The VM remains powered on, the network connection remains active, and the application continues to run when the VM is relocated. KVM also saves the current state of the VM for later storage and restoration.

6. Performance and scalability

KVM VPS inherits the performance of Linux. If the number of guest computers and requests increases, it is expanded to match the demand load. KVM allows the virtualization of the most demanding application workloads and is the foundation of many enterprise virtualization settings, such as data centers and private clouds (via OpenStack®).

7. Scheduling and resource control

In the KVM model, the VM is a Linux process, which is scheduled and managed by the kernel. The Linux scheduler allows fine-grained control of the resources allocated to the Linux process and guarantees the quality of service of a specific process. In KVM VPS, this includes completely fair schedulers, control groups, network namespaces, and real-time extensions.

8. Lower latency and higher prioritization

The Linux kernel has real-time extension capabilities, allowing VM-based applications to run with lower latency and with better priority (compared to bare metal). The kernel also divides processes that require a long computing time into smaller components, and then schedules and processes them accordingly.

Feel free to visit our Mondoze Global Website for more information about KVM VPS hosting.