Virtualisation

Virtualization is the process of creating several virtual machines (VMs) from one physical machine, using software called a hypervisor. The VMs act and perform just like physical machines, but they share the physical machine’s computing resources. With virtualization you can run multiple servers, desktops, operating systems, and networks on the same machine.



KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko.
Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.
KVM is open source software. The kernel component of KVM is included in mainline Linux, as of 2.6.20. The userspace component of KVM is included in mainline QEMU, as of 1.3.

LIBVIRT is an open-source API, daemon and management tool for managing platform virtualization. It can be used to manage KVM, Xen, VMware ESX, QEMU and other virtualization technologies. These APIs are widely used in the orchestration layer of hypervisors in the development of a cloud-based solution.

QEMU is a free and open-source hosted hypervisor that performs hardware virtualization.