Red Hat Virtualization Manager Setup | ArkIT
Red Hat Virtualization Manager provides a graphical user interface and a REST API to manage the resources in the environment. The Manager is installed on a physical or virtual machine running Red Hat Enterprise Linux.
Prerequisites
- Need to have Active Red Hat subscription
- Minimum RAM 4GB, 25GB HDD, 2 CPU Cores and Internet enabled network connection
- Install RHEL 7 or RHEL 8 with minimal installation
- Enable required repositories from Red Hat content delivery network
Enable Repositories
# subscription-manager repos \ --disable='*' \ --enable=rhel-8-for-x86_64-baseos-rpms \ --enable=rhel-8-for-x86_64-appstream-rpms \ --enable=rhv-4.4-manager-for-rhel-8-x86_64-rpms \ --enable=fast-datapath-for-rhel-8-x86_64-rpms \ --enable=jb-eap-7.4-for-rhel-8-x86_64-rpms \ --enable=openstack-16.2-cinderlib-for-rhel-8-x86_64-rpms \ --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms
Enable pki-deps module
# dnf module -y enable pki-deps
postgresql 12 module enable we need database service
# dnf module -y enable postgresql:12
Synchronize installed packages to update them to the latest versions
# dnf distro-sync --nobest
Total download size: 926 M Is this ok [y/N]: y Downloading Packages: -------------------------------------------------------------- Total 6.7 MB/s | 926 MB 02:18 warning: /var/cache/dnf/rhel-8-for-x86_64-baseos-rpms-51b3b78d5698246b/packages/python3-cloud-what-1.28.21-3.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) [=== ] --- B/s | 0 B --:-- ETA Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 4.9 MB/s | 5.0 kB 00:00 Importing GPG key 0xFD431D51: Userid : "Red Hat, Inc. (release key 2) <security@redhat.com>" Fingerprint: 567E 347A D004 4ADE 55BA 8A5F 199E 2F91 FD43 1D51 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release Is this ok [y/N]: y Key imported successfully Importing GPG key 0xD4082792: Userid : "Red Hat, Inc. (auxiliary key) <security@redhat.com>" Fingerprint: 6A6A A7C9 7C88 90AE C6AE BFE2 F76F 66C3 D408 2792 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release Is this ok [y/N]: y Key imported successfully Installed: grub2-tools-efi-1:2.02-106.el8.x86_64 kernel-4.18.0-348.12.2.el8_5.x86_64 kernel-core-4.18.0-348.12.2.el8_5.x86_64 kernel-devel-4.18.0-348.12.2.el8_5.x86_64 kernel-modules-4.18.0-348.12.2.el8_5.x86_64 libbpf-0.4.0-1.el8.x86_64 lttng-ust-2.8.1-11.el8.x86_64 python3-cloud-what-1.28.21-3.el8.x86_64 Complete!
Before configuring the Red Hat Virtualization Manager, you must manually configure the Manager database on the remote server. You can also use this procedure to manually configure the Data Warehouse database if you do not want the Data Warehouse setup script to configure it automatically.
[root@rhevm ~]# subscription-manager repos \ > --enable=rhel-8-for-x86_64-baseos-rpms \ > --enable=rhel-8-for-x86_64-appstream-rpms \ > --enable=rhv-4.4-manager-for-rhel-8-x86_64-rpms
Install and configure PostgreSQL database
# dnf install postgresql-server postgresql-contrib -y Updating Subscription Management repositories. Last metadata expiration check: 0:23:11 ago on Fri 21 Jan 2022 08:35:54 AM PST. Dependencies resolved. Install 5 Packages Total download size: 8.2 M Installed size: 31 M Running scriptlet: postgresql-server-12.9-1.module+el8.5.0+13373+4554acc4.x86_64 5/5 [/usr/lib/tmpfiles.d/postgresql.conf:1] Line references path below legacy directory /var/run/, updating /var/run/postgresql → /run/postgresql; please update the tmpfiles.d/ drop-in file accordingly. Installed products updated. Installed: libpq-13.3-1.el8_4.x86_64 postgresql-12.9-1.module+el8.5.0+13373+4554acc4.x86_64 postgresql-contrib-12.9-1.module+el8.5.0+13373+4554acc4.x86_64 postgresql-server-12.9-1.module+el8.5.0+13373+4554acc4.x86_64 uuid-1.6.2-43.el8.x86_64 Complete!
Initialize the database
[root@rhevm ~]# postgresql-setup --initdb * Initializing database in '/var/lib/pgsql/data' * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log [root@rhevm ~]# systemctl enable postgresql Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service. [root@rhevm ~]# systemctl start postgresql [root@rhevm ~]# su - postgres -c psql psql (12.9) Type "help" for help. postgres=# create role rhevm with login encrypted password 'rhevm'; CREATE ROLE postgres=# create database rhevm owner rhevm template template0encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8'; CREATE DATABASE postgres=# \c rhevm You are now connected to database "rhevm" as user "postgres". rhevm=# CREATE EXTENSION "uuid-ossp"; CREATE EXTENSION rhevm=# CREATE LANGUAGE plpgsql; ERROR: language "plpgsql" already exists rhevm=# \q
Edit the /var/lib/pgsql/data/pg_hba.conf file to enable md5 client authentication, so that the engine can access the database remotely. Add the following line immediately below the line that starts with local at the bottom of the file. Replace X.X.X.X with the IP address of the Manager or Data Warehouse machine, and replace 0-32 or 0-128 with the CIDR mask length
If configure anything wrong in the configuration file you would see below error message
[root@rhevm ~]# systemctl restart postgresql Job for postgresql.service failed because the control process exited with error code. See "systemctl status postgresql.service" and "journalctl -xe" for details.
Edit config file
[root@rhevm ~]# vi /var/lib/pgsql/data/pg_hba.conf
host rhevm rhevm 192.168.182.130/24 md5
Allow TCP/IP connections to the database. Edit the /var/lib/pgsql/data/postgresql.conf file
and add the following line, replace IP address with your server address.
listen_addresses='192.168.182.130'
autovacuum_vacuum_scale_factor=0.01
autovacuum_analyze_scale_factor=0.075
autovacuum_max_workers=6
maintenance_work_mem=65536
max_connections=150
work_mem=8192
Red Hat Virtualization Manager Setup
Enable port communication with client
# firewall-cmd --zone=public --add-service=postgresql # firewall-cmd --permanent --zone=public --add-service=postgresql
Restart the DB service
[root@rhevm ~]# systemctl restart postgresql
Install the package and dependencies for the Red Hat Virtualization Manager, and configure it using the engine-setup command. The script asks you a series of questions and, after you provide the required values for all questions, applies that configuration and starts the ovirt-engine service.
# dnf install rhvm -y
[root@rhevm ~]# engine-setup [ INFO ]Stage: Initializing [ INFO ]Stage: Environment setup Configuration files: /etc/ovirt-engine-setup.conf.d/10-packaging-wsp.conf, /etc/ovirt-engine-setup.conf.d/10-packaging.conf Log file: /var/log/ovirt-engine/setup/ovirt-engine-setup-20220121092518-k4igxp.log Version: otopi-1.9.6 (otopi-1.9.6-2.el8ev) [ INFO ]Stage: Environment packages setup [ INFO ]Stage: Programs detection [ INFO ]Stage: Environment setup (late) [ INFO ]Stage: Environment customization --== PRODUCT OPTIONS ==-- Configure Cinderlib integration (Currently in tech preview) (Yes, No) [No]: Configure Engine on this host (Yes, No) [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]: Configure WebSocket Proxy on this host (Yes, No) [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]: Configure VM Console Proxy on this host (Yes, No) [Yes]: Configure Grafana on this host (Yes, No) [Yes]: --== PACKAGES ==-- [ INFO ]Checking for product updates... [ INFO ]DNF Package grafana-postgres available, but not installed. [ INFO ]No product updates found --== NETWORK CONFIGURATION ==-- Host fully qualified DNS name of this server [rhevm.anysys.local]: [WARNING]Failed to resolve rhevm.anysys.local using DNS, it can be resolved only locally --== DATABASE CONFIGURATION ==-- Where is the DWH database located? (Local, Remote) [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 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: Confirm engine admin password: [WARNING]Password is weak: The password is shorter than 8 characters Use weak password? (Yes, No) [No]: yes Application mode (Virt, Gluster, Both) [Both]: Use default credentials (admin@internal) for ovirt-provider-ovn (Yes, No) [Yes]: --== STORAGE CONFIGURATION ==-- Default SAN wipe after delete (Yes, No) [No]: --== PKI CONFIGURATION ==-- Organization name for certificate [anysys.local]: --== 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]: 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]: --== SYSTEM CONFIGURATION ==-- --== MISC CONFIGURATION ==-- Please choose Data Warehouse sampling scale: (1) Basic (2) Full (1, 2)[1]: Use Engine admin password as initial Grafana admin password (Yes, No) [Yes]: --== END OF CONFIGURATION ==-- [ INFO ]Stage: Setup validation --== CONFIGURATION PREVIEW ==-- Application mode : both Default SAN wipe after delete : False Host FQDN : rhevm.anysys.local Update Firewall : False 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 : anysys.local 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]: [ 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 ]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 In order to configure firewalld, copy the files from /etc/ovirt-engine/firewalld to /etc/firewalld/services and execute the following commands: firewall-cmd --permanent --add-service ovn-central-firewall-service firewall-cmd --permanent --add-service ovirt-provider-ovn firewall-cmd --permanent --add-service ovirt-http firewall-cmd --permanent --add-service ovirt-https firewall-cmd --permanent --add-service ovirt-vmconsole-proxy firewall-cmd --permanent --add-service ovirt-websocket-proxy firewall-cmd --permanent --add-service ovirt-fence-kdump-listener firewall-cmd --permanent --add-service ovirt-imageio-proxy firewall-cmd --permanent --add-service ovirt-postgres firewall-cmd --reload The following network ports should be opened: tcp:2222 tcp:35357 tcp:443 tcp:5432 tcp:54323 tcp:6100 tcp:6641 tcp:6642 tcp:80 tcp:9696 udp:7410 Please use the user 'admin@internal' and password specified in order to login Web access is enabled at: http://rhevm.anysys.local:80/ovirt-engine https://rhevm.anysys.local:443/ovirt-engine Internal CA F6:89:59:87:04:D8:7B:2B:C6:F7:64:35:25:0E:07:5A:FA:A8:34:9C SSH fingerprint: SHA256:RCvkUuitcMMycJXCWfgNxoGp2btArxiG5eR6iy9qTSA Web access for grafana is enabled at: https://rhevm.anysys.local/ovirt-engine-grafana/ Please run the following command on the engine machine rhevm.anysys.local, 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-20220121092518-k4igxp.log [ INFO ]Generating answer file '/var/lib/ovirt-engine/setup/answers/20220121093542-setup.conf' [ INFO ]Stage: Pre-termination [ INFO ]Stage: Termination [ INFO ]Execution of setup completed successfully
That’s it now you can access the Virtual Manager console using URL
Related Topics
Thanks for your wonderful Support and Encouragement