What is QEMU?
QEMU emulates various architectures including x86, ARM, and PowerPC, and can be used for system-level and user-level emulation.
QEMU was first released in 2003.
VERDE VDI RPM distributions include the currently supported QEMU module.
What is KVM?
KVM (Kernel-based Virtual Machine) (https://www.linux-kvm.org/) is a virtualization infrastructure for the Linux kernel that allows multiple operating systems, including Windows and Linux, to run on a single physical machine.
It uses hardware virtualization capabilities, such as Intel VT or AMD-V, to run virtual machines (VMs) with near-native performance. KVM provides a complete virtualization solution for Linux-based systems, including virtual network devices, storage devices, and graphical display capabilities, using supporting components, such as QEMU.
KVM is included in many popular Linux distributions (Ubuntu, Fedora and CentOS) and can be obtained through the distribution's package manager (e.g., yum, apt-get).
KVM was first released in 2006 as part of the Linux kernel, version 2.6.20.
VERDE VDI RPM distributions do not include KVM. The KVM module that comes with the host server Linux distribution is utilized by VERDE VDI.
Who uses KVM?
KVM is widely used by organizations, and cloud service providers for virtualization.
Some of the organizations that use KVM for virtualization include:
· IBM
· Red Hat
· Oracle
· Amazon Web Services (AWS)
· Google Cloud Platform
· Microsoft Azure
· Alibaba Cloud
How does VERDE VDI use QEMU and KVM?
QEMU is invoked directly by VERDE VDI with the appropriate parameters (e.g., HDD type, CPU type, virtual memory allocation, etc.) to launch a virtual machine session.
QEMU is responsible for creating the emulated computer components (e.g., CPU, disk drive, memory, ports, etc.) required by a virtual machine session.
QEMU then directly communicates with KVM to launch the virtual machine session including access to the emulated computer components described above.
KVM is the engine that hosts the virtual machine sessions.
All subsequent data communication between the user and the assigned virtual machine session is processed through the VERDE VDI Connection Broker to QEMU which then interfaces with KVM.
QEMU emulates required computer components such as CPU, disk drive, memory, ports, etc. QEMU includes direct integration with KVM to provide access to the emulated components.
KVM utilizes x86 hardware virtualization extensions (Intel VT or AMD-V) providing superior performance of the virtual machine sessions.
The key differentiating factor is that KVM is kernel level while QEMU is a user level application. This provides KVM with much better performance for running the virtual machine session.
QEMU allows VERDE VDI to communicate with KVM and implement virtualized devices that the virtual machine sessions require.