Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Este artigo é uma continuação do anterior - “Criação de uma infraestrutura de TI tolerante a falhas. Parte 1 – preparando-se para implantar um cluster oVirt 4.3".

Abordará o processo de instalação e configuração básica de um cluster oVirt 4.3 para alojamento de máquinas virtuais de alta disponibilidade, tendo em conta que todas as etapas preliminares de preparação da infraestrutura já foram concluídas anteriormente.

Parte introdutória

O objetivo principal do artigo é fornecer instruções passo a passo como “Próximo -> Sim -> Acabamento"como mostrar alguns recursos ao instalá-lo e configurá-lo. O processo de implantação do seu cluster pode nem sempre coincidir com o nele descrito, devido às características da infraestrutura e do ambiente, mas os princípios gerais serão os mesmos.

Do ponto de vista subjetivo, oVirt 4.3 sua funcionalidade é semelhante ao VMware vSphere versão 5.x, mas é claro com recursos próprios de configuração e operação.

Para os interessados, todas as diferenças entre RHEV (também conhecido como oVirt) e VMware vSphere podem ser encontradas na Internet, por exemplo aqui, mas ainda observarei ocasionalmente algumas de suas diferenças ou semelhanças entre si à medida que o artigo avança.

Separadamente, gostaria de comparar um pouco o trabalho com redes para máquinas virtuais. oVirt implementa um princípio semelhante de gerenciamento de rede para máquinas virtuais (doravante denominadas VMs), como no VMware vSphere:

  • usando uma ponte Linux padrão (em VMware - vSwitch padrão), rodando em hosts de virtualização;
  • usando Open vSwitch (OVS) (em VMware - vSwitch distribuído) é um switch virtual distribuído que consiste em dois componentes principais: um servidor OVN central e controladores OVN em hosts gerenciados.

Deve-se observar que devido à facilidade de implementação, o artigo descreverá a configuração de redes no oVirt para uma VM usando uma ponte Linux padrão, que é a escolha padrão ao usar o hipervisor KVM.

Nesse sentido, existem várias regras básicas para trabalhar com a rede em um cluster, que é melhor não violar:

  • Todas as configurações de rede nos hosts antes de adicioná-los ao oVirt devem ser idênticas, exceto os endereços IP.
  • Depois que um host estiver sob o controle do oVirt, não é altamente recomendável alterar nada manualmente nas configurações de rede sem total confiança em suas ações, uma vez que o agente oVirt irá simplesmente revertê-los para os anteriores após reiniciar o host ou agente.
  • Adicionar uma nova rede para uma VM, bem como trabalhar com ela, só deve ser feito a partir do console de gerenciamento oVirt.

Mais um nota importante — para um ambiente muito crítico (muito sensível a perdas monetárias), ainda seria recomendado usar suporte pago e usar Virtualização Red Hat 4.3. Durante a operação do cluster oVirt, podem surgir alguns problemas para os quais é aconselhável receber ajuda qualificada o mais rápido possível, em vez de resolvê-los você mesmo.

E finalmente recomendado Antes de implantar um cluster oVirt, familiarize-se com documentação oficial, para conhecer pelo menos os conceitos e definições básicos, caso contrário será um pouco difícil ler o restante do artigo.

Básicos para a compreensão do artigo e dos princípios de operação do cluster oVirt são estes documentos de orientação:

O volume lá não é muito grande, em uma ou duas horas você consegue dominar bastante os princípios básicos, mas para quem gosta de detalhes é recomendável ler Documentação do produto para Red Hat Virtualization 4.3 — RHEV e oVirt são essencialmente a mesma coisa.

Assim, se todas as configurações básicas dos hosts, switches e sistemas de armazenamento foram concluídas, procedemos diretamente à implantação do oVirt.

Parte 2. Instalando e configurando o cluster oVirt 4.3

Para facilitar a orientação, listarei as principais seções deste artigo, que devem ser preenchidas uma por uma:

  1. Instalando o servidor de gerenciamento oVirt
  2. Criação de um novo data center
  3. Criando um novo cluster
  4. Instalando hosts adicionais em um ambiente auto-hospedado
  5. Criando uma área de armazenamento ou Domínios de Armazenamento
  6. Criando e configurando redes para máquinas virtuais
  7. Criando uma imagem de instalação para implementar uma máquina virtual
  8. Criar uma máquina virtual

Instalando o servidor de gerenciamento oVirt

Servidor de gerenciamento oVirt é o elemento mais importante na infraestrutura oVirt, na forma de uma máquina virtual, host ou dispositivo virtual que gerencia toda a infraestrutura oVirt.

Seus análogos próximos do mundo da virtualização são:

  • VMware vSphere - vCenter Server
  • Microsoft Hyper-V - System Center Virtual Machine Manager (VMM).

Para instalar o servidor de gerenciamento oVirt, temos duas opções:

opção 1
Implantar um servidor na forma de uma VM ou host especializado.

Esta opção funciona muito bem, mas desde que tal VM opere independentemente do cluster, ou seja, não está sendo executado em nenhum host de cluster como uma máquina virtual normal executando KVM.

Por que tal VM não pode ser implantada em hosts de cluster?

Bem no início do processo de implantação do servidor de gerenciamento oVirt, temos um dilema - precisamos instalar uma VM de gerenciamento, mas na verdade ainda não existe um cluster e, portanto, o que podemos fazer na hora? É isso mesmo - instale o KVM em um nó de cluster futuro e, em seguida, crie uma máquina virtual nele, por exemplo, com o sistema operacional CentOS e implante o mecanismo oVirt nele. Geralmente isso pode ser feito por razões de controle total sobre tal VM, mas esta é uma intenção equivocada, porque neste caso, no futuro, haverá 100% de problemas com tal VM de controle:

  • não pode ser migrado no console oVirt entre hosts (nós) do cluster;
  • ao migrar usando KVM via virsh migrar, esta VM não estará disponível para gerenciamento no console oVirt.
  • hosts de cluster não podem ser exibidos em O modo de manutenção (modo de manutenção), se você migrar esta VM de host para host usando virsh migrar.

Portanto, faça tudo de acordo com as regras - use um host separado para o servidor de gerenciamento oVirt ou uma VM independente em execução nele, ou melhor ainda, faça como está escrito na segunda opção.

opção 2
Instalando o oVirt Engine Appliance em um host de cluster gerenciado por ele.

É esta opção que será considerada mais correta e adequada no nosso caso.
Os requisitos para tal VM são descritos abaixo; acrescentarei apenas que é recomendado ter pelo menos dois hosts na infraestrutura nos quais a VM de controle possa ser executada para torná-la tolerante a falhas. Gostaria de acrescentar aqui que, como já escrevi nos comentários do artigo anterior, nunca consegui cérebro dividido em um cluster oVirt de dois hosts, com a capacidade de executar VMs de mecanismo hospedado neles.

Instalando o oVirt Engine Appliance no primeiro host do cluster

Link para a documentação oficial - Guia do mecanismo auto-hospedado oVirt, capítulo "Implantando o mecanismo auto-hospedado usando a linha de comando»

O documento especifica os pré-requisitos que devem ser atendidos antes de implantar uma VM com mecanismo hospedado e também descreve detalhadamente o processo de instalação em si, portanto, não faz sentido repeti-lo literalmente, por isso nos concentraremos em alguns detalhes importantes.

  • Antes de iniciar todas as ações, certifique-se de habilitar o suporte de virtualização nas configurações do BIOS no host.
  • Instale o pacote do instalador do mecanismo hospedado no host:

yum -y install http://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm 
yum -y install epel-release
yum install screen ovirt-hosted-engine-setup

  • Iniciamos o procedimento de implantação do oVirt Hosted Engine na tela do host (você pode sair dele via Ctrl-A + D, fechar via Ctrl-D):

screen
hosted-engine --deploy

Se desejar, você pode iniciar a instalação com um arquivo de resposta pré-preparado:

hosted-engine --deploy --config-append=/var/lib/ovirt-hosted-engine-setup/answers/answers-ohe.conf

  • Ao implantar o mecanismo hospedado, especificamos todos os parâmetros necessários:

- имя кластера
- количество vCPU и vRAM (рекомендуется 4 vCPU и 16 Гб)
- пароли
- тип хранилища для hosted engine ВМ – в нашем случае FC
- номер LUN для установки hosted engine
- где будет находиться база данных для hosted engine – рекомендую для простоты выбрать Local (это БД PostgreSQL работающая внутри этой ВМ)
и др. параметры. 

  • Para instalar uma VM altamente disponível com um mecanismo hospedado, criamos anteriormente um LUN especial no sistema de armazenamento, número 4 e 150 GB de tamanho, que foi então apresentado aos hosts do cluster - consulte artigo anterior.

Anteriormente também verificamos sua visibilidade nos hosts:

multipath -ll
…
3600a098000e4b4b3000003c95d171065 dm-3 DELL    , MD38xxf
size=150G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| `- 15:0:0:4  sdc 8:32  active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  `- 18:0:0:4  sdj 8:144 active ready running

  • O processo de implantação do mecanismo hospedado em si não é complicado; no final devemos receber algo assim:

[ INFO  ] Generating answer file '/var/lib/ovirt-hosted-engine-setup/answers/answers-20191129131846.conf'
[ INFO  ] Generating answer file '/etc/ovirt-hosted-engine/answers.conf'
[ INFO  ] Stage: Pre-termination
[ INFO  ] Stage: Termination
[ INFO  ] Hosted Engine successfully deployed

Verificamos a presença de serviços oVirt no host:

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Se tudo foi feito corretamente, após a conclusão da instalação, use um navegador da web para acessar https://ovirt_hostname/ovirt-engine no computador do administrador e clique em [Portal de Administração].

Captura de tela do “Portal de Administração”

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Ao inserir o login e a senha (definidos durante o processo de instalação) na janela conforme a imagem, chegamos ao painel de controle do Open Virtualization Manager, onde você pode realizar todas as ações com a infraestrutura virtual:

  1. adicionar centro de dados
  2. adicionar e configurar um cluster
  3. adicionar e gerenciar hosts
  4. adicione áreas de armazenamento ou domínios de armazenamento para discos de máquinas virtuais
  5. adicionar e configurar redes para máquinas virtuais
  6. adicione e gerencie máquinas virtuais, imagens de instalação, modelos de VM

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Todas essas ações serão discutidas mais adiante, algumas em células grandes, outras com mais detalhes e com nuances.
Mas primeiro eu recomendaria a leitura deste complemento, que provavelmente será útil para muitos.

Adição

1) Em princípio, se houver tal necessidade, nada impede que você instale antecipadamente o hipervisor KVM nos nós do cluster usando pacotes libvirt и qemu-kvm (ou qemu-kvm-ev) da versão desejada, embora ao implantar um nó de cluster oVirt, ele possa fazer isso sozinho.

Mas se libvirt и qemu-kvm Se você não instalou a versão mais recente, poderá receber o seguinte erro ao implantar um mecanismo hospedado:

error: unsupported configuration: unknown CPU feature: md-clear

Aqueles. deve ter versão atualizada libvirt com proteção contra MDS, que apoia esta política:

<feature policy='require' name='md-clear'/>

Instale libvirt v.4.5.0-10.el7_6.12, com suporte md-clear:

yum-config-manager --disable mirror.centos.org_centos-7_7_virt_x86_64_libvirt-latest_

yum install centos-release-qemu-ev
yum update
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer libguestfs libguestfs-tools dejavu-lgc-sans-fonts virt-top libvirt libvirt-python libvirt-client

systemctl enable libvirtd
systemctl restart libvirtd && systemctl status libvirtd

Verifique o suporte 'md-clear':

virsh domcapabilities kvm | grep require
      <feature policy='require' name='ss'/>
      <feature policy='require' name='hypervisor'/>
      <feature policy='require' name='tsc_adjust'/>
      <feature policy='require' name='clflushopt'/>
      <feature policy='require' name='pku'/>
      <feature policy='require' name='md-clear'/>
      <feature policy='require' name='stibp'/>
      <feature policy='require' name='ssbd'/>
      <feature policy='require' name='invtsc'/>

Depois disso, você pode continuar instalando o mecanismo hospedado.

2) No oVirt 4.3, a presença e uso de um firewall firewalld é um requisito obrigatório.

Se durante a implantação de uma VM para mecanismo hospedado recebermos o seguinte erro:

[ ERROR ] fatal: [localhost]: FAILED! => {"changed": false, "msg": "firewalld is required to be enabled and active in order to correctly deploy hosted-engine. Please check, fix accordingly and re-deploy.n"}
[ ERROR ] Failed to execute stage 'Closing up': Failed executing ansible-playbook
[https://bugzilla.redhat.com/show_bug.cgi?id=1608467

Então você precisa desligar outro firewall (se for usado), instalar e executar firewalld:

yum install firewalld
systemctl enable firewalld
systemctl start firewalld

firewall-cmd --state
firewall-cmd --get-default-zone
firewall-cmd --get-active-zones
firewall-cmd --get-zones

Posteriormente, ao instalar o agente ovirt em um novo host para o cluster, ele configurará as portas necessárias em firewalld automaticamente.

3) Reinicializar um host com uma VM em execução com um mecanismo hospedado.

Normalmente, Link 1 и Link 2 aos documentos reguladores.

Todo o gerenciamento da VM do mecanismo hospedado é feito SOMENTE usando o comando mecanismo hospedado no host onde ele é executado, cerca de Virsh devemos esquecer, assim como o fato de que você pode se conectar a esta VM via SSH e executar o comando “encerramento".

Procedimento para colocar uma VM em modo de manutenção:

hosted-engine --set-maintenance --mode=global

hosted-engine --vm-status
!! Cluster is in GLOBAL MAINTENANCE mode !!
--== Host host1.test.local (id: 1) status ==--
conf_on_shared_storage             : True
Status up-to-date                  : True
Hostname                           : host1.test.local
Host ID                            : 1
Engine status                      : {"health": "good", "vm": "up", "detail": "Up"}
Score                              : 3400
stopped                            : False
Local maintenance                  : False
crc32                              : dee1a774
local_conf_timestamp               : 1821
Host timestamp                     : 1821
Extra metadata (valid at timestamp):
        metadata_parse_version=1
        metadata_feature_version=1
        timestamp=1821 (Sat Nov 29 14:25:19 2019)
        host-id=1
        score=3400
        vm_conf_refresh_time=1821 (Sat Nov 29 14:25:19 2019)
        conf_on_shared_storage=True
        maintenance=False
        state=GlobalMaintenance
        stopped=False

hosted-engine --vm-shutdown

Reinicializamos o host com o agente do mecanismo hospedado e fazemos o que precisamos com ele.

Após a reinicialização, verifique o status da VM com o mecanismo hospedado:

hosted-engine --vm-status

Se nossa VM com mecanismo hospedado não iniciar e virmos erros semelhantes no log de serviço:

Erro no log de serviço:

journalctl -u ovirt-ha-agent
...
Jun 29 14:34:44 host1 journal: ovirt-ha-agent ovirt_hosted_engine_ha.agent.hosted_engine.HostedEngine ERROR Failed to start necessary monitors
Jun 29 14:34:44 host1 journal: ovirt-ha-agent ovirt_hosted_engine_ha.agent.agent.Agent ERROR Traceback (most recent call last):#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/agent.py", line 131, in _run_agent#012    return action(he)#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/agent.py", line 55, in action_proper#012    return he.start_monitoring()#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/hosted_engine.py", line 413, in start_monitoring#012    self._initialize_broker()#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/hosted_engine.py", line 537, in _initialize_broker#012    m.get('options', {}))#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/lib/brokerlink.py", line 86, in start_monitor#012    ).format(t=type, o=options, e=e)#012RequestError: brokerlink - failed to start monitor via ovirt-ha-broker: [Errno 2] No such file or directory, [monitor: 'ping', options: {'addr': '172.20.32.32'}]
Jun 29 14:34:44 host1 journal: ovirt-ha-agent ovirt_hosted_engine_ha.agent.agent.Agent ERROR Trying to restart agent

Em seguida, conectamos o armazenamento e reiniciamos o agente:

hosted-engine --connect-storage
systemctl restart ovirt-ha-agent
systemctl status ovirt-ha-agent

hosted-engine --vm-start
hosted-engine --vm-status

Após iniciar a VM com motor hospedado, tiramos ela do modo de manutenção:

Procedimento para remover uma VM do modo de manutenção:

hosted-engine --check-liveliness
hosted-engine --set-maintenance --mode=none
hosted-engine --vm-status

--== Host host1.test.local (id: 1) status ==--

conf_on_shared_storage             : True
Status up-to-date                  : True
Hostname                           : host1.test.local
Host ID                            : 1
Engine status                      : {"health": "good", "vm": "up", "detail": "Up"}
Score                              : 3400
stopped                            : False
Local maintenance                  : False
crc32                              : 6d1eb25f
local_conf_timestamp               : 6222296
Host timestamp                     : 6222296
Extra metadata (valid at timestamp):
        metadata_parse_version=1
        metadata_feature_version=1
        timestamp=6222296 (Fri Jan 17 11:40:43 2020)
        host-id=1
        score=3400
        vm_conf_refresh_time=6222296 (Fri Jan 17 11:40:43 2020)
        conf_on_shared_storage=True
        maintenance=False
        state=EngineUp
        stopped=False

4) Removendo o mecanismo hospedado e tudo associado a ele.

Às vezes é necessário remover adequadamente um mecanismo hospedado instalado anteriormente - link ao documento de orientação.

Basta executar o comando no host:

/usr/sbin/ovirt-hosted-engine-cleanup

A seguir, removemos pacotes desnecessários, fazendo backup de algumas configurações antes disso, se necessário:

yum autoremove ovirt* qemu* virt* libvirt* libguestfs 

Criação de um novo data center

Documentação de referência - Guia de Administração oVirt. Capítulo 4: Centros de Dados

Primeiro vamos definir o que é datacenter (cito a ajuda) é uma entidade lógica que define um conjunto de recursos usados ​​em um ambiente específico.

Um data center é um tipo de contêiner que consiste em:

  • recursos lógicos na forma de clusters e hosts
  • recursos de rede de cluster na forma de redes lógicas e adaptadores físicos em hosts,
  • recursos de armazenamento (para discos VM, modelos, imagens) na forma de áreas de armazenamento (domínios de armazenamento).

Um data center pode incluir vários clusters que consistem em vários hosts com máquinas virtuais em execução neles e também pode ter várias áreas de armazenamento associadas a ele.
Pode haver vários data centers; eles operam independentemente um do outro. Ovirt possui uma separação de poderes por função e você pode configurar permissões individualmente, tanto no nível do data center quanto em seus elementos lógicos individuais.

O data center, ou data centers, se houver vários deles, são gerenciados a partir de um único console ou portal administrativo.

Para criar um data center, acesse o portal administrativo e crie um novo data center:
Computar >> Central de dados >> Novo

Como usamos armazenamento compartilhado no sistema de armazenamento, o Tipo de Armazenamento deve ser Compartilhado:

Captura de tela do assistente de criação de data center

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Ao instalar uma máquina virtual com mecanismo hospedado, um data center é criado por padrão - Datacenter1e, se necessário, você pode alterar seu tipo de armazenamento para outro.

Criar um data center é uma tarefa simples, sem nuances complicadas, e todas as ações adicionais com ele estão descritas na documentação. A única coisa que observarei é que hosts únicos que possuem apenas armazenamento local (disco) para VMs não poderão entrar em um data center com Tipo de Armazenamento - Compartilhado (eles não podem ser adicionados lá), e para eles você precisa criar um data center separado - ou seja, Cada host individual com armazenamento local precisa de seu próprio data center separado.

Criando um novo cluster

Link para documentação - Guia de Administração oVirt. Capítulo 5: Clusters

Sem detalhes desnecessários, grupo – este é um agrupamento lógico de hosts que possuem uma área de armazenamento comum (na forma de discos compartilhados em um sistema de armazenamento, como no nosso caso). Também é desejável que os hosts do cluster sejam idênticos em hardware e possuam o mesmo tipo de processador (Intel ou AMD). É melhor, claro, que os servidores do cluster sejam completamente idênticos.

O cluster faz parte de um data center (com um tipo específico de armazenamento - Locais de ou Partilhado), e todos os hosts devem pertencer a algum tipo de cluster, dependendo se possuem armazenamento compartilhado ou não.

Ao instalar uma máquina virtual com um mecanismo hospedado em um host, um data center é criado por padrão - Datacenter1, junto com o cluster – Grupo1, e no futuro você poderá configurar seus parâmetros, habilitar opções adicionais, adicionar hosts a ele, etc.

Como de costume, para obter detalhes sobre todas as configurações do cluster, é aconselhável consultar a documentação oficial. De algumas das características de configuração de um cluster, acrescentarei apenas que ao criá-lo basta configurar apenas os parâmetros básicos na aba Geral.

Vou observar os parâmetros mais importantes:

  • Tipo de processador — é selecionado com base em quais processadores estão instalados nos hosts do cluster, de qual fabricante eles são e qual processador nos hosts é o mais antigo, de modo que, dependendo disso, todas as instruções de processador disponíveis no cluster sejam usadas.
  • Tipo de interruptor – em nosso cluster usamos apenas bridge Linux, por isso o escolhemos.
  • Tipo de firewall – está tudo claro aqui, trata-se do firewalld, que deve estar habilitado e configurado nos hosts.

Captura de tela com parâmetros de cluster

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Instalando hosts adicionais em um ambiente auto-hospedado

Link para documentação.

Hosts adicionais para um ambiente auto-hospedado são adicionados da mesma forma que um host regular, com a etapa adicional de implantar uma VM com um mecanismo hospedado - Escolha a ação de implantação do mecanismo hospedado >> Implantação. Como o host adicional também deve ser apresentado com um LUN para uma VM com um mecanismo hospedado, isso significa que esse host pode, se necessário, ser usado para hospedar uma VM com um mecanismo hospedado.
Para fins de tolerância a falhas, é altamente recomendável que haja pelo menos dois hosts nos quais uma VM de mecanismo hospedado possa ser colocada.

No host adicional, desabilite o iptables (se habilitado), habilite o firewalld

systemctl stop iptables
systemctl disable iptables

systemctl enable firewalld
systemctl start firewalld

Instale a versão KVM necessária (se necessário):

yum-config-manager --disable mirror.centos.org_centos-7_7_virt_x86_64_libvirt-latest_

yum install centos-release-qemu-ev
yum update
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer libguestfs libguestfs-tools dejavu-lgc-sans-fonts virt-top libvirt libvirt-python libvirt-client

systemctl enable libvirtd
systemctl restart libvirtd && systemctl status libvirtd

virsh domcapabilities kvm | grep md-clear

Instale os repositórios necessários e o instalador do mecanismo hospedado:

yum -y install http://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm
yum -y install epel-release
yum update
yum install screen ovirt-hosted-engine-setup

Em seguida, vá para o console Abra o Gerenciador de Virtualização, adicione um novo host e faça tudo passo a passo, conforme escrito em documentação.

Como resultado, após adicionar um host adicional, devemos obter algo parecido com a imagem no console administrativo, como na captura de tela.

Captura de tela do portal administrativo - hosts

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

O host no qual a VM do mecanismo hospedado está atualmente ativa tem uma coroa dourada e a inscrição “Executando a VM do mecanismo hospedado", o host no qual esta VM pode ser iniciada, se necessário - a inscrição "Pode executar a VM do mecanismo hospedado".

No caso de uma falha do host em que "Executando a VM do mecanismo hospedado", ele será reiniciado automaticamente no segundo host. Esta VM também pode ser migrada do host ativo para o host standby para sua manutenção.

Configurando gerenciamento de energia/fencing em hosts oVirt

Links de documentação:

Embora possa parecer que você acabou de adicionar e configurar um host, isso não é totalmente verdade.
Para a operação normal dos hosts e para identificar/resolver falhas em qualquer um deles, são necessárias configurações de gerenciamento de energia/fencing.

esgrima, ou fence, é o processo de exclusão temporária de um host defeituoso ou com falha do cluster, durante o qual os serviços oVirt nele ou o próprio host são reiniciados.

Todos os detalhes sobre as definições e parâmetros de Power Management/fencing são dados, como de costume, na documentação; darei apenas um exemplo de como configurar este importante parâmetro, aplicado aos servidores Dell R640 com iDRAC 9.

  1. Acesse o portal administrativo, clique em Computar >> Hosts selecione um host.
  2. Clique Editar.
  3. Clique na guia Gestão de Energia.
  4. Marque a caixa ao lado da opção Habilitar gerenciamento de energia.
  5. Marque a caixa ao lado da opção Integração Kdumppara evitar que o host entre no modo esgrima durante a gravação de um despejo de memória do kernel.

Nota.

Após habilitar a integração do Kdump em um host já em execução, ele deve ser reinstalado de acordo com o procedimento no Guia de Administração do oVirt -> Capítulo 7: Anfitriões -> Reinstalando Hosts.

  1. Opcionalmente, você pode marcar a caixa Desabilitar o controle de política de gerenciamento de energia, se não quisermos que o gerenciamento de energia do host seja controlado pela Política de Agendamento do cluster.
  2. Clique no botão (+) para adicionar um novo dispositivo de gerenciamento de energia, a janela de edição das propriedades do agente será aberta.
    Para iDRAC9, preencha os campos:

    • Endereço – endereço iDRAC9
    • Usuário senha – login e senha para fazer login no iDRAC9, respectivamente
    • Formato —drac5
    • marca Confie
    • adicione as seguintes opções: cmd_prompt=>,login_timeout=30

Captura de tela com parâmetros de “Gerenciamento de energia” nas propriedades do host

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Criando uma área de armazenamento ou Domínios de Armazenamento

Link para documentação - Guia de Administração oVirt, Capítulo 8: Armazenamento.

Domínio de armazenamento, ou área de armazenamento, é um local centralizado para armazenar discos de máquinas virtuais, imagens de instalação, modelos e instantâneos.

As áreas de armazenamento podem ser conectadas ao data center usando vários protocolos, clusters e sistemas de arquivos de rede.

oVirt possui três tipos de área de armazenamento:

  • Domínio de Dados – para armazenar todos os dados associados às máquinas virtuais (discos, modelos). O Data Domain não pode ser compartilhado entre data centers diferentes.
  • Domínio ISO (tipo obsoleto de área de armazenamento) – para armazenar imagens de instalação do sistema operacional. O domínio ISO pode ser compartilhado entre diferentes data centers.
  • Exportar domínio (tipo obsoleto de área de armazenamento) – para armazenamento temporário de imagens movimentadas entre data centers.

Em nosso caso específico, uma área de armazenamento do tipo Data Domain usa Fibre Channel Protocol (FCP) para se conectar a LUNs no sistema de armazenamento.

Do ponto de vista do oVirt, ao usar sistemas de armazenamento (FC ou iSCSI), cada disco virtual, snapshot ou modelo é um disco lógico.
Os dispositivos de bloco são montados em uma única unidade (em hosts de cluster) usando Volume Group e depois divididos usando LVM em volumes lógicos, que são usados ​​como discos virtuais para VMs.

Todos esses grupos e muitos volumes LVM podem ser vistos no host do cluster usando os comandos vgs и Eu contra. Naturalmente, todas as ações com esses discos devem ser realizadas apenas no console oVirt, exceto em casos especiais.

Os discos virtuais para VMs podem ser de dois tipos – QCOW2 ou RAW. Os discos podem ser "fino"Ou"Grosso". Os instantâneos são sempre criados como "magra".

A maneira de gerenciar domínios de armazenamento, ou áreas de armazenamento acessadas por meio de FC, é bastante lógica - para cada disco virtual da VM existe um volume lógico separado que pode ser gravado por apenas um host. Para conexões FC, oVirt usa algo como LVM clusterizado.

Máquinas virtuais localizadas na mesma área de armazenamento podem ser migradas entre hosts pertencentes ao mesmo cluster.

Como podemos ver na descrição, um cluster no oVirt, como um cluster no VMware vSphere ou Hyper-V, significa essencialmente a mesma coisa - é um agrupamento lógico de hosts, de preferência idênticos em composição de hardware, e com armazenamento comum para virtual discos da máquina.

Vamos prosseguir diretamente para a criação de uma área de armazenamento de dados (discos VM), pois sem ela o data center não será inicializado.
Deixe-me lembrá-lo de que todos os LUNs apresentados aos hosts do cluster no sistema de armazenamento devem estar visíveis neles usando o comando “multicaminho -ll".

Conforme documentação, acesse o portal vá para Armazenamento >> domínios -> Novo Domínio e siga as instruções da seção "Adicionando armazenamento FCP".

Após iniciar o assistente, preencha os campos obrigatórios:

  • Nome — defina o nome do cluster
  • Função de Domínio -Dados
  • Tipo de armazenamento - Fibre Channel
  • Hospedeiro para usar — selecione um host no qual o LUN necessário esteja disponível

Na lista de LUNs, marque o que precisamos, clique em Adicionar e depois Ok. Se necessário, você pode ajustar parâmetros adicionais da área de armazenamento clicando em Parâmetros Avançados.

Captura de tela do assistente para adicionar “Domínio de armazenamento”

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Com base nos resultados do assistente, devemos receber uma nova área de armazenamento e nosso data center deverá passar para o status UP, ou inicializado:

Capturas de tela do data center e das áreas de armazenamento nele contidas:

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Criando e configurando redes para máquinas virtuais

Link para documentação - Guia de Administração oVirt, Capítulo 6: Redes Lógicas

As redes, ou redes, servem para agrupar redes lógicas utilizadas na infraestrutura virtual oVirt.

Para interagir entre o adaptador de rede na máquina virtual e o adaptador físico no host, são usadas interfaces lógicas como a ponte Linux.

Para agrupar e dividir o tráfego entre redes, as VLANs são configuradas nos switches.

Ao criar uma rede lógica para máquinas virtuais no oVirt, deve ser atribuído a ela um identificador correspondente ao número da VLAN no switch para que as VMs possam se comunicar entre si, mesmo que sejam executadas em diferentes nós do cluster.

As configurações preliminares dos adaptadores de rede nos hosts para conexão de máquinas virtuais tiveram que ser feitas em artigo anterior – interface lógica configurada bond1, então todas as configurações de rede deverão ser feitas somente através do portal administrativo oVirt.

Após a criação de uma VM com motor hospedado, além da criação automática de um data center e cluster, também foi criada automaticamente uma rede lógica para gerenciar nosso cluster - ovritmgmt, ao qual esta VM estava conectada.

Se necessário, você pode visualizar as configurações lógicas da rede ovritmgmt e ajustá-los, mas você deve ter cuidado para não perder o controle da infraestrutura oVirt.

Configurações de rede lógica ovritmgmt

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Para criar uma nova rede lógica para VMs regulares, no portal administrativo acesse Network >> Redes >> Novo, e na aba Geral adicione uma rede com o VLAN ID desejado e marque também a caixa ao lado de “Rede VM", isso significa que ele pode ser usado para atribuição a uma VM.

Captura de tela da nova rede lógica VLAN32

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

aba Agrupar, anexamos esta rede ao nosso cluster Grupo1.

Depois disso vamos para Computar >> Hosts, vá para cada host por vez, para a guia Interfaces de redee inicie o assistente Configurar redes host, para vincular-se a hosts de uma nova rede lógica.

Captura de tela do assistente “Configurar redes host”

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

O agente oVirt fará automaticamente todas as configurações de rede necessárias no host - crie uma VLAN e uma BRIDGE.

Arquivos de configuração de exemplo para novas redes no host:

cat ifcfg-bond1
# Generated by VDSM version 4.30.17.1
DEVICE=bond1
BONDING_OPTS='mode=1 miimon=100'
MACADDR=00:50:56:82:57:52
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM_CONTROLLED=no
IPV6INIT=no

cat ifcfg-bond1.432
# Generated by VDSM version 4.30.17.1
DEVICE=bond1.432
VLAN=yes
BRIDGE=ovirtvm-vlan432
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM_CONTROLLED=no
IPV6INIT=no

cat ifcfg-ovirtvm-vlan432
# Generated by VDSM version 4.30.17.1
DEVICE=ovirtvm-vlan432
TYPE=Bridge
DELAY=0
STP=off
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM_CONTROLLED=no
IPV6INIT=no

Deixe-me lembrá-lo mais uma vez que no host do cluster NÃO PRECISA crie interfaces de rede manualmente com antecedência ifcfg-bond1.432 и ifcfg-ovirtvm-vlan432.

Depois de adicionar uma rede lógica e verificar a conexão entre o host e a VM do mecanismo hospedado, ela pode ser usada na máquina virtual.

Criando uma imagem de instalação para implementar uma máquina virtual

Link para documentação - Guia de Administração oVirt, Capítulo 8: Armazenamento, seção Fazendo upload de imagens para um domínio de armazenamento de dados.

Sem uma imagem de instalação do SO, não será possível instalar uma máquina virtual, embora isso obviamente não seja um problema se, por exemplo, estiver instalada na rede Sapateiro com imagens pré-criadas.

No nosso caso, isso não é possível, então você mesmo terá que importar esta imagem para o oVirt. Anteriormente, isso exigia a criação de um domínio ISO, mas na nova versão do oVirt ele foi descontinuado e, portanto, agora você pode fazer upload de imagens diretamente para o domínio de armazenamento a partir do portal administrativo.

No portal administrativo acesse Armazenamento >> Discos >> Escolher arquivo >> Início
Adicionamos nossa imagem do SO como um arquivo ISO, preenchemos todos os campos do formulário e clicamos no botão "Conexão de teste".

Captura de tela do assistente para adicionar imagem de instalação

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Se recebermos um erro como este:

Unable to upload image to disk d6d8fd10-c1e0-4f2d-af15-90f8e636dadc due to a network error. Ensure that ovirt-imageio-proxy service is installed and configured and that ovirt-engine's CA certificate is registered as a trusted CA in the browser. The certificate can be fetched from https://ovirt.test.local/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA`

Então você precisa adicionar o certificado oVirt a “CAs raiz confiáveis"(Trusted Root CA) na estação de controle do administrador, de onde estamos tentando baixar a imagem.

Após adicionar o certificado à CA raiz confiável, clique novamente em "Conexão de teste", deve obter:

Connection to ovirt-imageio-proxy was successful.

Depois de concluir a ação de adicionar o certificado, você pode tentar fazer upload da imagem ISO para o domínio de armazenamento novamente.

A princípio, você pode criar um Domínio de Armazenamento separado com o tipo Dados para armazenar imagens e templates separadamente dos discos da VM, ou até mesmo armazená-los em um Domínio de Armazenamento para o mecanismo hospedado, mas isso fica a critério do administrador.

Captura de tela com imagens ISO no domínio de armazenamento para mecanismo hospedado

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Criar uma máquina virtual

Link da documentação:
Guia de gerenciamento de máquina virtual oVirt -> Capítulo 2: Instalando Máquinas Virtuais Linux
Recursos de clientes de console

Depois de carregar a imagem de instalação com o sistema operacional no oVirt, você pode prosseguir diretamente para a criação de uma máquina virtual. Muito trabalho foi feito, mas já estamos na fase final, para a qual tudo isso foi iniciado - a obtenção de uma infraestrutura tolerante a falhas para hospedagem de máquinas virtuais de alta disponibilidade. E tudo isso é totalmente gratuito - nem um único centavo foi gasto na compra de licenças de software.

Para criar uma máquina virtual com CentOS 7, deve-se baixar a imagem de instalação do SO.

Vamos ao portal administrativo, vamos para Computar >> Máquinas virtuaise inicie o assistente de criação de VM. Preencha todos os parâmetros e campos e clique Ok. Tudo é muito simples se você seguir a documentação.

Como exemplo, darei as configurações básicas e adicionais de uma VM altamente disponível, com disco criado, conectada à rede e inicializando a partir de uma imagem de instalação:

Capturas de tela com configurações de VM altamente disponíveis

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Após terminar de trabalhar com o assistente, feche-o, inicie uma nova VM e instale o sistema operacional nela.
Para isso, acesse o console desta VM através do portal administrativo:

Captura de tela das configurações do portal administrativo para conexão com o console da VM

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Para se conectar ao console da VM, primeiro você deve configurar o console nas propriedades da máquina virtual.

Captura de tela das configurações da VM, guia “Console”

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Para se conectar ao console da VM você pode usar, por exemplo, Visualizador de máquina virtual.

Para conectar-se ao console da VM diretamente na janela do navegador, as configurações de conexão por meio do console devem ser as seguintes:

Criação de uma infraestrutura de TI tolerante a falhas. Parte 2. Instalando e configurando o cluster oVirt 4.3

Após instalar o SO na VM, é aconselhável instalar o agente convidado oVirt:

yum -y install epel-release
yum install -y ovirt-guest-agent-common
systemctl enable ovirt-guest-agent.service && systemctl restart ovirt-guest-agent.service
systemctl status ovirt-guest-agent.service

Assim, como resultado de nossas ações, a VM criada estará altamente disponível, ou seja, se o nó do cluster no qual está sendo executado falhar, o oVirt irá reiniciá-lo automaticamente no segundo nó. Esta VM também pode ser migrada entre hosts de cluster para manutenção ou outros fins.

Conclusão

Espero que este artigo tenha conseguido transmitir que oVirt é uma ferramenta completamente normal de gerenciamento de infraestrutura virtual, que não é tão difícil de implantar - o principal é seguir certas regras e requisitos descritos tanto no artigo quanto na documentação.

Devido ao grande volume do artigo, não foi possível incluir muitas coisas nele, como a execução passo a passo de vários assistentes com todas as explicações detalhadas e capturas de tela, longas conclusões de alguns comandos, etc. Na verdade, isso exigiria escrever um livro inteiro, o que não faz muito sentido devido ao constante surgimento de novas versões de software com inovações e mudanças. O mais importante é entender o princípio de como tudo funciona em conjunto e obter um algoritmo geral para a criação de uma plataforma tolerante a falhas para gerenciamento de máquinas virtuais.

Embora tenhamos criado uma infra-estrutura virtual, precisamos agora ensiná-la a interagir tanto entre os seus elementos individuais: anfitriões, máquinas virtuais, redes internas, como com o mundo exterior.

Este processo é uma das principais tarefas de um administrador de sistema ou rede, que será abordada no próximo artigo - sobre o uso de roteadores virtuais VyOS na infraestrutura tolerante a falhas de nossa empresa (como você adivinhou, eles funcionarão como virtuais máquinas em nosso cluster oVirt).

Fonte: habr.com

Adicionar um comentário