oVirt em 2 horas. Parte 3. Configurações avançadas

Neste artigo, veremos várias configurações opcionais, mas úteis:


Este artigo é uma sequela, comece a ver oVirt em 2 horas, Parte 1 e Parte 2 .

Artigos


  1. Introdução
  2. Instalação do gerenciador (mecanismo de ovirt) e hipervisores (hosts)
  3. Configurações avançadas - estamos aqui
  4. Operações básicas

Configurações adicionais do gerente


Por conveniência, forneceremos pacotes adicionais:

$ sudo yum install bash-completion vim

Para habilitar o preenchimento automático, os comandos de conclusão do bash devem ser alternados para o bash.


Adicionando nomes DNS adicionais


Isso é necessário quando você precisa se conectar ao gerenciador por um nome alternativo (CNAME, alias ou apenas um nome abreviado sem sufixo de domínio). Por motivos de segurança, o gerente permite apenas conexões usando a lista de nomes permitidos.

Crie um arquivo de configuração:

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

o seguinte conteúdo:

SSO_ALTERNATE_ENGINE_FQDNS="ovirt.example.com some.alias.example.com ovirt"

e reinicie o gerenciador:

$ sudo systemctl restart ovirt-engine


Configurar autenticação através do AD


oVirt possui uma base de usuários incorporada, mas também são suportados provedores LDAP externos, incluindo DE ANÚNCIOS.

A maneira mais simples de uma configuração típica é iniciar o assistente e reiniciar o gerenciador:

$ sudo yum install ovirt-engine-extension-aaa-ldap-setup
$ sudo ovirt-engine-extension-aaa-ldap-setup
$ sudo systemctl restart ovirt-engine

Exemplo de assistente
$ sudo ovirt-engine-extension-aaa-ldap-setup
Available LDAP implementations:

3 — Active Directory

Please select: 3
Please enter Active Directory Forest name: example.com

Please select protocol to use (startTLS, ldaps, plain) [startTLS]:
Please select method to obtain PEM encoded CA certificate (File, URL, Inline, System, Insecure): URL
URL: wwwca.example.com/myRootCA.pem
Enter search user DN (for example uid=username,dc=example,dc=com or leave empty for anonymous): CN=oVirt-Engine,CN=Users,DC=example,DC=com
Enter search user password: *password*
[ INFO ] Attempting to bind using 'CN=oVirt-Engine,CN=Users,DC=example,DC=com'
Are you going to use Single Sign-On for Virtual Machines (Yes, No) [Yes]:
Please specify profile name that will be visible to users [example.com]:
Please provide credentials to test login flow:
Enter user name: someAnyUser
Enter user password:

[ INFO ] Login sequence executed successfully

Select test sequence to execute (Done, Abort, Login, Search) [Done]:
[ INFO ] Stage: Transaction setup

CONFIGURATION SUMMARY


O uso do assistente é adequado para a maioria dos casos. Para configurações complexas, as configurações são manuais. Leia mais na documentação oVirt, Usuários e Funções . Após conectar com êxito o Mecanismo ao AD, um perfil adicional será exibido na janela de conexão e na guia Permissões dos objetos do sistema - a capacidade de emitir permissões para usuários e grupos do AD. Observe que o diretório externo de usuários e grupos pode ser não apenas o AD, mas também o IPA, o eDirectory etc.


Multipathing


Em um ambiente de produção, o sistema de armazenamento deve ser conectado ao host por vários caminhos de E / S múltiplos independentes. Como regra, no CentOS (e, portanto, oVirt), não há problemas com a criação de vários caminhos de dispositivo (find_multipaths yes). Configurações adicionais para FCoE estão descritas na Parte 2 . Vale a pena prestar atenção à recomendação do fabricante dos sistemas de armazenamento - muitos recomendam o uso da política round-robin; por padrão, o serviço Linux é usado no Enterprise Linux 7.

Por exemplo, 3PAR
HPE 3PAR Red Hat Enterprise Linux, CentOS Linux, Oracle Linux, and OracleVM Server Implementation Guide EL Host Generic-ALUA Persona 2, /etc/multipath.conf :

defaults {
           polling_interval      10
           user_friendly_names   no
           find_multipaths       yes
          }
devices {
          device {
                   vendor                   "3PARdata"
                   product                  "VV"
                   path_grouping_policy     group_by_prio
                   path_selector            "round-robin 0"
                   path_checker             tur
                   features                 "0"
                   hardware_handler         "1 alua"
                   prio                     alua
                   failback                 immediate
                   rr_weight                uniform
                   no_path_retry            18
                   rr_min_io_rq             1
                   detect_prio              yes
                   fast_io_fail_tmo         10
                   dev_loss_tmo             "infinity"
                 }
}

:

systemctl restart multipathd


. 1 — - .


. 2 — - .


Configuração do controle de enegia


Permite executar, por exemplo, uma redefinição de hardware da máquina, se o Engine não puder receber uma resposta do Host por um longo tempo. Implementado através do Fence Agent.

Computar -> Hosts -> HOST - Editar -> Gerenciamento de Energia, ative "Ativar Gerenciamento de Energia" e adicione o agente - "Adicionar Agente de Cerca" -> + .

Indicamos o tipo (por exemplo, ilo4 deve ser especificado para o iLO5), o nome / endereço da interface ipmi e o nome de usuário / senha. É recomendável que você crie um usuário separado (por exemplo, oVirt-PM) e, no caso do iLO, conceda a ele privilégios:

  • Conecte-se
  • Console remoto
  • Energia virtual e redefinição
  • Mídia virtual
  • Definir configurações do iLO
  • Administrar contas de usuário

Não pergunte o porquê, é escolhido empiricamente. O agente de esgrima do console requer um conjunto menor de direitos.

Ao configurar as listas de controle de acesso, lembre-se de que o agente não executa no mecanismo, mas no host "vizinho" (o chamado Proxy de Gerenciamento de Energia), ou seja, se houver apenas um nó no cluster, o gerenciamento de energia não funcionará .


Configuração SSL


As instruções oficiais completas estão na documentação , Apêndice D: oVirt e SSL - Substituindo o Certificado SSL / TLS do oVirt Engine.

O certificado pode ser da nossa CA corporativa ou de uma autoridade de certificação comercial externa.

Nota importante: o certificado foi projetado para conectar-se ao gerente, não afetará a interação entre o Engine e os nós - eles usarão certificados autoassinados emitidos pelo Engine.

Requisitos:

  • certificado da CA de emissão no formato PEM, com toda a cadeia para a CA raiz (do emissor subordinado no início até a raiz no final);
  • Certificado Apache emitido pela CA de emissão (também complementado por toda a cadeia de certificados da CA)
  • chave privada para Apache, sem senha.

Suponha que nossa autoridade de certificação de publicação esteja executando o CentOS, chamado subca.example.com, e os pedidos, chaves e certificados estejam localizados no diretório / etc / pki / tls /.

Realizamos backups e criamos um diretório temporário:

$ sudo cp /etc/pki/ovirt-engine/keys/apache.key.nopass /etc/pki/ovirt-engine/keys/apache.key.nopass.`date +%F`
$ sudo cp /etc/pki/ovirt-engine/certs/apache.cer /etc/pki/ovirt-engine/certs/apache.cer.`date +%F`
$ sudo mkdir /opt/certs
$ sudo chown mgmt.mgmt /opt/certs

Faça o download de certificados, execute-o em nossa estação de trabalho ou transfira-o de outra maneira conveniente:

[myuser@mydesktop] $ scp -3 causer@subca.example.com:/etc/pki/tls/cachain.pem mgmt@ovirt.example.com:/opt/certs
[myuser@mydesktop] $ scp -3 causer@subca.example.com:/etc/pki/tls/private/ovirt.key mgmt@ovirt.example.com:/opt/certs
[myuser@mydesktop] $ scp -3 causer@subca.example.com/etc/pki/tls/certs/ovirt.crt mgmt@ovirt.example.com:/opt/certs

Como resultado, você deverá ver todos os 3 arquivos:

$ ls /opt/certs
cachain.pem  ovirt.crt  ovirt.key

Instalação de certificado


Copiamos arquivos e atualizamos listas de confiança:

$ sudo cp /opt/certs/cachain.pem /etc/pki/ca-trust/source/anchors
$ sudo update-ca-trust
$ sudo rm /etc/pki/ovirt-engine/apache-ca.pem
$ sudo cp /opt/certs/cachain.pem /etc/pki/ovirt-engine/apache-ca.pem
$ sudo cp /opt/certs/ovirt03.key /etc/pki/ovirt-engine/keys/apache.key.nopass
$ sudo cp /opt/certs/ovirt03.crt /etc/pki/ovirt-engine/certs/apache.cer
$ sudo systemctl restart httpd.service

Adicionar / atualizar arquivos de configuração:

$ sudo vim /etc/ovirt-engine/engine.conf.d/99-custom-truststore.conf

ENGINE_HTTPS_PKI_TRUST_STORE="/etc/pki/java/cacerts"
ENGINE_HTTPS_PKI_TRUST_STORE_PASSWORD=""

$ sudo vim /etc/ovirt-engine/ovirt-websocket-proxy.conf.d/10-setup.conf

SSL_CERTIFICATE=/etc/pki/ovirt-engine/certs/apache.cer
SSL_KEY=/etc/pki/ovirt-engine/keys/apache.key.nopass

$ sudo vim /etc/ovirt-imageio-proxy/ovirt-imageio-proxy.conf

# Key file for SSL connections
ssl_key_file = /etc/pki/ovirt-engine/keys/apache.key.nopass
# Certificate file for SSL connections
ssl_cert_file = /etc/pki/ovirt-engine/certs/apache.cer

Em seguida, reiniciaremos todos os serviços afetados:

$ sudo systemctl restart ovirt-provider-ovn.service
$ sudo systemctl restart ovirt-imageio-proxy
$ sudo systemctl restart ovirt-websocket-proxy
$ sudo systemctl restart ovirt-engine.service

Feito! É hora de conectar-se ao gerente e verificar se a conexão está protegida por um certificado SSL assinado.


Arquivamento


Onde sem ela! Nesta seção, discutiremos o arquivamento do gerente; o arquivamento da VM é um problema separado. Vamos fazer cópias de arquivo uma vez por dia e colocá-las no NFS, por exemplo, no mesmo sistema em que colocamos as imagens ISO - mynfs01.example.com:/exports/ovirt-backup. Não é recomendável armazenar arquivos na mesma máquina em que o Engine está sendo executado.

Instale e ative autofs:

$ sudo yum install autofs
$ sudo systemctl enable autofs
$ sudo systemctl start autofs

Crie um script:

$ sudo vim /etc/cron.daily/make.oVirt.backup.sh

o seguinte conteúdo:

#!/bin/bash

datetime=`date +"%F.%R"`
backupdir="/net/mynfs01.example.com/exports/ovirt-backup"
filename="$backupdir/`hostname --short`.`date +"%F.%R"`"
engine-backup --mode=backup --scope=all --file=$filename.data --log=$filename.log
#uncomment next line for autodelete files older 30 days 
#find $backupdir -type f -mtime +30 -exec rm -f {} \;

Tornamos o arquivo executável:

$ sudo chmod a+x /etc/cron.daily/make.oVirt.backup.sh

Agora, todas as noites, receberemos o arquivo de configurações do gerente.


Interface de Gerenciamento de Host


Cockpit é uma interface administrativa moderna para sistemas Linux. Nesse caso, ele desempenha um papel próximo à interface da web ESXi.

imagem
FIG. 3 - aparência do painel.

Ele é instalado de maneira muito simples, você precisa de pacotes do cockpit e do plug-in cockpit-ovirt-dashboard:

$ sudo yum install cockpit cockpit-ovirt-dashboard -y

Ativando o Cockpit:

$ sudo systemctl enable --now cockpit.socket

Configuração do firewall:

sudo firewall-cmd --add-service=cockpit
sudo firewall-cmd --add-service=cockpit --permanent

Agora você pode se conectar ao host: https: // [IP do host ou FQDN]: 9090


VLANs


Leia mais sobre redes na documentação . Existem muitas possibilidades, aqui descrevemos a conexão de redes virtuais.

Para conectar outras sub-redes, elas devem ser primeiro descritas na configuração: Rede -> Redes -> Novo, aqui apenas o nome é um campo obrigatório; a caixa de seleção Rede da VM, que permite que as máquinas usem essa rede, está ativada e, para conectar a tag, ative a opção Ativar marcação de VLAN , digite o número da VLAN e clique em OK.

Agora você precisa ir para os hosts Compute -> Hosts -> kvmNN -> Network Interfaces -> Setup Host Networks. Arraste a rede adicionada do lado direito das Redes lógicas não atribuídas para a esquerda em Redes lógicas atribuídas:


Fig. 4 - antes de adicionar uma rede.


FIG. 5 - depois de adicionar uma rede.

Para conectar várias redes ao host em massa, é conveniente atribuir um rótulo a elas ao criar redes e adicionar redes por rótulos.

Após a criação da rede, os hosts entrarão no estado Não Operacional até que a rede seja adicionada a todos os nós do cluster. Esse comportamento é causado pelo sinalizador Exigir tudo na guia Cluster ao criar uma nova rede. No caso em que a rede não é necessária em todos os nós do cluster, esse sintoma pode ser desativado; a rede, quando adicionada ao host, estará à direita na seção Não Necessária, e você poderá optar por conectá-la a um host específico.


FIG. 6 - seleção de um sinal de um requisito de rede.


HPE específico


Quase todos os fabricantes têm ferramentas que aumentam a usabilidade de seus produtos. Usando o exemplo da HPE, são úteis o AMS (Agentless Management Service, amsd para iLO5, hp-ams para iLO4) e SSA (Smart Storage Administrator, trabalhando com um controlador de disco), etc.

Conectar o repositório HPE
HPE:

$ sudo rpm --import https://downloads.linux.hpe.com/SDR/hpePublicKey2048_key1.pub
$ sudo vim /etc/yum.repos.d/mcp.repo

:

[mcp]
name=Management Component Pack
baseurl=http://downloads.linux.hpe.com/repo/mcp/centos/$releasever/$basearch/current/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/GPG-KEY-mcp

[spp]
name=Service Pack for ProLiant
baseurl=http://downloads.linux.hpe.com/SDR/repo/spp/RHEL/$releasever/$basearch/current/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/GPG-KEY-mcp

():

$ sudo yum --disablerepo="*" --enablerepo="mcp" list available
$ yum info amsd


Instalação e lançamento:

$ sudo yum install amsd ssacli
$ sudo systemctl start amsd

Um exemplo de um utilitário de controlador de disco


É tudo por agora. Nos artigos a seguir, pretendo contar algumas operações e aplicativos básicos. Por exemplo, como criar VDI no oVirt.

All Articles