oVirt em 2 horas. Parte 3. Configurações adicionais

Neste artigo, veremos uma série de configurações opcionais, mas úteis:

Este artigo é uma continuação, veja oVirt em 2 horas para começar Часть 1 и parte 2.

Artigos

  1. Introdução
  2. Instalando o gerenciador (ovirt-engine) e hipervisores (hosts)
  3. Configurações adicionais - estamos aqui

Configurações adicionais do gerenciador

Por conveniência, instalaremos pacotes adicionais:

$ sudo yum install bash-completion vim

Para habilitar a conclusão do comando, a conclusão do bash requer a mudança para o bash.

Adicionando nomes DNS adicionais

Isso será necessário quando você precisar se conectar ao gerenciador usando um nome alternativo (CNAME, alias ou apenas um nome curto sem sufixo de domínio). Por motivos de segurança, o gerenciador permite conexões apenas utilizando 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

Configurando autenticação via AD

oVirt possui uma base de usuários integrada, mas provedores LDAP externos também são suportados, incl. 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

Um exemplo de trabalho de mestrado
$ sudo ovirt-engine-extension-aaa-ldap-setup
Implementações LDAP disponíveis:
...
3 - Diretório Ativo
...
Por favor selecione: 3
Insira o nome da floresta do Active Directory: example.com

Selecione o protocolo a ser usado (startTLS, ldaps, plain) [iniciarTLS]:
Selecione o método para obter o certificado CA codificado em PEM (Arquivo, URL, Inline, Sistema, Inseguro): URL
URL: wwwca.example.com/myRootCA.pem
Insira o DN do usuário de pesquisa (por exemplo uid=username,dc=example,dc=com ou deixe em branco para anônimo): CN=oVirt-Engine,CN=Usuários,DC=exemplo,DC=com
Digite a senha do usuário de pesquisa: *senha*
[ INFO ] Tentativa de ligação usando 'CN=oVirt-Engine,CN=Users,DC=example,DC=com'
Você usará o logon único para máquinas virtuais (sim, não) [Sim]:
Especifique o nome do perfil que ficará visível para os usuários [exemplo.com]:
Forneça credenciais para testar o fluxo de login:
Insira nome de usuário: algumAnyUser
Digite a senha do usuário:
...
[INFO] Sequência de login executada com sucesso
...
Selecione a sequência de teste a ser executada (Concluído, Abortar, Login, Pesquisa) [Feito]:
[INFO] Etapa: Configuração da transação
...
RESUMO DA CONFIGURAÇÃO
...

Usar o assistente é adequado para a maioria dos casos. Para configurações complexas, as configurações são realizadas manualmente. Mais detalhes na documentação do oVirt, Usuários e Funções. Após conectar com sucesso o Engine ao AD, um perfil adicional aparecerá na janela de conexão e na aba Permissões Os objetos do sistema têm a capacidade de conceder permissões a usuários e grupos do AD. Ressalta-se que o diretório externo de usuários e grupos pode ser não apenas AD, mas também IPA, eDirectory, etc.

Caminhos múltiplos

Em um ambiente de produção, o sistema de armazenamento deve estar conectado ao host por meio de vários caminhos de E/S independentes. Como regra, no CentOS (e, portanto, no oVirt) não há problemas com a montagem de vários caminhos para um dispositivo (find_multipaths sim). Configurações adicionais para FCoE estão escritas em Parte 2. Vale a pena prestar atenção à recomendação do fabricante do sistema de armazenamento - muitos recomendam o uso da política round-robin, mas o tempo de serviço é usado por padrão no Enterprise Linux 7.

Usando 3PAR como exemplo
e documento Guia de implementação do servidor HPE 3PAR Red Hat Enterprise Linux, CentOS Linux, Oracle Linux e OracleVM EL é criado como um Host com Generic-ALUA Persona 2, para o qual os seguintes valores são inseridos nas configurações /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"
                 }
}

Após o qual o comando para reiniciar é dado:

systemctl restart multipathd

oVirt em 2 horas. Parte 3. Configurações adicionais
Arroz. 1 é a política de E/S múltipla padrão.

oVirt em 2 horas. Parte 3. Configurações adicionais
Arroz. 2 - política de E/S múltipla após aplicar configurações.

Configurando o gerenciamento de energia

Permite realizar, por exemplo, um reset de hardware da máquina caso o Engine não consiga receber uma resposta do Host por um longo período. Implementado através do Fence Agent.

Computar -> Hosts -> HOST — Editar -> Gerenciamento de Energia, então habilite “Ativar Gerenciamento de Energia” e adicione um agente — “Adicionar Agente Fence” -> +.

Indicamos o tipo (por exemplo, para iLO5 você precisa especificar ilo4), o nome/endereço da interface ipmi, bem como o nome de usuário/senha. Recomenda-se criar um usuário separado (por exemplo, oVirt-PM) e, no caso do iLO, conceder-lhe privilégios:

  • Entrar
  • Console remoto
  • Alimentação virtual e reinicialização
  • Mídia Virtual
  • Definir configurações do iLO
  • Administrar contas de usuário

Não pergunte por que isso acontece, foi escolhido empiricamente. O agente de isolamento do console requer menos direitos.

Ao configurar listas de controle de acesso, você deve ter em mente que o agente não é executado no mecanismo, mas em um host “vizinho” (o chamado Power Management Proxy), ou seja, se houver apenas um nó no cluster, o gerenciamento de energia funcionará não vai.

Configurando SSL

Instruções oficiais completas - em documentação, Apêndice D: oVirt e SSL — Substituindo o certificado SSL/TLS do oVirt Engine.

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

Nota importante: O certificado é destinado à conexão com o gerenciador e não afetará a comunicação entre o Engine e os nós - eles utilizarão certificados autoassinados emitidos pelo Engine.

Requisitos:

  • certificado da CA emissora em formato PEM, com toda a cadeia até a CA raiz (da CA emissora subordinada no início até a raiz no final);
  • um certificado para Apache emitido pela CA emissora (também complementado por toda a cadeia de certificados da CA);
  • chave privada para Apache, sem senha.

Vamos supor que nossa CA emissora esteja executando o CentOS, chamado subca.example.com, e as solicitações, 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

Baixe certificados, faça-o em sua estação de trabalho ou transfira-o de outra forma conveniente:

[myuser@mydesktop] $ scp -3 [email protected]:/etc/pki/tls/cachain.pem [email protected]:/opt/certs
[myuser@mydesktop] $ scp -3 [email protected]:/etc/pki/tls/private/ovirt.key [email protected]:/opt/certs
[myuser@mydesktop] $ scp -3 [email protected]/etc/pki/tls/certs/ovirt.crt [email protected]:/opt/certs

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

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

Instalando certificados

Copie os arquivos e atualize as listas confiáveis:

$ 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, reinicie 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

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

Arquivamento

Onde estaríamos sem ela? Nesta seção falaremos sobre o arquivamento do gerenciador; o arquivamento da VM é um assunto separado. Faremos cópias de arquivo uma vez por dia e as armazenaremos via NFS, por exemplo, no mesmo sistema onde colocamos as imagens ISO - mynfs1.example.com:/exports/ovirt-backup. Não é recomendado armazenar arquivos na mesma máquina onde o Engine está rodando.

Instale e ative o autofs:

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

Vamos criar 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 {} ;

Tornando o arquivo executável:

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

Agora, todas as noites receberemos um arquivo de configurações do gerenciador.

Interface de gerenciamento de host

Cabine do piloto — uma interface administrativa moderna para sistemas Linux. Nesse caso, ele desempenha uma função semelhante à interface web ESXi.

oVirt em 2 horas. Parte 3. Configurações adicionais
Arroz. 3 — aparência do painel.

A instalação é muito simples, você precisa dos pacotes cockpit e do plugin 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://[Host IP ou FQDN]:9090

VLANs

Você deveria ler mais sobre redes em documentação. Existem muitas possibilidades, aqui descreveremos a conexão de redes virtuais.

Para conectar outras sub-redes, elas devem primeiro ser descritas na configuração: Rede -> Redes -> Nova, aqui apenas o nome é um campo obrigatório; A caixa de seleção VM Network, que permite que as máquinas usem esta rede, está habilitada, mas para conectar a tag deve estar habilitada Habilitar marcação de VLAN, insira o número da VLAN e clique em OK.

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

oVirt em 2 horas. Parte 3. Configurações adicionais
Arroz. 4 - antes de adicionar uma rede.

oVirt em 2 horas. Parte 3. Configurações adicionais
Arroz. 5 - após adicionar uma rede.

Para conectar múltiplas redes a um host em massa, é conveniente atribuir rótulo(s) a elas ao criar redes e adicionar redes por rótulos.

Depois que a rede for criada, 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. Caso a rede não seja necessária em todos os nós do cluster, este sinalizador pode ser desabilitado, então quando a rede for adicionada a um host, ela estará à direita na seção Não Obrigatório e você poderá escolher se deseja conectar para um host específico.

oVirt em 2 horas. Parte 3. Configurações adicionais
Arroz. 6 — selecione um atributo de requisito de rede.

Específico da HPE

Quase todos os fabricantes possuem ferramentas que melhoram a usabilidade de seus produtos. Usando HPE como exemplo, 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
Importamos a chave e conectamos os repositórios HPE:

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

o seguinte conteúdo:

[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

Veja o conteúdo do repositório e informações do pacote (para referência):

$ 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 utilitário para trabalhar com um controlador de disco
oVirt em 2 horas. Parte 3. Configurações adicionais

É tudo por agora. Nos artigos a seguir pretendo falar sobre algumas operações e aplicações básicas. Por exemplo, como fazer VDI no oVirt.

Fonte: habr.com