Comment by bonzini
3 years ago
This is almost entirely wrong especially as far as QEMU, Libvirt and virt-manager are concerned.
QEMU is a low level process that represents the virtual machine. It has no equivalent in Xen. Using QEMU directly is not a good idea unless your needs for VM configurations change all the time and you hardly reuse VMs.
Libvirt is at a higher level than QEMU. It manages the QEMU processes and gives them access to system resources (image files, network interfaces, pass-through PCI devices). It also makes it easy to manage the configuration of your virtual machines and the resources they use.
Higher still is virt-manager, which is a GUI interface for libvirt. Proxmox sits at roughly the same level as virt-manager.
How? KVM and Xen are kernel level. QEMU uses KVM but also has a software virtualization capability. Libvirt is an API abstraction over it all. virt-manager is a gui app to manage libvirt machines. Proxmox as well. Proxmox VE talks to VMHost via libvirt.
Libvirt does not use KVM. Libvirt uses either QEMU (which in turn might or might not use KVM) or Xen or other hypervisors. So it's incorrect to say that Libvirt abstracts over KVM.
And virt-manager indeed manages Libvirt machines so it's not at the level of QEMU as you wrote in the parent comment:
> Proxmox is a virtual machine manager (like QEMU, virt-manager)
Semantics, libvirt abstracts over KVM via QEMU because QEMU/KVM/HVT is all one driver.
4 replies →