Virtualization
Contents
Motivation
With virtual machine you can run a virtual computer inside your real computer. Thus you can save resources by avoiding to have many small machines and you can move these virtual machines between physical hardware in order to allow a higher degree of redundancy. There are a few free software/open source options in and around Linux and also some commercial offerings for virtualization. Here is an overview:
Free Software / Open Source Virtualization
QEMU
Qemu is a software that can emulate a lot of different CPUs and also hardware. It does not require any support from the OS so you can emulate everywhere. The downside is that it is much slower then virtualization with OS and hardware support. The Upside is that you can emulate e.g. an ARM system on your X86 Intel hardware. Etc. Qemu supports among others: x86, x86-64, Spar, ARM, PowerPC, RiscV processors.
Qemu can emulate a full system or just run a binary compiled for a different CPU on another system.
KVM
KVM is the virtualization native to Linux Kernel. It borrows a lot from QEMU and addes the native virtualization. KVM is uses in Googles Cloud but also by IBM and also in parts of Amazons AWS.
XEN
Xen is a dedicated Hypervisor. In order to operate it and have access to hardware devices you need to run a Linux kernel in "Dom0".
Virtual Box
Commercial
- VMware
- Microsoft HyperV
- Citrix Xen Server