How To Install oVirt Engine on Rocky Linux 8|AlmaLinux 8

ComputingPost
15 min readOct 18, 2022

--

Virtualization allows for the partitioning of a single compute machine into multiple virtual computers, each with its own operating system. The Virtual Machines created through Virtualization are fully isolated from each other to appear as if running on private hardware. By adoption Virtualization you’re able to provision new virtual servers faster than the time it takes to deploy new physical hardware.

A Virtualization management solution is required to effectively manage hosts and virtual machines running in an Infrastructure. In most cases, virtualization management tools provides an integrated virtualization environment for easy creation, management, and monitoring of hypervisors, virtual machines, storage, and networking resources. In a nutshell, the Virtualization manager gives you a centralized control over your virtualization infrastructure, as opposed to individually administering hundreds of hypervisors and their virtual machines.

What is oVirt Virtualization platform?

oVirt is a free, and open-source virtualization solution for your entire enterprise Infrastructure. oVirt is built upon popular community projects, including Ansible, Gluster, KVM hypervisor ( libvirt), and PatternFly.

oVirt features include:

  • Rich web-based user interfaces for both admin and non-admin users
  • Integrated management of hosts, storage, and network configuration
  • Live migration of virtual machines and disks between hosts and storage
  • High availability of virtual machines in the event of host failure

What is oVirtVirtualization Manager?

oVirt Virtualization Manager is a central management platform for logical and physical resources of a oVirt Virtualization infrastructure. This oVirt Manager uses PostgreSQL databases and is built upon JBoss Enterprise Application Platform (EAP). It provides several management interfaces, including a REST API.

A table showing the key components of oVirt Virtualization Solution:

Name Component Description oVirt Engine Service that provides a graphical user interface and a REST API to manage the resources in the environment. The Engine is installed on a physical or virtual machine running Enterprise Linux. Hosts Enterprise Linux hosts (Enterprise Linux hosts) and oVirt Nodes (image-based hypervisors) are the two supported types of host. Hosts use Kernel-based Virtual Machine (KVM) technology and provide resources used to run virtual machines. Shared Storage A storage service is used to store the data associated with virtual machines. Data Warehouse A service that collects configuration information and statistical data from the Engine.

Install oVirt 4.4 Manager on Rocky Linux 8 / AlmaLinux 8

There are two standards of oVirt Engine deployment. In either deployment option, a VDSM (host agent) runs on all hosts to facilitate communication with the oVirt Engine.

1. Standalone Engine Deployment

In Standalone Engine deployment, the oVirt Engine runs on a virtual machine hosted in a separate virtualization environment, or a physical server not part of oVirt Virtualization stack. The benefits of standalone Engine deployment is the is ease of to setup and management., only that it requires an additional physical server. Hight Availability of the oVirt Engine is the responsibility of SysAdmin.

standalone-ovirt-engine-1024x574

2. Self-Hosted Engine Deployment

In this deployment method, the oVirt Engine runs as a virtual machine on self-hosted engine nodes (specialized hosts) in the same environment it manages. A self-hosted engine environment requires one less physical server, but requires more administrative overhead to deploy and manage. The Engine is highly available without external HA management.

ovirt-self-hosted-engine-1024x390

oVirt Engine Hardware Requirements

The recommended hardware requirements for oVirt Engine deployment are:

  • Hard Disk — 50 GB of locally accessible, writable disk space.
  • CPU — A quad core x86_64 CPU or multiple dual core x86_64 CPUs.
  • Memory — 16 GB of system RAM.

Option 1: Standalone Engine Deployment

For a standalone oVirt Engine deployment follow the steps outlined in this section.

Step 1: Set hostname and time

Set your oVirt Manager machine hostname.

Hostname="ovirt-manager.hirebestengineers.com"

sudo hostnamectl set-hostname $Hostname

Configure timezone of our region on the server.

sudo timedatectl set-timezone Africa/Nairobi

Ensure NTP time synchronization is configured correctly.

$ sudo yum -y install chrony

$ sudo systemctl enable --now chronyd

$ sudo chronyc sources

MS Name/IP address Stratum Poll Reach LastRx Last sample

===============================================================================

^- resolv2.bbone.net 2 6 377 34 +731us[ +731us] +/- 51ms

^* time1.uni-paderborn.de 1 6 377 34 -1935us[-1769us] +/- 11ms

^+ mail.l0nax.org 2 6 377 33 +1121us[+1121us] +/- 16ms

^+ tanss.it-risch.de 2 6 377 33 +2277us[+2277us] +/- 11ms

Step 2: Set Static IP addressing and configure DNS

Check your server IP address:

[jmutai@ovirt-manager ~]# ip ad

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: enp1s0: mtu 1500 qdisc fq_codel state UP group default qlen 1000

link/ether 52:54:00:6d:c1:dd brd ff:ff:ff:ff:ff:ff

inet 192.168.77.2/24 brd 192.168.77.255 scope global noprefixroute enp1s0

valid_lft forever preferred_lft forever

inet6 fe80::5054:ff:fe6d:c1dd/64 scope link

valid_lft forever preferred_lft forever

If the IP address is assigned from DHCP, ensure DHCP server is highly available. Alternatively, configure static IP addressing on the server.

Add your server hostname in DNS server or modify the /etc/hosts file.

$ sudo vi /etc/hosts

192.168.77.2 ovirt-manager.hirebestengineers.com ovirt-manager

Check available free memory if it meets the requirements.

[jmutai@ovirt-manager ~]$ free -h

total used free shared buff/cache available

Mem: 15Gi 203Mi 15Gi 8.0Mi 242Mi 14Gi

Swap: 614Mi 0B 614Mi

Check processor hardware requirement.

[jmutai@ovirt-manager ~]$ grep -c ^processor /proc/cpuinfo

4

Checking free disk space:

[jmutai@ovirt-manager ~]$ df -hT

Filesystem Type Size Used Avail Use% Mounted on

devtmpfs devtmpfs 7.8G 0 7.8G 0% /dev

tmpfs tmpfs 7.8G 0 7.8G 0% /dev/shm

tmpfs tmpfs 7.8G 8.5M 7.8G 1% /run

tmpfs tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup

/dev/vda4 xfs 39G 2.0G 37G 6% /

/dev/vda2 ext4 976M 301M 609M 34% /boot

tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0

Step 3: Add oVirt RPM repository

Let’s add oVirt RPM repository to our Rocky Linux 8 / AlmaLinux 8 server.

sudo yum -y install https://resources.ovirt.org/pub/yum-repo/ovirt-release44.rpm

Check repos enabled after addition:

$ dnf repolist

repo id repo name

appstream Rocky Linux 8 - AppStream

baseos Rocky Linux 8 - BaseOS

extras Rocky Linux 8 - Extras

ovirt-4.4 Latest oVirt 4.4 Release

ovirt-4.4-advanced-virtualization Advanced Virtualization packages for x86_64

ovirt-4.4-centos-ceph-pacific Ceph packages for x86_64

ovirt-4.4-centos-gluster8 CentOS-8 - Gluster 8

ovirt-4.4-centos-nfv-openvswitch CentOS-8 - NFV OpenvSwitch

ovirt-4.4-centos-opstools CentOS-8 - OpsTools - collectd

ovirt-4.4-centos-ovirt44 CentOS-8 - oVirt 4.4

ovirt-4.4-copr:copr.fedorainfracloud.org:sac:gluster-ansible Copr repo for gluster-ansible owned by sac

ovirt-4.4-copr:copr.fedorainfracloud.org:sbonazzo:EL8_collection Copr repo for EL8_collection owned by sbonazzo

ovirt-4.4-epel Extra Packages for Enterprise Linux 8 - x86_64

ovirt-4.4-openstack-victoria OpenStack Victoria Repository

ovirt-4.4-virtio-win-latest virtio-win builds roughly matching what will be shipped in upcoming RHEL

Enable PowerTools repository

sudo dnf -y install dnf-plugins-core

sudo dnf config-manager --set-enabled powertools

Enable all AppStream modules required — javapackages-tools, pki-deps and postgresql:

[jmutai@ovirt-manager ~]$ sudo dnf module -y enable javapackages-tools

Rocky Linux 8 - PowerTools 8.3 MB/s | 2.5 MB 00:00

Dependencies resolved.

================================================================================

Package Architecture Version Repository Size

================================================================================

Enabling module streams:

javapackages-tools

201801



Transaction Summary

================================================================================



Complete!



[jmutai@ovirt-manager ~]$ sudo dnf module -y enable pki-deps

Last metadata expiration check: 0:03:10 ago on Sun 09 Jan 2022 02:38:54 AM EAT.

Dependencies resolved.

================================================================================================================================================================================

Package Architecture Version Repository Size

================================================================================================================================================================================

Enabling module streams:

pki-deps 10.6



Transaction Summary

================================================================================================================================================================================



Complete!

[jmutai@ovirt-manager ~]$ sudo dnf module -y enable postgresql:12

Last metadata expiration check: 0:03:17 ago on Sun 09 Jan 2022 02:38:54 AM EAT.

Dependencies resolved.

================================================================================================================================================================================

Package Architecture Version Repository Size

================================================================================================================================================================================

Enabling module streams:

postgresql 12



Transaction Summary

================================================================================================================================================================================



Complete!

Ensure all system packages are up to date:

sudo dnf distro-sync --nobest

sudo dnf upgrade --nobest

Step 4: Install oVirt packages on Rocky Linux 8 / AlmaLinux 8

Install ovirt-engine package and dependencies Rocky Linux 8 / AlmaLinux 8:

sudo dnf install ovirt-engine

The number of packages installed are quite huge in size. If you have slow internet you may need to wait for some minutes.

Transaction Summary

=====================================================================================================================================================================================

Install 551 Packages



Total download size: 827 M

Installed size: 2.3 G

Is this ok [y/N]: y

Wait for the complete message.

.....

urw-base35-nimbus-mono-ps-fonts-20170801-10.el8.noarch

urw-base35-nimbus-roman-fonts-20170801-10.el8.noarch

urw-base35-nimbus-sans-fonts-20170801-10.el8.noarch

urw-base35-p052-fonts-20170801-10.el8.noarch

urw-base35-standard-symbols-ps-fonts-20170801-10.el8.noarch

urw-base35-z003-fonts-20170801-10.el8.noarch

userspace-rcu-0.10.1-4.el8.x86_64

uuid-1.6.2-43.el8.x86_64

vdsm-jsonrpc-java-1.6.0-1.el8.noarch

ws-commons-util-1.0.2-1.el8.noarch

xdg-utils-1.1.2-5.el8.noarch

xmlrpc-client-3.1.3-1.el8.noarch

xmlrpc-common-3.1.3-1.el8.noarch

xmlstreambuffer-1.5.4-8.module+el8.3.0+53+ea062990.noarch

xorg-x11-font-utils-1:7.5-41.el8.x86_64

xorg-x11-fonts-ISO8859-1-100dpi-7.5-19.el8.noarch

xorg-x11-server-utils-7.7-27.el8.x86_64

xsom-0-19.20110809svn.module+el8.3.0+53+ea062990.noarch

yajl-2.1.0-10.el8.x86_64



Complete!

Step 4: Configure oVirt packages on Rocky Linux 8 / AlmaLinux 8

Run the engine-setup command to begin configuration process for the oVirt Engine:

[jmutai@ovirt-manager ~]$ sudo engine-setup

The configuration of oVirt Engine starts almost immediately.

[ INFO  ] Stage: Initializing

[ INFO ] Stage: Environment setup

Configuration files: /etc/ovirt-engine-setup.conf.d/10-packaging-jboss.conf, /etc/ovirt-engine-setup.conf.d/10-packaging.conf

Log file: /var/log/ovirt-engine/setup/ovirt-engine-setup-20220109025904-uk0sv6.log

Version: otopi-1.9.6 (otopi-1.9.6-1.el8)

[ INFO ] Stage: Environment packages setup

[ INFO ] Stage: Programs detection

[ INFO ] Stage: Environment setup (late)

[ INFO ] Stage: Environment customization



--== PRODUCT OPTIONS ==--

Set up Engine and Cinderlib integration
Optionally set up Cinderlib integration on this machine. Type Yes and press Enter

--== PRODUCT OPTIONS ==--



Configure Cinderlib integration (Currently in tech preview) (Yes, No) [No]: No

Press Enter to configure the Engine on this machine:

Configure Engine on this host (Yes, No) [Yes]: Yes

Configure Open Virtual Network (OVN) / WebSocket Proxy
You can choose to install an Open Virtual Network (OVN) server on the Engine machine and adds it to oVirt as an external network provider. This action also configures the Default cluster to use OVN as its default network provider.

Configuring ovirt-provider-ovn also sets the Default cluster’s default network provider to ovirt-provider-ovn.

Non-Default clusters may be configured with an OVN after installation.

Configure ovirt-provider-ovn (Yes, No) [Yes]: Yes

Optionally allow engine-setup to configure a WebSocket Proxy server for allowing users to connect to virtual machines through the noVNC console:

Configure WebSocket Proxy on this machine? (Yes, No) [Yes]: Yes

Configure Data Warehouse / Grafana
oVirt only supports installing the Data Warehouse database, the Data Warehouse service, and Grafana all on the same machine as each other.

Choose whether to configure Data Warehouse on this machine.

Please note: Data Warehouse is required for the engine. If you choose to not configure it on this host, you have to configure it on a remote host, and then configure the engine on this host so that it can access the database of the remote Data Warehouse host.

Configure Data Warehouse on this host (Yes, No) [Yes]: Yes

Press Enter to configure Grafana on the Engine:

Configure Grafana on this host (Yes, No) [Yes]: Yes

Configure firewall and DNS
You can press Enter to accept the automatically detected host name, or enter an alternative host name.

--== PACKAGES ==--



[ INFO ] Checking for product updates...

[ INFO ] No product updates found



--== NETWORK CONFIGURATION ==--



Host fully qualified DNS name of this server [ovirt-manager.hirebestengineers.com]:

[WARNING] Failed to resolve ovirt-manager.hirebestengineers.com using DNS, it can be resolved only locally



Setup can automatically configure the firewall on this system.

Note: automatic configuration of the firewall may overwrite current settings.

If you have an active firewall service, allow engine-setup to modify your firewall configuration:

Do you want Setup to configure the firewall? (Yes, No) [Yes]: Yes

[ INFO ] firewalld will be configured as firewall manager.

Data Warehouse database Configurations
Specify whether to configure the Data Warehouse database on this machine, or on another machine:

--== DATABASE CONFIGURATION ==--

Where is the DWH database located? (Local, Remote) [Local]: Local



Setup can configure the local postgresql server automatically for the DWH to run. This may conflict with existing applications.

Would you like Setup to automatically configure postgresql and create DWH database, or prefer to perform that manually? (Automatic, Manual) [Automatic]: Automatic

Where is the Engine database located? (Local, Remote) [Local]: Local



Setup can configure the local postgresql server automatically for the engine to run. This may conflict with existing applications.

Would you like Setup to automatically configure postgresql and create Engine database, or prefer to perform that manually? (Automatic, Manual) [Automatic]: Automatic

Set oVirt Engine admin password
Set a password for the automatically created administrative user of the oVirt Engine:

--== OVIRT ENGINE CONFIGURATION ==--

Engine admin password:

Confirm engine admin password:

Application mode (Virt, Gluster, Both) [Both]: Both

Use default credentials (admin@internal) for ovirt-provider-ovn (Yes, No) [Yes]: Yes

Set SAN Storage wipe configuration
Set the default value for the wipe_after_delete flag, which wipes the blocks of a virtual disk when the disk is deleted.

--== STORAGE CONFIGURATION ==--

Default SAN wipe after delete (Yes, No) [No]: No

Confirm or set organization name for the certificate
The Engine uses certificates to communicate securely with its hosts. This certificate can also optionally be used to secure HTTPS communications with the Engine.

Set or confirm organization name by pressing Enter.

--== PKI CONFIGURATION ==--

Organization name for certificate [hirebestengineers.com]:

Apache / Data Warehouse sampling / Grafana password
Allow engine-setup to make the landing page of the Engine the default page presented by the Apache web server:

--== APACHE CONFIGURATION ==--

Setup can configure the default page of the web server to present the application home page. This may conflict with existing applications.

Do you wish to set the application as the default page of the web server? (Yes, No) [Yes]: Yes

Configure Apache to use SSL using a certificate issued from the internal CA

Setup can configure apache to use SSL using a certificate issued from the internal CA.

Do you wish Setup to configure that, or prefer to perform that manually? (Automatic, Manual) [Automatic]: Automatic

Choose Data Warehouse sampling scale

--== SYSTEM CONFIGURATION ==--



--== MISC CONFIGURATION ==--



Please choose Data Warehouse sampling scale:

(1) Basic

(2) Full

(1, 2)[1]: 1

Specify a unique password for the Grafana admin user, or use same one as the Engine admin password:

Use Engine admin password as initial Grafana admin password (Yes, No) [Yes]: Yes

--== END OF CONFIGURATION ==--

Review the installation settings and deploy
Review the installation settings, and press Enter to accept the values and proceed with the deployment of oVirt Engine on the system:

[ INFO  ] Stage: Setup validation



--== CONFIGURATION PREVIEW ==--



Application mode : both

Default SAN wipe after delete : False

Host FQDN : ovirt-manager.hirebestengineers.com

Firewall manager : firewalld

Update Firewall : True

Set up Cinderlib integration : False

Configure local Engine database : True

Set application as default page : True

Configure Apache SSL : True

Engine database host : localhost

Engine database port : 5432

Engine database secured connection : False

Engine database host name validation : False

Engine database name : engine

Engine database user name : engine

Engine installation : True

PKI organization : hirebestengineers.com

Set up ovirt-provider-ovn : True

Grafana integration : True

Grafana database user name : ovirt_engine_history_grafana

Configure WebSocket Proxy : True

DWH installation : True

DWH database host : localhost

DWH database port : 5432

DWH database secured connection : False

DWH database host name validation : False

DWH database name : ovirt_engine_history

Configure local DWH database : True

Configure VMConsole Proxy : True



Please confirm installation settings (OK, Cancel) [OK]: OK

After successful configuration of your oVirt Engine environment, the engine-setup will display all the details regarding access to the oVirt Environment.

[ INFO  ] Stage: Transaction setup

[ INFO ] Stopping engine service

[ INFO ] Stopping ovirt-fence-kdump-listener service

[ INFO ] Stopping dwh service

[ INFO ] Stopping vmconsole-proxy service

[ INFO ] Stopping websocket-proxy service

[ INFO ] Stage: Misc configuration (early)

[ INFO ] Stage: Package installation

[ INFO ] Stage: Misc configuration

[ INFO ] Upgrading CA

[ INFO ] Initializing PostgreSQL

[ INFO ] Creating PostgreSQL 'engine' database

[ INFO ] Configuring PostgreSQL

[ INFO ] Creating PostgreSQL 'ovirt_engine_history' database

[ INFO ] Configuring PostgreSQL

[ INFO ] Creating CA: /etc/pki/ovirt-engine/ca.pem

[ INFO ] Creating CA: /etc/pki/ovirt-engine/qemu-ca.pem

[ INFO ] Updating OVN SSL configuration

[ INFO ] Updating OVN timeout configuration

[ INFO ] Creating/refreshing DWH database schema

[ INFO ] Setting up ovirt-vmconsole proxy helper PKI artifacts

[ INFO ] Setting up ovirt-vmconsole SSH PKI artifacts

[ INFO ] Configuring WebSocket Proxy

[ INFO ] Creating/refreshing Engine database schema

[ INFO ] Creating a user for Grafana

[ INFO ] Creating/refreshing Engine 'internal' domain database schema

[ INFO ] Creating default mac pool range

[ INFO ] Adding default OVN provider to database

[ INFO ] Adding OVN provider secret to database

[ INFO ] Setting a password for internal user admin

[ INFO ] Install selinux module /usr/share/ovirt-engine/selinux/ansible-runner-service.cil

[ INFO ] Generating post install configuration file '/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf'

[ INFO ] Stage: Transaction commit

[ INFO ] Stage: Closing up

[ INFO ] Starting engine service

[ INFO ] Starting dwh service

[ INFO ] Starting Grafana service

[ INFO ] Restarting ovirt-vmconsole proxy service



--== SUMMARY ==--



[ INFO ] Restarting httpd

Please use the user 'admin@internal' and password specified in order to login

Web access is enabled at:

http://ovirt-manager.hirebestengineers.com:80/ovirt-engine

https://ovirt-manager.hirebestengineers.com:443/ovirt-engine

Internal CA 41:E4:7A:96:08:4A:55:8F:3A:49:36:76:5A:B3:16:E8:D8:FA:C9:FF

SSH fingerprint: SHA256:cXMs/4pxBeKQcZYHLcNFDMUSuZ9XlPr84fQ+teeDkjw

Web access for grafana is enabled at:

https://ovirt-manager.hirebestengineers.com/ovirt-engine-grafana/

Please run the following command on the engine machine ovirt-manager.hirebestengineers.com, for SSO to work:

systemctl restart ovirt-engine



--== END OF SUMMARY ==--



[ INFO ] Stage: Clean up

Log file is located at /var/log/ovirt-engine/setup/ovirt-engine-setup-20220109025904-uk0sv6.log

[ INFO ] Generating answer file '/var/lib/ovirt-engine/setup/answers/20220109031018-setup.conf'

[ INFO ] Stage: Pre-termination

[ INFO ] Stage: Termination

[ INFO ] Execution of setup completed successfully

Accessing oVirt Administration Portal
Open your web browser and access Administration Portal using using the URL

### Access over https ###

https://ovirt-manager-fqdn/ovirt-engine



### Access over http ###

http://ovirt-manager-fqdn/ovirt-engine

Don’t forget to replaceovirt-manager-fqdn with the FQDN provided during installation of oVirt engine. You can also access the Portal using alternate host names or IP addresses configurable in the file under /etc/ovirt-engine/engine.conf.d/.

$ sudo vi /etc/ovirt-engine/engine.conf.d/99-custom-sso-setup.conf

SSO_ALTERNATE_ENGINE_FQDNS="alias1.mydomain.com alias2.mydomain.com"

Accept security warning to access the portal.

install-ovirt-manager-rocky-almalinux-01-1024x388

Certificate authority’s certificate can be obtained by navigating to http://ovirt-manager-fqdn/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA, while replacing ovirt-manager-fqdn with your oVirt FQDN provided during the installation.

install-ovirt-manager-rocky-almalinux-02-1024x384

Click on “Administation Portal” link.

install-ovirt-manager-rocky-almalinux-03-1024x442

Log in to the Administration Portal with admin username and password set during installation.

install-ovirt-manager-rocky-almalinux-04-1024x460

From here you can add hosts and storage to the oVirt environment

install-ovirt-manager-rocky-almalinux-05-1024x263

The next step is storage domain configurations before adding hosts:

Option 2: Installing oVirt as a self-hosted engine

The Self-hosted engine installation is automated using Ansible. You use an installation script (hosted-engine --deploy) which runs on an initial deployment host, and installation of the oVirt Engine and its configuration is done on a virtual machine created on the host deployed.

Step 1: Prepare Storage

You start by preparing storage to use for the self-hosted engine storage domain and for standard storage domains. We have a dedicated on NFS shared in the link below:

Step 2: Install oVirt Host

This host will become the first self-hosted engine node. You can use either host type:

Step 3: Install and configure the oVirt Engine

Install and configure oVirt Engine on one of the host by following along below guide:

In our next article available in the link shared, we cover installing Rocky Linux 8 / AlmaLinux 8 Hosts to oVirt Virtualization environment.

--

--

ComputingPost

ComputingPost — Linux Howtos, Tutorials, Guides, News, Tips and Tricks.