Поиск по сайту:

Установите oVirt Engine на CentOS Stream 9/Rocky Linux 9.


oVirt — это бесплатное решение для управления виртуализацией с открытым исходным кодом, разработка которого поддерживается Red Hat. oVirt создан для управления средами виртуализации KVM (виртуальные машины на основе ядра). Он поставляется с функциями, которые позволяют вам управлять хранилищем, сетью и виртуальными машинами, и все это из централизованного веб-интерфейса администрирования.

Ключевыми компонентами проекта oVirt являются oVirt Engine и oVirt Node. oVirt Engine — это компонент, который предоставляет графический интерфейс пользователя и REST API для управления всеми ресурсами в виртуализированной среде. Вы можете установить oVirt Engine на физическую или виртуальную машину под управлением Enterprise Linux.

В этой статье представлены инструкции по ручной установке автономного oVirt Engine в системе CentOS Stream 9/Rocky Linux 9 Linux. ОС необходимо установить перед запуском сценария engine-setup, который выполнит настройку oVirt Engine. После настройки вы можете добавить вычислительные хосты и настроить хранилище для запуска виртуальных машин.

Ниже приведены требования к оборудованию для установки oVirt Engine на автономную виртуальную машину или выделенный сервер.

Resource Minimum Recommended
CPU A dual core x86_64 CPU. A quad core x86_64 CPU or multiple dual core x86_64 CPUs.
Memory 4 GB of available system RAM if Data Warehouse is not installed and if memory is not being consumed by existing processes. 16 GB of system RAM.
Hard Disk 25 GB of locally accessible, writable disk space. 50 GB of locally accessible, writable disk space.You can use the RHV Engine History Database Size Calculator to calculate the appropriate disk space for the Engine history database size.
Network Interface 1 Network Interface Card (NIC) with bandwidth of at least 1 Gbps. 1 Network Interface Card (NIC) with bandwidth of at least 1 Gbps.

1. Загрузите обновления и установите ntp.

Войдите в свой экземпляр сервера Linux.

ssh root@ServerIP or username@ServerIP

Выполните приведенные ниже команды, чтобы убедиться, что все системные пакеты обновлены.

sudo dnf -y update

При применении обновлений ядра требуется перезагрузка.

sudo reboot

Изменить текущий часовой пояс

sudo timedatectl set-timezone your_time_zone

Чтобы вывести список всех доступных часовых поясов, введите в командной строке следующее:

timedatectl list-timezones

Чтобы изменить часовой пояс на Африка/Найроби, я наберу:

sudo timedatectl set-timezone Africa/Nairobi

Также включите автоматическую синхронизацию системных часов с удаленным сервером.

sudo timedatectl set-ntp yes

Установите синхронизацию времени Chrony.

sudo dnf -y install chrony
sudo systemctl enable --now chronyd

Синхронизируйте время вручную.

sudo chronyc sources

Подтвердите значение местного времени вашей системы.

$ timedatectl
               Local time: Thu 2024-02-08 10:36:19 EAT
           Universal time: Thu 2024-02-08 07:36:19 UTC
                 RTC time: Thu 2024-02-08 07:36:19
                Time zone: Africa/Nairobi (EAT, +0300)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

2. Добавьте репозитории RPM oVirt Engine.

Давайте включим правильные репозитории, содержащие пакеты oVirt Engine.

sudo dnf install -y centos-release-ovirt45

Ожидаемый результат установки:

...
Dependencies resolved.
======================================================================================================================================================================================================
....

Transaction Summary
======================================================================================================================================================================================================
Install  12 Packages

Total download size: 105 k
Installed size: 37 k
Downloading Packages:

Для Rocky Linux 9 обновите файл конфигурации репозитория, заменив $stream на 9-stream. Это позволит нам использовать репозиторий CentOS Stream 9 в системе Rocky Linux 9.

for repo in oVirt-4.5 Storage-common OpenStack-yoga Messaging-rabbitmq NFV-OpenvSwitch Ceph-Pacific Gluster-10 OpsTools; do
 sudo sed -i 's/$stream/9-stream/' /etc/yum.repos.d/CentOS-$repo.repo
done

Перечислите репозитории, включенные в настоящее время в системе.

$ sudo dnf repolist
repo id                                                                                repo name
appstream                                                                              CentOS Stream 9 - AppStream
baseos                                                                                 CentOS Stream 9 - BaseOS
centos-ceph-pacific                                                                    CentOS-9-stream - Ceph Pacific
centos-gluster10                                                                       CentOS-9-stream - Gluster 10
centos-nfv-openvswitch                                                                 CentOS Stream 9 - NFV OpenvSwitch
centos-openstack-yoga                                                                  CentOS-9 - OpenStack yoga
centos-opstools                                                                        CentOS Stream 9 - OpsTools - collectd
centos-ovirt45                                                                         CentOS Stream 9 - oVirt 4.5
centos-rabbitmq-38                                                                     CentOS-9 - RabbitMQ 38
crb                                                                                    CentOS Stream 9 - CRB
extras-common                                                                          CentOS Stream 9 - Extras packages
ovirt-45-upstream                                                                      oVirt upstream for CentOS Stream 9 - oVirt 4.5
resilientstorage                                                                       CentOS Stream 9 - ResilientStorage

Обновить метаданные кэша.

sudo dnf makecache -y

3. Установка oVirt Engine

Установите правильное имя хоста для машины.

sudo hostnamectl set-hostname ovirt.mylab.io

Добавьте IP-адрес и имя хоста в файл /etc/hosts.

$ sudo vim /etc/hosts
ovirt.mylab.io 192.168.1.8

Теперь, когда мы настроили необходимые репозитории, давайте установим пакет и зависимости для oVirt Engine.

sudo dnf install ovirt-engine

Примите установку, когда будет предложено продолжить.

....
Transaction Summary
======================================================================================================================================================================================================
Install  687 Packages

Total download size: 845 M
Installed size: 2.6 G
Is this ok [y/N]: y

Импортируйте все ключи GPG, как указано во время установки.

...
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                  28 MB/s | 845 MB     00:30
CentOS Stream 9 - NFV OpenvSwitch                                                                                                                                     1.0 MB/s | 1.0 kB     00:00
Importing GPG key 0x9D2A76A7:
 Userid     : "CentOS NFV SIG (https://wiki.centos.org/SpecialInterestGroup/NFV) <[email >"
 Fingerprint: 3515 4228 1749 01BE FA8E 69A6 2146 5E28 9D2A 76A7
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-NFV
Is this ok [y/N]: y
Key imported successfully
CentOS-9 - OpenStack yoga                                                                                                                                             1.0 MB/s | 1.0 kB     00:00
Importing GPG key 0x764429E6:
 Userid     : "CentOS Cloud SIG (http://wiki.centos.org/SpecialInterestGroup/Cloud) <[email >"
 Fingerprint: 736A F511 6D9C 40E2 AF6B 074B F9B9 FEE7 7644 29E6
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud
Is this ok [y/N]: y
Key imported successfully
CentOS Stream 9 - OpsTools - collectd                                                                                                                                 622 kB/s | 1.0 kB     00:00
Importing GPG key 0x51BC2A13:
 Userid     : "CentOS OpsTools SIG (https://wiki.centos.org/SpecialInterestGroup/OpsTools) <[email >"
 Fingerprint: 7872 8176 9AD7 3878 85EE A649 4FD9 5327 51BC 2A13
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-OpsTools
Is this ok [y/N]: y
Key imported successfully
CentOS Stream 9 - oVirt 4.5                                                                                                                                           1.0 MB/s | 1.0 kB     00:00
Importing GPG key 0x61E8806C:
 Userid     : "CentOS Virtualization SIG (http://wiki.centos.org/SpecialInterestGroup/Virtualization) <[email >"
 Fingerprint: A7C8 E761 309D 2F1C 92C5 0B62 7AEB BE82 61E8 806C
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization
Is this ok [y/N]: y
Key imported successfully
oVirt upstream for CentOS Stream 9 - oVirt 4.5                                                                                                                        1.2 MB/s | 1.6 kB     00:00
Importing GPG key 0x24901D0C:
 Userid     : "oVirt <[email >"
 Fingerprint: 3C98 E81D B93D EA6D 54DE 690E 44E4 75CB 2490 1D0C
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-oVirt-4.5
Is this ok [y/N]: y

Подтвердите успешную установку, запросив сведения о пакете с помощью команды rpm.

$ rpm -qi ovirt-engine
Name        : ovirt-engine
Version     : 4.5.5
Release     : 1.el9
Architecture: noarch
Install Date: Thu 08 Feb 2024 09:49:46 AM EAT
Group       : Virtualization/Management
Size        : 39491334
License     : ASL 2.0
Signature   : RSA/SHA256, Fri 01 Dec 2023 12:12:24 PM EAT, Key ID 7aebbe8261e8806c
Source RPM  : ovirt-engine-4.5.5-1.el9.src.rpm
Build Date  : Fri 01 Dec 2023 11:01:32 AM EAT
Build Host  : x86-03.mbox.rdu2.centos.org
Packager    : CBS <[email >
Vendor      : CentOS Community Build Service
URL         : http://www.ovirt.org
...

4. Настройте oVirt Engine.

Чтобы настроить oVirt Engine, нам нужно запустить команду engine-setup:

sudo engine-setup

Инициализация начинается немедленно.

[ 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-20240208065045-1nrdhj.log
          Version: otopi-1.10.4 (otopi-1.10.4-1.el9)
[ INFO  ] Stage: Environment packages setup
[ INFO  ] Stage: Programs detection
[ INFO  ] Stage: Environment setup (late)
[ INFO  ] Stage: Environment customization
...

Настройте ключевые параметры, необходимые для развертывания oVirt Engine.

          --== 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]:<Enter>
          Configure WebSocket Proxy on this host (Yes, No) [Yes]:<Enter>

          * 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]:<Enter>

          * Please note * : Keycloak is now deprecating AAA/JDBC authentication module.
          It is highly recommended to install Keycloak based authentication.
          Configure Keycloak on this host (Yes, No) [Yes]:<Enter>
          Configure VM Console Proxy on this host (Yes, No) [Yes]:<Enter>
          Configure Grafana on this host (Yes, No) [Yes]:<Enter>

Он проверит, доступны ли какие-либо обновления.

          --== PACKAGES ==--

[ INFO  ] Checking for product updates...
[ INFO  ] No product updates found

В разделе «Конфигурации сети» подтвердите имя хоста или установите новое.

--== NETWORK CONFIGURATION ==--

          Host fully qualified DNS name of this server [ovirt.mylab.io]: ovirt.mylab.io

Настройка базы данных имеет множество опций. Работайте с тем, что подходит вам. Здесь мы будем использовать все значения по умолчанию.

 --== DATABASE CONFIGURATION ==--

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

          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]:<Enter>

          Where is the Keycloak database located? (Local, Remote) [Local]:<Enter>

          Setup can configure the local postgresql server automatically for the Keycloak to run. This may conflict with existing applications.
          Would you like Setup to automatically configure postgresql and create Keycloak database, or prefer to perform that manually? (Automatic, Manual) [Automatic]:<Enter>
          Where is the ovirt cinderlib database located? (Local, Remote) [Local]:<Enter>
          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]:<Enter>
          Where is the Engine database located? (Local, Remote) [Local]:<Enter>

          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]:<Enter>

Установите пароль администратора Engine.

--== OVIRT ENGINE CONFIGURATION ==--

          Engine admin password:<Set-New-Password>
          Confirm engine admin password:<Confirm-New-Password>
          Application mode (Virt, Gluster, Both) [Both]:<Enter>
          Use Engine admin password as initial keycloak admin password (Yes, No) [Yes]:<Enter>

Заполните значениями настроек для остальных опций.

 --== STORAGE CONFIGURATION ==--

          Default SAN wipe after delete (Yes, No) [No]:<Enter>
  --== PKI CONFIGURATION ==--

          Organization name for certificate [mylab.io]:<Enter>

 --== 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]:<Enter>

 --== SYSTEM CONFIGURATION ==--


          --== MISC CONFIGURATION ==--

          Please choose Data Warehouse sampling scale:
          (1) Basic
          (2) Full
          (1, 2)[1]:<Enter>
          Use Engine admin password as initial Grafana admin password (Yes, No) [Yes]:<Enter>

          --== END OF CONFIGURATION ==--

В конце вы получите результат со всеми установленными конфигурациями.

 --== CONFIGURATION PREVIEW ==--

          Application mode                        : both
          Default SAN wipe after delete           : False
          Host FQDN                               : ovirt.mylab.io
          Update Firewall                         : False
          CinderLib database host                 : localhost
          CinderLib database port                 : 5432
          CinderLib database secured connection   : False
          CinderLib database host name validation : False
          CinderLib database name                 : ovirt_cinderlib
          CinderLib database user name            : ovirt_cinderlib
          Set up Cinderlib integration            : True
          Configure local CinderLib database      : True
          Configure local Engine database         : True
          Set application as default page         : True
          Configure Apache SSL                    : True
          Keycloak installation                   : 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                        : mylab.io
          Set up ovirt-provider-ovn               : 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
          Grafana integration                     : True
          Grafana database user name              : ovirt_engine_history_grafana
          Keycloak database host                  : localhost
          Keycloak database port                  : 5432
          Keycloak database secured connection    : False
          Keycloak database host name validation  : False
          Keycloak database name                  : ovirt_engine_keycloak
          Keycloak database user name             : ovirt_engine_keycloak
          Configure local Keycloak database       : True
          Configure VMConsole Proxy               : True
          Configure WebSocket Proxy               : True

Просто нажмите , чтобы начать настройку oVirt Engine.

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  ] Initializing PostgreSQL
[ INFO  ] Creating PostgreSQL 'ovirt_cinderlib' database
[ INFO  ] Configuring PostgreSQL
[ INFO  ] Upgrading CA
[ INFO  ] Creating PostgreSQL 'engine' database
[ INFO  ] Configuring PostgreSQL
[ INFO  ] Creating PostgreSQL 'ovirt_engine_history' database
[ INFO  ] Configuring PostgreSQL
[ INFO  ] Creating PostgreSQL 'ovirt_engine_keycloak' database
[ INFO  ] Configuring PostgreSQL
[ INFO  ] Creating CA: /etc/pki/ovirt-engine/ca.pem
[ INFO  ] Creating CA: /etc/pki/ovirt-engine/qemu-ca.pem
[ INFO  ] Creating a user for Grafana
[ INFO  ] Allowing ovirt_engine_history_grafana to read data on ovirt_engine_history
[ 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

Сводный отчет об успешном завершении установки будет распечатан на вашем экране.


          --== END OF SUMMARY ==--

[ INFO  ] Restarting httpd
[ INFO  ] Start with setting up Keycloak for Ovirt Engine
[ INFO  ] Done with setting up Keycloak for Ovirt Engine
[ INFO  ] Stage: Clean up
          Log file is located at /var/log/ovirt-engine/setup/ovirt-engine-setup-20240208065045-1nrdhj.log
[ INFO  ] Generating answer file '/var/lib/ovirt-engine/setup/answers/20240208070615-setup.conf'
[ INFO  ] Stage: Pre-termination
[ INFO  ] Stage: Termination
[ INFO  ] Execution of setup completed successfully

engine-setup также отобразит подробную информацию о том, как получить доступ к вашей среде.

5. Настройка брандмауэра

Вы можете установить и активировать firewalld, чтобы обеспечить безопасность ваших сервисов.

sudo dnf -y install firewalld
sudo systemctl enable --now firewalld

Скопируйте XML-файлы с портами, необходимыми для oVirt Engine.

sudo cp /etc/ovirt-engine/firewalld/* /etc/firewalld/services

Перезагрузите правила firewalld.

sudo firewall-cmd --reload

Разрешите другие службы oVirt в файле firewalld.

for service in ovn-central-firewall-service ovirt-provider-ovn ovirt-http \
  ovirt-https ovirt-vmconsole-proxy  ovirt-websocket-proxy \
  ovirt-fence-kdump-listener ovirt-imageio-proxy ovirt-postgres; do
sudo firewall-cmd --permanent --add-service $service;
done

Перезагрузите и подтвердите, были ли они добавлены в список разрешенных.

sudo firewall-cmd --reload
sudo firewall-cmd --list-all

6. Доступ к веб-интерфейсу oVirt Engine.

Значение полного доменного имени, используемое при настройке имени хоста, должно иметь запись A на вашем DNS-сервере. Альтернативно создайте запись в файле /etc/hosts локальной рабочей станции.

IP FQDN

Чтобы получить доступ к oVirt Engine в веб-браузере, используйте https://manager-fqdn/ovirt-engine. Игнорируйте предупреждение о риске сертификата SSL.

Вы можете получить сертификат центра сертификации по URL-адресу ниже. Замена на полное доменное имя, указанное вами во время установки.

http://<manager-fqdn>/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA

См. Настройка безопасности сертификата oVirt/RHEV Manager в браузере.

Для доступа к панели администратора используйте «Портал администрирования» в разделе «Порталы».

Войдите в систему с созданной учетной записью администратора.

  • Имя пользователя: admin@ovirt
  • Пароль: используйте пароль, указанный вами во время установки.

Вы можете добавить альтернативные имена хостов или IP-адреса для доступа к порталу администрирования.

$ sudo vim /etc/ovirt-engine/engine.conf.d/99-custom-sso-setup.conf
SSO_ALTERNATE_ENGINE_FQDNS="_alias1.example.com alias2.example.com_"

Список альтернативных имен хостов должен быть разделен пробелами. Вы также можете добавить в список IP-адрес Engine, но использовать IP-адреса вместо имен хостов, разрешаемых DNS, не рекомендуется.

Чтобы добавить вычислительный узел, используйте:

  • Установите вычислительный узел oVirt на CentOS Stream 9/Rocky 9.

7. Доступ к панели управления Grafana

Веб-панель Grafana доступна по адресу https://manager-fqdn/ovirt-engine-grafana/.

Войдите в систему, используя пользователя admin и пароль, который вы указали во время установки.

Следующие статьи об управлении oVirt:

  • Добавьте данные NFS, ISO и экспортируйте домен хранения в oVirt/RHEV
  • Создание логических сетей виртуальных машин и хранилищ в oVirt/RHEV
  • Настройка аутентификации пользователя oVirt/RHEV с использованием FreeIPA LDAP
  • Как создать центр обработки данных и кластер в oVirt/RHEV
  • Загружайте и используйте ISO-образы в домене хранения oVirt/RHEV
  • Как добавить вычислительный хост в виртуализацию oVirt
  • Как инициализировать виртуальные машины на oVirt/RHEV с помощью Terraform