What is KVM technology

KVM - hardware virtualization with Proxmox

In this article we take a closer look at the virtualization of server hardware using the open source platform Proxmox and KVM. We explain what KVM and Proxmox are, go into QEMU and the type 1 or 2 hypervisor distinction. We will then use a screencast video to demonstrate how you can easily create and start a new virtual machine using Proxmox.

What is KVM?

KVM, the "Kernel-based virtual machine“Is the standard technology for the virtualization of server hardware in the Linux world. It therefore provides a hypervisor: a software layer that abstracts the actual hardware of the server in such a way that a guest operating system “believes” that it is running on real hardware - just like VMware vSphere or Hyper-V in the Microsoft Windows Server.

However, there are some fundamental differences between these two products. Firstly, KVM is part of Linux and is therefore open source and free of license fees. KVM users do not have to worry about how many virtual machines are allowed or how many processor cores they can use without violating a license.

Secondly, KVM is also technically special. Strictly speaking, it is not a hypervisor at all, but uses a series of kernel modules to ensure that the Linux kernel itself is transformed into one.

The Linux kernel as a hypervisor

That makes perfect sense, because a hypervisor must for the most part fulfill the same tasks as an operating system kernel, namely the management of hardware resources and processes. These functions then do not have to be implemented additionally. So the KVM code base is very small. This means that its further development is comparatively inexpensive and security gaps or other bugs can be found more quickly.

KVM has also been part of the Linux kernel for many years. This means that the quality control techniques established in the kernel community also apply to the virtualization layer. Performance and maturity are roughly on par with vSphere, in some cases KVM is even more powerful.

Free Proxmox E-Book - Find out more

Modular structure: KVM and QEMU

But the concept does not only have advantages. Since KVM is limited to providing the interfaces for virtualization, additional software layers are required to implement the full functionality of hardware virtualization. QEMU (Quick EMUlation) is already responsible for the actual emulation of the virtual hardware, a virtual machine monitor that also works independently of KVM, but only enables real hardware virtualization with almost no loss of performance compared to native execution. However, this only works for operating systems that were written for the x86 architecture.

Without KVM, QEMU is a so-called type 2 hypervisor, it can then also emulate virtual machines for other architectures such as ARM, PowerPC and even mainframes available on x86 hardware. The instructions are then translated exclusively in software and are correspondingly slow.

Is KVM a Type-1 or Type-2 hypervisor?

Basically, KVM is a type 2 hypervisor (installed on a different operating system, in this case a Linux variant). However, it runs like a Type 1 hypervisor and, depending on the tools used with the KVM package itself, can provide the performance and functionality of even the most complex and capable Type 1 hypervisors. KVM can also leverage a technology called QEMU (Quick EMUlation) to act as a full Type-2 hypervisor when needed, giving users the best of both worlds.

With the virtualization of all common x86 operating systems such as Windows, Linux, or FreeBSD, KVM is in practice inseparable from QEMU, so that the KVM / QEMU combination is often referred to as KVM, although both are actually meant.

Proxmox for the management of KVM hosts

However, there is still no way of conveniently managing virtual machines. Because KVM and QEMU are anything but user-friendly. Here comes Proxmox VE in the game. This is a Linux distribution that is completely designed for virtualization management. The most important functions are available via a web interface that maps a virtual data center from one or more Proxmox hosts. In addition, Proxmox has very powerful command line tools for more complex management tasks. This also makes it possible to automate regularly recurring processes and to integrate Proxmox hosts in management environments from third-party providers.

What is Proxmox VE?

  • Free Linux distribution Debian for virtualization management
  • Central web interface for administration
  • Environment based on QEMU and KVM
  • VM and container virtualization
  • Linux Virtual Containers (LXC)
  • Command line tools for complex tasks

Create KVM guests in the web interface

As a simple example of working with Proxmox, we want to demonstrate how to create and start a new virtual machine. All steps are carried out completely via the web interface, Linux knowledge is not required for this. The screencast briefly shows the necessary steps:

Create a virtual machine in the Proxmox VE web interface.

The individual steps in the screencast:

First, we load an installation medium for the future operating system into the local storage of the host, in the simplest case an ISO image. After the upload, the virtual machine can be created immediately using the corresponding button at the top right. A few parameters can be adjusted in further dialogs. If you are not sure, leave it at the suggested default values ​​for the time being. This applies in particular to the network configuration, because a virtual machine cannot be reached without a functioning network.

After querying the parameters, Proxmox creates the virtual server without further ado. It can be started immediately via a context menu (right-click with the mouse) and the web interface shows its load status graphically.

More information on KVM virtualization

The creation of virtual machines is of course only the first small step towards KVM virtualization. Proxmox offers a wide range of options for tailoring the virtual data center precisely to individual requirements: live migration, thin provisioning, high availability, scalable storage with ZFS and Ceph, GPU -Support and cloud integration are just a few examples.

The e-book"Proxmox VE - Concepts and Technologies of Free Virtualization Software" presents them in more detail. Another special feature of Proxmox VE is the integration of KVM-based hardware virtualization and lightweight Containers. You can find another article on our TKmag blog here Container virtualization with Proxmox.

More articles on Proxmox VE:

Tags: ProxmoxVirtualization

- Editorial staff

In our TKmag, we attach great importance to having all articles written by our experts. For this reason we have an editorial account: We use this name to post all articles that have been written by our employees without their own account.