oVirt em 2 horas. Parte 2. Instalação do gerenciador e hosts

Este artigo é o seguinte na série sobre oVirt, introdução aqui.

Artigos

  1. Introdução
  2. Instalação do gerenciador (ovirt-engine) e hipervisores (hosts) — Estamos aqui
  3. Configurações adicionais

Assim, vamos abordar as questões da instalação inicial dos componentes ovirt-engine e ovirt-host.

Os processos de instalação podem ser visualizados em mais detalhes em documentação.

Conteúdo

  1. Instalação do ovirt-engine
  2. Instalação do ovirt-host
  3. Adicionando nó ao oVirt
  4. Configuração da interface de rede
  5. Configuração FC
  6. Configuração FCoE
  7. Armazenamento de imagens ISO
  8. Primeira VM

Instalação do ovirt-engine

Para o Engine, os requisitos mínimos são 2 núcleos/4 GiB de RAM/25 GiB de armazenamento. Os recomendados são a partir de 4 núcleos/16 GiB de RAM/50 GiB de armazenamento. Utilizamos a opção Standalone Manager, onde o engine opera em uma máquina física ou virtual dedicada fora do cluster gerenciado. Para nossa instalação, consideramos uma máquina virtual, por exemplo, em um ESXi* isolado. É conveniente usar ferramentas de automação de implantação ou clonagem de um modelo previamente preparado ou instalação kickstart.

*Nota: para um sistema de produção, isso não é uma boa ideia, pois o gerenciador opera sem reserva e se torna um ponto único de falha. Nesse caso, é melhor considerar a opção Self-hosted Engine.

Se necessário, o procedimento de conversão de Standalone para Self Hosted está detalhado em documentação. Especificamente, o host precisa receber o comando reinstall com suporte para Hosted Engine.

Na VM, instalamos o CentOS 7 em configuração mínima, em seguida, atualizamos e reiniciamos o sistema:

$ sudo yum update -y && sudo reboot

Para a máquina virtual, é útil instalar o agente convidado:

$ sudo yum install open-vm-tools

para hosts VMware ESXi, ou para o oVirt:

$ sudo yum install ovirt-guest-agent

Conectamos o repositório e instalamos o gerenciador:

$ sudo yum install https://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm
$ sudo yum install ovirt-engine

Configuração básica:

$ sudo engine-setup

Na maioria dos casos, as configurações padrão são suficientes, e para usá-las automaticamente, podemos iniciar a configuração com a chave:

$ sudo engine-setup --accept-defaults

Agora podemos nos conectar ao nosso novo engine no endereço ovirt.lab.example.com. Aqui ainda está vazio, então vamos para a instalação dos hipervisores.

Instalação do ovirt-host

No host físico, instalamos o CentOS 7 em configuração mínima, em seguida, conectamos o repositório, atualizamos e reiniciamos o sistema:

$ sudo yum install https://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm
$ sudo yum update -y && sudo reboot

Nota: para a instalação, é conveniente usar ferramentas de automação de implantação ou instalação kickstart.

Exemplo de arquivo kickstart
Atenção! As partições existentes são removidas automaticamente! Tenha cuidado!

# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us','ru' --switch='grp:alt_shift_toggle'
# System language
lang ru_RU.UTF-8

# Network information
network  --bootproto=dhcp --device=ens192 --ipv6=auto --activate
network  --hostname=kvm01.lab.example.com

# Root password 'monteV1DE0'
rootpw --iscrypted $6$6oPcf0GW9VdmJe5w$6WBucrUPRdCAP.aBVnUfvaEu9ozkXq9M1TXiwOm41Y58DEerG8b3Ulme2YtxAgNHr6DGIJ02eFgVuEmYsOo7./
# User password 'metroP0!is'
user --name=mgmt --groups=wheel --iscrypted --password=$6$883g2lyXdkDLbKYR$B3yWx1aQZmYYi.aO10W2Bvw0Jpkl1upzgjhZr6lmITTrGaPupa5iC3kZAOvwDonZ/6ogNJe/59GN5U8Okp.qx.
# System services
services --enabled="chronyd"
# System timezone
timezone Europe/Moscow --isUtc
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype xfs --size=1024 --ondisk=sda  --label=boot
part pv.01 --size=45056 --grow
volgroup HostVG pv.01 --reserved-percent=20
logvol swap --vgname=HostVG --name=lv_swap --fstype=swap --recommended
logvol none --vgname=HostVG --name=HostPool --thinpool --size=40960 --grow
logvol / --vgname=HostVG --name=lv_root --thin --fstype=ext4 --label="root" --poolname=HostPool --fsoptions="defaults,discard" --size=6144 --grow
logvol /var --vgname=HostVG --name=lv_var --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=16536
logvol /var/crash --vgname=HostVG --name=lv_var_crash --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=10240
logvol /var/log --vgname=HostVG --name=lv_var_log --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=8192
logvol /var/log/audit --vgname=HostVG --name=lv_var_audit --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=2048
logvol /home --vgname=HostVG --name=lv_home --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=1024
logvol /tmp --vgname=HostVG --name=lv_tmp --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=1024

%packages
@^minimal
@core
chrony
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
# Reboot when the install is finished.
reboot --eject

Salve este arquivo, por exemplo, em ftp.example.com/pub/labkvm.cfg. Para usar o script ao iniciar a instalação do SO, selecione a opção ‘Install CentOS 7’, ative o modo de edição de parâmetros (tecla Tab) e, no final (com um espaço, sem aspas), adicione

' inst.ks=ftp://ftp.example.com/pub/labkvm.cfg'

.
O script de instalação remove as partições existentes em /dev/sda, cria novas conforme as recomendações do desenvolvedor (para visualizá-las após a instalação, use o comando lsblk). O nome do host é definido como kvm01.lab.example.com (após a instalação, pode ser alterado com o comando hostnamectl set-hostname kvm03.lab.example.com), o endereço IP é obtido automaticamente, o fuso horário é o de Moscovo, e o suporte ao idioma russo foi adicionado.

Senha do usuário root: monteV1DE0, senha do usuário mgmt: metroP0!is.
Atenção! As partições existentes são removidas automaticamente! Tenha cuidado!

Repita (ou execute em paralelo) em todos os hosts. Desde a ativação do servidor 'vazio' até o estado pronto, levando em conta 2 longos carregamentos, requer cerca de 20 minutos.

Adicionando o nó ao oVirt

É feito de forma muito simples:

Compute → Hosts → New →…

No assistente, os campos obrigatórios são Name (nome exibido, por exemplo, kvm03), Hostname (FQDN, por exemplo, kvm03.lab.example.com) e a seção Authentication — usuário root (inalterável) — senha ou SSH Public Key.

Após clicar no botão Ok Você receberá uma mensagem «You haven’t configured Power Management for this Host. Are you sure you want to continue?». Isso é normal — a gestão de energia será abordada depois, após a conexão bem-sucedida do host. No entanto, se as máquinas em que os hosts estão instalados não suportarem gerenciamento (IPMI, iLO, DRAC, etc.), recomendo desativá-lo: Compute → Clusters → Default → Edit → Fencing Policy → Enable fencing, desmarque a caixa.

Se o repositório oVirt não estiver conectado ao host, a instalação falhará, mas não se preocupe — você precisará adicioná-lo, depois pressione Instalar → Reinstalar.

A conexão do host leva no máximo 5-10 minutos.

Configuração da interface de rede

Como estamos construindo um sistema de alta disponibilidade, a conexão de rede também deve fornecer uma conexão redundante, que é realizada na aba Compute → Hosts → HOST → Network Interfaces — Configurar Redes do Host.

Dependendo das capacidades do seu equipamento de rede e das abordagens arquitetônicas, existem várias opções. O ideal é se conectar ao conjunto de switches top-of-rack, para que a disponibilidade da rede não seja interrompida em caso de falha de um deles. Vamos considerar o exemplo de um canal agregado LACP. Para configurar o canal agregado, 'pegue' com o mouse o segundo adaptador não utilizado e 'arraste' para o primeiro. Uma janela se abrirá Criar Novo Bond, onde LACP (Modo 4, agregação dinâmica de links, 802.3ad) é selecionado por padrão. No lado dos switches, a configuração normal do grupo LACP é realizada. Se não for possível construir um stack de switches, pode-se usar o modo Active-Backup (Modo 1). As configurações de VLAN serão abordadas no próximo artigo, enquanto as recomendações sobre configuração de rede podem ser encontradas no documento Guia de Planejamento e Pré-requisitos.

Configuração FC

Fibre Channel (FC) é suportado 'out of the box', e seu uso não apresenta dificuldades. A configuração da rede de armazenamento, incluindo a configuração dos sistemas de armazenamento e o zoneamento dos switches fabric no contexto de configuração do oVirt, não será abordada.

Configuração FCoE

Na minha opinião, o FCoE ainda não ganhou ampla adoção em redes de armazenamento, mas é frequentemente utilizado em servidores como 'última milha', por exemplo, no HPE Virtual Connect.

A configuração do FCoE requer passos adicionais que não são complicados.

Configurar o Engine FCoE

Artigo no site da Red Hat B.3. Como Configurar o Gerenciador de Virtualização Red Hat para Usar FCoE
No Gerenciador
, a próxima comando adiciona a chave ao gerenciador e o reinicia:


$ sudo engine-config -s UserDefinedNetworkCustomProperties='fcoe=^((enable|dcb|auto_vlan)=(yes|no),?)*$'
$ sudo systemctl restart ovirt-engine.service

Configurar Node FCoE

Nos Hosts oVirt, é necessário instalar

$ sudo yum install vdsm-hook-fcoe

Em seguida, a configuração normal do FCoE, artigo da Red Hat: 25.5. Configurando uma Interface de Fibre Channel sobre Ethernet.

Para o CNA da Broadcom, consulte também Guia do Usuário para Configuração FCoE para Adaptadores Baseados em Broadcom.

Certifique-se de que os pacotes estejam instalados (já vêm na versão mínima):

$ sudo yum install fcoe-utils lldpad

Em seguida, a configuração em si (substitua ens3f2 e ens3f3 pelos nomes do CNA conectados à rede de armazenamento):

$ sudo cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-ens3f2
$ sudo cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-ens3f3
$ sudo vim /etc/fcoe/cfg-ens3f2
$ sudo vim /etc/fcoe/cfg-ens3f3

Importante: se a interface de rede suportar hardware DCB/DCBX, o parâmetro DCB_REQUIRED deve ser definido como no.

DCB_REQUIRED='yes' → #DCB_REQUIRED='yes'

Em seguida, deve-se garantir que o adminStatus esteja desativado em todas as interfaces, incluindo aquelas sem o FCoE ativado:

$ sudo lldptool set-lldp -i ens3f0 adminStatus=disabled
...
$ sudo lldptool set-lldp -i ens3f3 adminStatus=disabled

Se houver outras interfaces de rede, você pode ativar o LLDP:

$ sudo systemctl start lldpad
$ sudo systemctl enable lldpad

Como mencionado anteriormente, se o DCB/DCBX de hardware estiver em uso, a configuração DCB_REQUIRED deve estar ativada em não e este passo pode ser pulado.

$ sudo dcbtool sc ens3f2 dcb on
$ sudo dcbtool sc ens3f3 dcb on
$ sudo dcbtool sc ens3f2 app:fcoe e:1
$ sudo dcbtool sc ens3f3 app:fcoe e:1
$ sudo ip link set dev ens3f2 up
$ sudo ip link set dev ens3f3 up
$ sudo systemctl start fcoe
$ sudo systemctl enable fcoe

Para as interfaces de rede, verifique se a inicialização automática está ativada:

$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens3f2
$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens3f3

ONBOOT=yes

Verifique as interfaces FCoE configuradas, a saída do comando não deve estar vazia.

$ sudo fcoeadm -i

A configuração subsequente do FCoE é feita da mesma forma que para o FC normal.

Em seguida, deve-se configurar os sistemas e a rede de armazenamento — zoneamento, hosts SAN, criação e apresentação de volumes/LUNs, após o que o armazenamento pode ser conectado aos hosts ovirt: Storage → Domains → New Domain.

A Função do Domínio deve permanecer como Data, Tipo de Armazenamento — Fibre Channel, Host — qualquer um, nome — por exemplo, storNN-volMM.

Certamente, seu sistema de armazenamento permite não apenas o balanceamento de caminhos, mas também a reserva de caminhos. Muitos sistemas modernos conseguem transmitir dados por todos os caminhos de forma igualmente otimizada (ALUA ativo/ativo).

Para ativar todos os caminhos, é necessário configurar o multipathing, sobre o que falaremos em artigos seguintes.

A configuração do NFS e do iSCSI é realizada de maneira similar.

Armazenamento de imagens ISO

Para instalar o sistema operacional, você precisará de seus arquivos de instalação, geralmente disponíveis na forma de imagens ISO. É possível usar o caminho embutido, mas para trabalhar com as imagens no oVirt, foi desenvolvido um tipo especial de armazenamento — ISO, que pode ser direcionado a um servidor NFS. Adicionamos isso:

Storage → Domains → New Domain,
Função do Domínio → ISO,
Caminho de Exportação — por exemplo, mynfs01.example.com:/exports/ovirt-iso (no momento da conexão, a pasta deve estar vazia e o gerenciador deve ter permissão para gravar nela),
Nome — por exemplo, mynfs01-iso.

Para armazenar as imagens, o gerenciador criará uma estrutura
/exports/ovirt-iso/<some UUID>/images/11111111-1111-1111-1111-111111111111/

Se já houver imagens ISO em nosso servidor NFS, para economizar espaço, é conveniente criar links em vez de copiar os arquivos para essa pasta.

Primeira VM

Nesta etapa, já é possível criar a primeira máquina virtual, instalar o sistema operacional e o software aplicativo.

Compute → Virtual Machines → New

Para a nova máquina, especifique o nome (Name), crie o disco (Instance Images → Create) e conecte a interface de rede (Instantiate VM network interfaces by picking a vNIC profile → selecione da lista o único ovirtmgmt por enquanto).

Do lado do cliente, um navegador moderno é necessário e o cliente SPICE para interagir com o console.

O primeiro servidor foi iniciado com sucesso. No entanto, para um funcionamento mais completo do sistema, é necessário realizar uma série de configurações adicionais, sobre as quais continuaremos nas próximas matérias.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster