What Is KVM (Kernel-based Virtual Machine) In Linux? – POFTUT

What Is KVM (Kernel-based Virtual Machine) In Linux?


Virtualization is a hot area in Computing. There is a different type of virtualization solutions and techniques used in a different environment and operating systems. KVM or Kernel-based Virtual Machine is a virtualization technology used in Linux kernel and distributions. Linux KVM can be only used in Linux kernel and distribution because of its design architecture.

Hardware Support for KVM

KVM technology can be only used with hardware support which is provided by the CPU. Intel and AMD CPUs provide this hardware support with the name of

How Does KVM Work?

KVM is a Linux kernel module and in order to work with KVM, the module should be installed and loaded into the Linux kernel. The module is named as kvm generically but for Intel processors, it is named as kvm_intel and AMD processors kvm_amd. Linux kernel will isolate the created Virtual Machine memory and CPU into a process like a separate system.

KVM Features

KVM virtualization provides the following features during the virtualization process.

  • Security: KVM uses a combination of SELinux and sVirt in order to secure and isolate VMs.
  • Storage: KVM can use local or NAS related storage technologies with different file systems. VM disk is stored single or multiple files with snapshots, backups.
  • Hardware: KVM can use a wide variety of Linux supported hardware like USB, Printer, PCI devices, etc.
  • Memory: KVM inherits memory management features of Linux, including non-uniform memory access and kernel same-page merging.
  • Live Migration: KVM supports live migration from one Virtualization host to another host without service interruption.

KVM Kernel Modules

As stated previously Linux KVM can be used with kernel modules named kvm. We install the Linux KVM kernel module with the following command if it is not installed.

$ sudo apt install qemu-kvm
KVM Kernel Modules
KVM Kernel Modules

Verify KVM Installation

We can verify the KVM installation with the kvm-ok command where which will provide information and the hardware support like below.

$ kvm-ok
Verify KVM Installation
Verify KVM Installation

We can see from the screenshot that /dev/kvm exists and KVM acceleration can be used without problem.

LEARN MORE  How To Mount VM Images with Guestmount?

KVM Qemu

KVM is the Linux kernel part of the virtualization. In the user space, the tool named Qemu is used. Qemu provides the VM devices emulation and kernel communication. Qemu is started as a VM emulator and merged with KVM to provide full virtualization. We can install KVM Qemu with the following command.

$ sudo apt install qemu-kvm
KVM Qemu
KVM Qemu

KVM Tool Libvirt

Libvirt is a library used to make KVM virtualization in a more enterprise manner. Libvirt provides services in order to connect, manage virtualization services and create, delete, start, and stop VMs. We can install the libvirt with the package name libvirt-daemon which is a service.

$ sudo apt install libvirt-daemon

KVM GUI Tools

KVM VMs can be managed with different GUI tools. But virt-manager is the popular tool that can be used locally on the system. We can install Virt Manager like below.

$ sudo apt install virt-manager
KVM GUI Tools
KVM GUI Tools

Leave a Comment