I couldn't understand this: "Domain is an instance of an operating system (or subsystem in case of container virtualization like OpenVZ and lxc) running on a virtualized machine provided by the hypervisor"
So the domain itself is a virtual machine? What makes it different from other guest virtual machinse?
I've never used libvirt in combination with OpenVZ or LXC, but when I read that I interpret it as "a domain is a VM or a container" with some kind of VM running on the system to facilitate containers.
The article is seven years old, so I can imagine that this was how the project once ran containers, but it doesn't anymore. Reading the documentation[1] I don't the VM is relevant anymore for containers, at least. The docs say libvirt manages LXC container directly through the kernel API, so there's no VM to speak of there. The OpenVZ docs[2] also mention that the containers run on the host, not in a VM.
So the domain itself is a virtual machine? What makes it different from other guest virtual machinse?