zlacker

[parent] [thread] 8 comments
1. reacto+(OP)[view] [source] 2023-07-10 15:25:19
KVM is kernel-based virtual machine, with libvirt being its API abstraction over all of it. QEMU is a virtual machine host that leverages kvm or software virtualization to spin up machines on the host. virt-manager does the same. Xen is another virtual machine host, like KVM. Proxmox is a virtual machine manager (like QEMU, virt-manager) but is web based. Libvirt will provide abstraction for kvm,qemu,xen

Use cases: proxmox web interface exposed on your local network on a KVM Linux box that uses QEMU to manage VM’s. Proxmox will allow you to do that from the web. QEMU is great for single or small fleet of machines but should be automated for any heavy lifting. Proxmox will do that.

replies(1): >>bonzin+o7
2. bonzin+o7[view] [source] 2023-07-10 15:58:12
>>reacto+(OP)
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.

replies(1): >>gabere+Ua
◧◩
3. gabere+Ua[view] [source] [discussion] 2023-07-10 16:14:43
>>bonzin+o7
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.
replies(1): >>bonzin+Vb
◧◩◪
4. bonzin+Vb[view] [source] [discussion] 2023-07-10 16:18:48
>>gabere+Ua
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)

replies(1): >>gabere+kh
◧◩◪◨
5. gabere+kh[view] [source] [discussion] 2023-07-10 16:38:31
>>bonzin+Vb
Semantics, libvirt abstracts over KVM via QEMU because QEMU/KVM/HVT is all one driver.
replies(1): >>bonzin+0Q
◧◩◪◨⬒
6. bonzin+0Q[view] [source] [discussion] 2023-07-10 18:38:20
>>gabere+kh
KVM is not enough to create a virtual machine. KVM only virtualizes the processor, not a whole machine.
replies(1): >>reacto+8b1
◧◩◪◨⬒⬓
7. reacto+8b1[view] [source] [discussion] 2023-07-10 20:16:19
>>bonzin+0Q
>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.

Straight from their site. QEMU is the user space interface, KVM the kernel space driver. It’s enough to run whatever OS. That’s the point.

For libvirt: https://libvirt.org/drivers.html

They support a bunch as well.

replies(2): >>bonzin+0d1 >>cthalu+Sn1
◧◩◪◨⬒⬓⬔
8. bonzin+0d1[view] [source] [discussion] 2023-07-10 20:24:36
>>reacto+8b1
Exactly, it's QEMU that abstracts over the processor virtualization APIs of KVM, Microsoft WHPX, Apple Hypervisor.framework etc. Not Libvirt.
◧◩◪◨⬒⬓⬔
9. cthalu+Sn1[view] [source] [discussion] 2023-07-10 21:20:39
>>reacto+8b1
I don't want to necessarily make this an argument to/from authority, but for some context here - you are discussing this with Paolo Bonzini, maintainer of KVM, contributor to QEMU. In the list of people that best understand the difference and demarcation points between KVM and QEMU, he's pretty far up there.
[go to top]