Este artigo é o seguinte na série sobre oVirt, introdução .
Artigos
- Instalação do gerenciador (ovirt-engine) e hipervisores (hosts) — Estamos aqui
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 .
Conteúdo
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 . 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 rebootPara a máquina virtual, é útil instalar o agente convidado:
$ sudo yum install open-vm-toolspara hosts VMware ESXi, ou para o oVirt:
$ sudo yum install ovirt-guest-agentConectamos 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-setupNa 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 . 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 . 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 (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 .
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 , 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-fcoeEm seguida, a configuração normal do FCoE, artigo da Red Hat: .
Para o CNA da Broadcom, consulte também .
Certifique-se de que os pacotes estejam instalados (já vêm na versão mínima):
$ sudo yum install fcoe-utils lldpadEm 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=yesVerifique as interfaces FCoE configuradas, a saída do comando não deve estar vazia.
$ sudo fcoeadm -iA 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 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
