oVirt is a free and open-source distributed virtualization solution that can be used to manage your entire infrastructure. It is based on Red Hat Enterprise Virtualization and allows you to manage virtual machines, compute, storage and networking resources from the web-based interface. It uses KVM hypervisor and built upon several other community projects, including libvirt, Gluster, PatternFly, and Ansible.

In this tutorial, we will explain how to install oVirt on CentOS 8 server.

Prerequisites

  • A server running CentOS 8 with minimum 16 GB RAM.
  • A root password is configured the server.

Getting Started

Before starting, you will need to set FQDN hostname in your system. You can do it with the following command:

hostnamectl set-hostname centos.example.com

Next, you will need to edit /etc/hosts file and bind your system IP with the hostname.

nano /etc/hosts

Add the following lines:

your-server-ip centos.example.com

Save and close the file when you are finished.

Install Required Repository

Next, you will need to add oVirt and other required repository in your system.

First, install the oVirt repository with the following command:

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

Once installed, enable the Java package tool, pki-deps and PostgreSQL module with the following command:

dnf module enable javapackages-tools -y

dnf module enable pki-deps -y

dnf module enable postgresql:12 -y

Once you are finished, you can proceed to the next step.

Install and Setup oVirt Engine

First, update the repository using the following command:

dnf update -y

Once the repository is updated, install the oVirt Engine using the following command:

dnf install ovirt-engine -y

Once the installation has been completed, you can configure the oVirt Engine with the following command:

engine-setup

You will be asked for several questions during the setup as shown below:

          --== PRODUCT OPTIONS ==--
         
          Configure Cinderlib integration (Currently in tech preview) (Yes, No) [No]: Yes
          Configure Engine on this host (Yes, No) [Yes]: Yes
         
          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
          Configure WebSocket Proxy on this host (Yes, No) [Yes]: Yes
         
          * 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
          Configure Grafana on this host (Yes, No) [Yes]: Yes
          Configure VM Console Proxy on this host (Yes, No) [Yes]: Yes
         
          --== PACKAGES ==--
         
[ INFO  ] Checking for product updates...
[ INFO  ] No product updates found
         
          --== NETWORK CONFIGURATION ==--
         
          Host fully qualified DNS name of this server [centos.example.com]: Yes
[WARNING] Host name Yes has no domain suffix
[ ERROR ] Host name is not valid: Yes did not resolve into an IP address
          Host fully qualified DNS name of this server [centos.example.com]: 
[WARNING] Failed to resolve centos.example.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.
          Do you want Setup to configure the firewall? (Yes, No) [Yes]: Yes
          --== 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]: 
          Where is the ovirt cinderlib database located? (Local, Remote) [Local]: 
          Setup can configure the local postgresql server automatically for the CinderLib to run. This may conflict with existing applications.
          Would you like Setup to automatically configure postgresql and create CinderLib database, or prefer to perform that manually? (Automatic, Manual) [Automatic]: 
          Where is the Engine database located? (Local, Remote) [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]: 
         
          --== OVIRT ENGINE CONFIGURATION ==--
         
          Engine admin password: 

          --== SUMMARY ==--
         
[ INFO  ] Restarting httpd
          Please use the user '[email protected]' and password specified in order to login
          Web access is enabled at:
              http://centos.example.com:80/ovirt-engine
              https://centos.example.com:443/ovirt-engine
          Internal CA 65:FA:CD:BF:DD:2D:F4:99:D6:63:85:80:97:B9:66:B9:C7:29:5A:F3
          SSH fingerprint: SHA256:Y46liXyme5Fz/oJA9QaYY1dhK8BKeJiw1kcSjOYL204
[WARNING] Less than 16384MB of memory is available
          Web access for grafana is enabled at:
              https://centos.example.com/ovirt-engine-grafana/
          Please run the following command on the engine machine centos.example.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-20200830105920-2u1ydn.log
[ INFO  ] Generating answer file '/var/lib/ovirt-engine/setup/answers/20200830110513-setup.conf'
[ INFO  ] Stage: Pre-termination
[ INFO  ] Stage: Termination
[ INFO  ] Execution of setup completed successfully

After successful installation, you should get the URL of oVirt admin console and Grafana dashboard in the above output.

Configure SELinux and Firewall

By default, SELinux is enable in CentOS 8. So you will need to configure SELinux for oVirt. You can configure it with the following command:

setsebool -P httpd_can_network_connect 1

Next, you will need to allow port 80 and 443 through firewalld. You can do it with the following command:

firewall-cmd --permanent --zone public --add-port 80/tcp

firewall-cmd --permanent --zone public --add-port 443/tcp
firewall-cmd --reload

Once you are finished, you can proceed to the next step.

Access oVirt Admin Console

Now, open your web browser and type the URL https://centos.example.com/ovirt-engine/sso/login.html. You should see the oVirt login page:

How to Install oVirt Open Virtualization Manager on CentOS 8 centos

Provide the username as admin and the password which you have set during the installation, and click on the Log In button. You should see the following screen:

How to Install oVirt Open Virtualization Manager on CentOS 8 centos

Now, click on the Administration Portal. You should see the oVirt Dashboard in the following screen:

How to Install oVirt Open Virtualization Manager on CentOS 8 centos

Conclusion

Congratulations! you have successfully installed oVirt Engine on CentOS 8 server. Now you can add remote Virtualization host from the oVirt console and start creating your first virtual machine from the oVirt dashboard. Feel free to ask me if you have any questions.Advertisement