Oracle Linux Virtualization Manager (OLVM)

Peter Goldthorp and Matthew Hampton, Dito. April 2022

Virtualization of physical servers

Dedicated Server Architecture

Many of the systems running on premises are based on design patterns from the 1990’s or 2000’s. They were designed to run on dedicated hardware. At that time most organizations had dedicated LDAP, file, print, database, Apache, and other application servers. All of these applications were designed to run on dedicated hardware. Separate servers were provisioned to serve specific applications. This simplified configuration management activities but often led to poor resource utilization and unnecessary hardware complexity as shown in the diagram below.

Virtualization of physical servers

In many cases, servers were underutilized. However, adding more applications to a single server created software conflicts, and created a single point of failure.

Virtualization of physical servers

Ultimately, these early data centers suffered from low hardware efficiency. Many servers were under utilized which increased costs for data center owners who still had to pay for the power and cooling costs of these servers.

Hypervisors

Eventually, software developers created server virtualization platforms called Hypervisors. Hypervisors run between the physical hardware on the server and the operating system creating a logical environment where servers can run using emulated hardware. These new types of machines are called “virtual machines” since they only exist logically on the hypervisor. The hypervisor isolates the host operating system and resources from the virtual machines and enables the creation and management of those VMs.

This technology drastically reduces data center size and costs by consolidating operations to fewer physical servers. It also maximizes the utilization of these servers. Virtualization technology enables many things that were impossible before such as shared storage, compute and memory resources along with live workload migration. So long as the underlying physical hosts are healthy, virtual servers can run indefinitely without issue. However, as virtual environments increase in size they eventually grow too complex.

Virtualization Management

As virtual environments grow, so does their complexity. The need for orchestration and centralized management arises as a result. Hypervisors have evolved from single servers to clusters. This enables fault tolerance, but this also requires management of VM workloads, virtual switches, shared storage as well as standardized protocols and communication across all clustered hypervisors. These challenges were ultimately overcome by such software vendors as VMware, Microsoft (Hyper-V), Oracle (OVM), and Amazon (AWS).

Virtualization management multiple servers

Thus, the industry moved from a world of independent servers to a world virtual servers, and multi-tenant environments. It was this very advancement that made cloud technology viable at scale. All of these changes occurred very quickly, allowing organizations to maximize datacenter hardware, but software vendors were left in the middle. Their software had to support virtual and physical infrastructure. Many software vendors stayed with their original model and licensing remained that way as well.

This brings us to one key reason OLVM works so well for Oracle Database Management in the cloud. It works with hardware stipulations mandated by Oracle and allows the hypervisor to pin CPUs. This feature alone can save you thousands in licensing. Next, OLVM will be covered in more detail.

Oracle Linux Virtualization Manager

Oracle Linux Virtualization Manager (OLVM) is a server virtualization management platform, based on the oVirt open source project. An OLVM environment comprises an OLVM Engine and a number of KVM hosts. The OLVM Engine is a Java application running on a WildFly (formally JBoss) application server. The engine can be accessed using a webadmin portal, REST APIs or Ansible scripts. KVM hosts are servers running Oracle Linux 7 configured to act as hypervisors.

OLVM Dashboard

The OLVM Engine provides a way to organize and manage resources in a virtualized environment. Resources are arranged hierarchically. KVM hosts are grouped into clusters and each cluster is associated with a data center. Network attached storage is exposed as storage domains in a data center. VMs are created using CPU and memory from a KVM host and disk from the storage domains.

olvm

The OLVM Engine orchestrates resources. It issues ovirt API calls to VDSM (Virtual Desktop and Server Manager) daemon processes running on the KVM hosts. These allow it to provision, start and stop virtual machines. VMs can be created using pre-built templates, booting from an install CD iso file, or importing an image from other sources (VMware, OVA, ZEN or KVM)

OLVM also supports maintenance activities on KVM hosts. OLVM can download and apply OS patches on KVM hosts. These patches can be applied without affecting running VMs. OLVM can migrate running VMs to other hosts in a cluster if a host needs to be shutdown or restarted.

OLVM and BMS

The OLVM Engine can be installed on a GCP VM and backed up using Dito developed procedures. BMS servers can be configured as KVM hosts. Oracle publishes fully patched templates for VMs with the Oracle database pre-installed. These can be used to create database VMs on BMS hardware.

Alternatively VMs can be configured to match existing environments with older operating system versions and manually installed software.

Virtualization and Oracle Licenses

Many Oracle contracts use CPU characteristics as a licensing metric. For example, 12 Oracle Database Enterprise Edition licenses are required to support an x86 server with 24 cores. By default, these metrics refer to physical servers with Oracle software installed, not virtual machines. Partitioning the server into virtual machines does not affect this requirement unless an “Oracle-approved hard partitioning technology” is used.

OLVM can be used to configure hard partitioned VMs using a process referred to as CPU pinning. This binds vCPUs to physical CPU threads or cores on the KVM host and prevents the hypervisor providing “burst capacity” where a VM can exceed its vCPU capacity for short periods. Another limitation of Oracle’s hard partitioning policy is OLVM’s live migration feature cannot be used.

Copyright © Dito LLC, 2023