libvirt
, and virt*
I’ve been confused by the relationship between the core components of Linux virtualization. I think this is how they are related:
KVM is the lowest level (a type 2 hypervisor) to the Linux kernel
and requires a reboot to update when a change is made (although people
claim that you do not and you only need to when you install it,
sometimes it is just libvirtd
service that needs a restart). KVM
effectively replaces XEN (as Amazon has done).
QEMU is application “in user space” that provides emulation for many machine architectures including ARM simulation on x86 machines and talks to the kernel through KVM.
libvirt
/libvirtd
/virsh
is a virtualization management library
that uses any one of several virtualization methods including KVM,
XEN, ESXi, QEMU (and many others).
I’ve been told that comparing KVM and XEN code in the kernel source can be a way to understand the difference.
Related: