oVirt is a management framework consisting of what it terms the oVirt node. This node runs the libvirt service (previously defined) and offers web-based management through the foundation of oVirt called the oVirt Engine. The management interface of the oVirt Engine offers virtualization administrators the ability to create and manage VMs, allocate memory and storage resources, and setup all the required networking. Beyond the basics, administrators can migrate VMs through the interface, manage high availability, and even setup storage quotas or performance limitations (throttling). There are three options for UI views: Administration Portal, VM Portal, and Monitoring Portal.
An example of the oVirt Open Virtualization Management (OVM) UI for the Administration Portal is shown in Figure 5. It provides a high-level view of all components in the KVM environment.
The VM Portal allows the user to drill down into each virtual machine in the environment and make changes at that level. Figure 6 shows the detail of one particular VM, austin20.dellhcilab.com.
The final option is the Monitoring Portal which has Grafana at its foundation. Grafana is an open-source analytics and monitoring platform that integrates with oVirt and provides dashboards, alerting, and monitoring capabilities. It is a highly customizable platform permitting users to modify and share dashboards. Grafana comes preconfigured with a selection of dashboard categories and dashboards for oVirt shown in Figure 7.
The individual dashboards offer great detail into the clusters, hosts, and individual VMs running in the environment. The host level dashboard is shown in Figure 8.
An essential component of the oVirt Engine is the Virtual Desktop Server Manager or VDSM. VDSM is the component of the oVirt platform responsible for managing and monitoring the virtualization hosts. It handles the life cycle management of the VMs – creation, resource allocation, monitoring, migration, and deletion. VDSM runs as a host agent and communicates with the oVirt Engine from each virtualization host in the cluster to ensure proper management of the environment.
The oVirt Engine can be implemented on one or two physical hosts, or it can be deployed as a VM either in a separate virtualization environment or within the KVM environment itself. If the oVirt Engine is separate from the KVM environment, it is called a stand-alone implementation. In such a configuration the VM could be hosted in a non-KVM virtualization environment. If the oVirt Engine is run in the KVM environment, it is known as self-hosted.
Both installation types require Enterprise Linux 8 of any distribution. When it is self-hosted, the Engine Appliance is used to automate the Guest OS installation. A VM implementation, either stand-alone or self-hosted, uses the virtualization environment’s ability to support high availability. The stand-alone implementation, however, requires an external HA management such as Red Hat’s High Availability Add-On.
Note: In order for oVirt to support HA for the self-hosted implementation, a second KVM host in the cluster must be enabled as a Hosted Engine. See section Adding a KVM host to a cluster for more detail.
Figure 9 is an example of a stand-alone implementation from the oVirt documentation where two physical hosts access the same shared storage. The oVirt Engine only runs on a single host, with the second providing high availability if there is external HA management, hence the requirement for the hosts to see the same storage.
Figure 10 shows the self-hosted example where the oVirt Engine is deployed directly in the KVM environment.
The oVirt community generally recommends a stand-alone configuration since that separates management from the KVM environment. This recommendation is similar to VMware’s recommendation of not running vCenter on the same ESXi hosts which it is managing.
For the environment detailed in this paper, however, a self-hosted oVirt Engine is used due to resource limitations. The hosted engine appears like any other VM in the UI in Figure 11.
oVirt supports two types of hosts: oVirt node and Enterprise Linux.