KVM

KVM is the lowest level hypervisor and is part of the kernel. It is used to simulate the operation of the CPU, it lacks network and peripheral I/O support, so it cannot be used directly.

QEMU

QEMU is an open source emulator and Virtual Machine Monitor (VMM), which is built on top of KVM and provides complete network and I/O support. QEMU provides two main functions for users to use. One is as a user mode simulator, using dynamic code translation mechanism to execute code different from the host architecture. The second is as a virtual machine supervisor, simulation of the whole system, using other VMM(Xen, KVM, etc) to use the virtualization support provided by the hardware, to create virtual machines close to the host performance. Users can install QEMU through the package manager that comes with different Linux distributions.

  

QEMU community: https://www.qemu.org/

Instead of directly controlling QEMU-KVM, OpenStack uses a library called libvirt to control QEMU-KVM indirectly. Libvirt provides cross-VM platform functionality, and it can control emulators in addition to QEMU, including VMware, VirtualBox, Xen, and more.

Therefore, in order to cross VM of OpenStack, OpenStack will only use libvirt instead of QEMU-KVM directly. Libvirt also provides some advanced features, such as pool/vol management.

  

Loongson ported the OpenStack Rock version based on the Loongnix system to access the Loongson KVM project.

The article is from the Loongson open source community