Instale oVirt Engine no CentOS Stream 9/Rocky Linux 9
oVirt é uma solução de gerenciamento de virtualização de código aberto e gratuita cujo desenvolvimento é apoiado pela Red Hat. oVirt foi desenvolvido para gerenciamento de ambientes de virtualização KVM (máquina virtual baseada em kernel). Ele vem com recursos que permitem gerenciar armazenamento, rede e máquinas virtuais, tudo isso a partir de uma interface administrativa centralizada baseada na web.
Os principais componentes do projeto oVirt são o oVirt Engine e o oVirt Node. oVirt Engine é um componente que fornece uma interface gráfica de usuário e uma API REST com a finalidade de gerenciar todos os recursos do ambiente virtualizado. Você pode instalar o oVirt Engine em uma máquina física ou virtual executando Enterprise Linux.
Este artigo fornecerá orientação sobre a instalação manual do oVirt Engine independente em um sistema CentOS Stream 9/Rocky Linux 9 Linux. O SO deve ser instalado antes de executar o script chamado engine-setup
que realizará a configuração do oVirt Engine. Depois de configurado, você pode adicionar hosts de computação e configurar o armazenamento para executar máquinas virtuais.
Aqui estão os requisitos de hardware para instalar o oVirt Engine em uma VM autônoma ou em um servidor dedicado.
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. Obtenha atualizações e defina o NTP
Faça login em sua instância do servidor Linux.
ssh root@ServerIP or username@ServerIP
Execute os comandos abaixo para garantir que todos os pacotes do sistema estejam atualizados.
sudo dnf -y update
Quando as atualizações do kernel são aplicadas, é necessária uma reinicialização.
sudo reboot
Alterar o fuso horário usado atualmente
sudo timedatectl set-timezone your_time_zone
Para listar todos os fusos horários disponíveis, digite o seguinte em um prompt do shell:
timedatectl list-timezones
Para alterar o fuso horário para África/Nairobi, digitarei:
sudo timedatectl set-timezone Africa/Nairobi
Ative também a sincronização automática do relógio do sistema com um servidor remoto.
sudo timedatectl set-ntp yes
Instale a sincronização de horário do Chrony.
sudo dnf -y install chrony
sudo systemctl enable --now chronyd
Sincronize a hora manualmente.
sudo chronyc sources
Confirme o valor da hora local do seu sistema.
$ 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. Adicionar repositórios RPM do oVirt Engine
Vamos habilitar os repositórios corretos que contêm pacotes oVirt Engine.
sudo dnf install -y centos-release-ovirt45
Resultado esperado da instalação:
...
Dependencies resolved.
======================================================================================================================================================================================================
....
Transaction Summary
======================================================================================================================================================================================================
Install 12 Packages
Total download size: 105 k
Installed size: 37 k
Downloading Packages:
Para Rocky Linux 9, atualize o arquivo de configurações do repositório para substituir $stream
por 9-stream
. Isso nos permitirá usar o repositório CentOS Stream 9 no sistema 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
Liste os repositórios atualmente habilitados no sistema.
$ 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
Atualize os metadados do cache.
sudo dnf makecache -y
3. Instalando o Motor oVirt
Defina o nome de host correto para a máquina.
sudo hostnamectl set-hostname ovirt.mylab.io
Adicione o IP e seu nome de host ao arquivo /etc/hosts
.
$ sudo vim /etc/hosts
ovirt.mylab.io 192.168.1.8
Agora que configuramos os repositórios necessários, vamos instalar o pacote e as dependências do oVirt Engine.
sudo dnf install ovirt-engine
Aceite a instalação quando solicitado a continuar.
....
Transaction Summary
======================================================================================================================================================================================================
Install 687 Packages
Total download size: 845 M
Installed size: 2.6 G
Is this ok [y/N]: y
Importe todas as chaves GPG conforme orientado durante a instalação.
...
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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
Confirme a instalação bem-sucedida consultando os detalhes do pacote usando o comando 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. Configurar o mecanismo oVirt
Para configurar o oVirt Engine, precisamos executar o comando engine-setup
:
sudo engine-setup
A inicialização começa imediatamente.
[ 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
...
Configure as principais opções necessárias para implantar o 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>
Ele verificará se alguma atualização está disponível.
--== PACKAGES ==--
[ INFO ] Checking for product updates...
[ INFO ] No product updates found
Em Configurações de rede, confirme o nome do host ou defina um novo.
--== NETWORK CONFIGURATION ==--
Host fully qualified DNS name of this server [ovirt.mylab.io]: ovirt.mylab.io
A personalização do banco de dados tem muitas opções. Trabalhe com o que se adequa ao seu uso. Aqui iremos com todos os valores padrão.
--== 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>
Defina a senha do usuário administrador do mecanismo.
--== 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>
Complete com valores de configuração para as opções restantes.
--== 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 ==--
No final você obterá uma saída com todas as configurações definidas.
--== 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
Basta clicar em
Please confirm installation settings (OK, Cancel) [OK]:
Aguarde a conclusão do processo de configuração
[ 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
O relatório de resumo final da instalação bem-sucedida é impresso na tela.
--== 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
A configuração do mecanismo
também exibirá detalhes sobre como acessar seu ambiente.
5. Configurando o firewalld
Você pode instalar e ativar o firewalld para manter seus serviços seguros.
sudo dnf -y install firewalld
sudo systemctl enable --now firewalld
Copie os arquivos xml com as portas necessárias para o oVirt Engine definidas.
sudo cp /etc/ovirt-engine/firewalld/* /etc/firewalld/services
Recarregue as regras do firewalld.
sudo firewall-cmd --reload
Permitir outros serviços oVirt no 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
Recarregue e confirme se eles foram adicionados à lista de permissões.
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
6. Acesse a interface da web do oVirt Engine
O valor FQDN usado na configuração do nome do host deve ter um registro A no seu servidor DNS. Como alternativa, crie um registro no arquivo /etc/hosts
da estação de trabalho local.
IP FQDN
Para acessar o oVirt Engine no navegador da web, use https://manager-fqdn/ovirt-engine. Ignore o aviso de risco do certificado SSL.
Você pode obter o certificado da autoridade de certificação no URL abaixo. Substituindo
http://<manager-fqdn>/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA
Consulte Configurando a segurança do certificado do oVirt/RHEV Manager no navegador
Para acessar o painel de administração, use “Portal de Administração ” em “Portais ”
Faça login com a conta de usuário administrador criada.
- Nome de usuário: admin@ovirt
- Senha: Use a senha que você especificou durante a instalação.
Você pode adicionar nomes de host ou endereços IP alternativos para acessar o Portal de Administração.
$ sudo vim /etc/ovirt-engine/engine.conf.d/99-custom-sso-setup.conf
SSO_ALTERNATE_ENGINE_FQDNS="_alias1.example.com alias2.example.com_"
A lista de nomes de host alternativos precisa ser separada por espaços. Você também pode adicionar o endereço IP do mecanismo à lista, mas não é recomendado usar endereços IP em vez de nomes de host resolvíveis por DNS.
Para adicionar o nó de computação, use:
- Instale o oVirt Compute Node no CentOS Stream 9/Rocky 9
7. Acesse o painel Grafana
O painel web do Grafana está disponível em https://manager-fqdn/ovirt-engine-grafana/
Faça login com o usuário admin e a senha que você especificou durante a instalação.
Próximos artigos para ler sobre gerenciamento oVirt:
- Adicione dados NFS, ISO e domínio de armazenamento de exportação ao oVirt/RHEV
- Criando redes lógicas de VM e armazenamento em oVirt/RHEV
- Configurar a autenticação de usuário oVirt/RHEV usando FreeIPA LDAP
- Como criar data center e cluster em oVirt/RHEV
- Carregar e usar imagens ISO no domínio de armazenamento oVirt/RHEV
- Como adicionar host de computação à virtualização oVirt
- Como provisionar VMs em oVirt/RHEV com Terraform