The Hotel Hero

Notes by a Sysadmin


Cluster | Philosophy | Stack

KVM hypervisor

October 16, 2021 | Stack

There is a lot of different hypervisors and virtual machine managers out there. After using a commercial Type-2 hypervisor for many years, I have started to use KVM whenever possible. 

What is KVM?

KVM is native to all linux systems today, it works directly on the kernel level and is considered as a Type-1 hypervisor. So, due to the fact that it is open source and free, works directly on the kernel and native to Linux, this should be an obvious choice if on a Linux system.

There is a Virtual Machine Manager (GUI). We'll install it later in this post.

In datacentres OpenStack cloud platform, makes use of KVM to make provisioning.

Multipass is the recommended methode to create Virtual Machines on a workstation. If you have worked with Docker, the ressemblance is close.

Packages

Depending on your OS, the libraries need to work with KVM will differ. You also need to make sure that you CPU supports Virtualisation (most Intel and AMD from 2015+ do).

Install

The libraries to use will differ depending on the OS you use. You also has to make sure that your CPU supports Virtualisation (most Intel, AMD > 2015 do).

On Ubuntu install the following libraries:

sudo apt -y install bridge-utils cpu-checker libvirt-clients libvirt-daemon qemu qemu-kvm

Make sure that your CPU supports virtualisation:

egrep -c '(vmx|svm)' /proc/cpuinfo

It has to be > 0 to do so.

Check if you system can use KVM acceleration:

kvm-ok

Should return:

INFO: /dev/kvm exists
KVM acceleration can be used

Verify the installation:

virsh list --all

an empty index should appear (Id, Name, State).

By default libvirtd is not enabled by default (at least if other hypervisors is installed), so you have to enable it:

sudo systemctl enable --now libvirtd

Install Virt Manager (GUI manager)

Most people if on a workstation probably also want a Graphical GUI, at least to begin with.

Install it with aptitude:

sudo apt install virt-manager

Adding privileges:

You may need to add you user to the following two groups:

sudo adduser [username] libvirt

and

sudo adduser [username] kvm

You might have to reboot after all of this and open virt-manager.

virt-manager

That is it and you have the best possible hypervisor out there, it may not have as many (often buggy) features as the commercial ones. But, it is almost running at bare metal speed and it just works!


About

I'm a Sysadmin, network manager and cyber security entusiast. The main purpose of this public "notebook" is for referencing repetitive tasks, but it might as well come in handy to others. Windows can not be supported! But all other OS compliant with the POSIX-standard can (with minor adjustments) apply the configs on the site. It is Mac OSX, RHEL and all the Fedora based distros and Debian based (several 100's of OS's), all the BSD distros, Solaris, AIX and HP-UX.

Links