The important component of the Oracle Linux Virtualization Manager is the oVirt Engine, which is a JBoss-based Java application running as a web service that provides centralized management for server and desktop virtualization. The engine runs on another Oracle Linux environment. The Oracle Linux KVM hosts provide the compute resources for running the VM. The engine communicates directly with the Virtual Desktop and Server Manager (VDSM) service, running on KVM hosts as a daemon, to perform tasks such as managing hosts, VMs, networks, and storage, and to create new images and templates.
The libvirt daemon running as a service on KVM hosts provides an application programming interface (API) for managing various hypervisors, including the Oracle Linux KVM. VDSM uses libvirt to manage the complete life cycle of virtual machines and their virtual devices on the host, and to collect statistics about them.
The Kernel-based Virtual Machine (KVM) is a loadable module that provides full virtualization via hardware extensions. It allows a host to make its physical hardware available to virtual machines. The KVM runs in the host kernel space and the VMs running on the KVM hosts will run as individual QEMU processes in user space. QEMU stands for quick emulator, which enables the KVM to become a complete hypervisor by emulating the hardware for VMs such as CPU, memory, network, and disk devices. The KVM allows QEMU to execute code in the VM directly on the host CPU, thus allowing the VM’s operating system direct access to the host’s resources without any modification.
The guest agent runs inside the virtual machine and provides information on resource usage to the engine. It provides the information, notifications and actions between the engine and the guest.