Grupo de HA (high availiabity) no Proxmox
Jornada Proxmox Parte 7
Versão 1
Emissão: 22 de setembro de 2022
Validade: Indeterminada
Tema: Proxmox Cluster HA Groups
Objetivo
Orientar a equipe técnica na configuração do Proxmox HA Groups. Configuração do cluster PVE com os grupos de alta disponibilidade e live migration. Temos três servidores Proxmox montados no nosso laboratório da RunbookBR. Desse modo esse material visa resolver a seguinte questão: Como configurar passo a passo o Proxmox HA Groups? A configuração do HA Groups em um Cluster PVE é premissa para garantia da alta disponibilidade de um ambiente de produção.
Este artigo é baseado no treinamento oficial de Proxmox da RunbookBR. Esse treinamento não é comercializado, estando restrito a aplicação para nossas equipes internas.
Pré-Requisitos
- Os passos citados na parte 1 da Jornada Proxmox da RunbookBR são um requisito importante para garantia da conformidade do nosso ambiente.
- Do mesmo modo, quando configuramos nosso cluster na parte 2 da Jornada Proxmox, teremos alinhado alguns requisitos importantes para seguimento do nosso high availability.
- Precisamos ter realizado as configurações de interfaces conforme a parte 3 para termos nosso entendimento de ambiente alinhado.
- Nesse ínterim precisamos estar conforme os conceitos apresentados na parte 4 da Jornada Proxmox.
- Nosso Cluster Ceph precisa estar configurado da mesma forma que o exposto na parte 5
- Recomendo ainda a leitura da parte 6 dessa jornada, quando falamos dos conceitos essenciais do tema que abordaremos aqui neste artigo.
- Da mesma forma que recomendamos anteriormente, preciso que você possua conhecimento básico em redes de computadores e familiaridade com termologias relacionadas a tecnologia da informação.
- O melhor resultado desse material será obtido caso você tenha montado um ambiente com pelo menos três servidores Proxmox, assim como nosso laboratório proposto.
Topologia Montada para o Laboratório do Cluster Proxmox
Nosso ambiente foi montado, conforme mencionado anteriormente, com: 2 servidores Intel Xeon E31270, all flash, oito discos SSD e duas interfaces de rede Gigabit Ethernet. Cada servidor possui 16 GB RAM.
Uma terceira maquina esta disponível como nó de monitoramento do Ceph: desktop Intel Core i5 2400, disco mecânico e 16 GB RAM. O desktop possui apenas uma interface de rede que se liga a nossa rede LAN.
O que é o HA Group e para que Serve?
Vimos no artigo anterior que alta disponibilidade diz respeito ao tempo de uptime de um servidor ou serviço em um período, normalmente mês ou ano.
A configuração de HA Groups no Proxmox é quem vai garantir que as máquinas sejam migradas automaticamente entre os hosts físicos em caso de perda de um dos nós do nosso cluster. Em outras palavras, se um servidor Proxmox ficar fora de produção por uma falha ou manutenção programada, a configuração do HA Groups será responsável por direcionar as VMs ou containers para outro servidor Proxmox sem necessidade de intervenção do administrador de rede.
Na configuração do HA Groups, no Proxmox, definimos para quais nós iremos movimentar as máquinas virtuais daquele grupo e qual nível de prioridade de cada máquina física terá para hospedar esses recursos.
Configuração do HA Groups no Proxmox
Descreverei, agora, o passo a passo de como configurar nosso grupo de HA no Proxmox.
Antes de tudo, vamos olhar na interface gráfica do Proxmox onde encontrar essa função.
Na configuração do cluster PVE, busque a configuração de HA e observe que não existem configurações criadas por padrão mesmo com máquinas virtuais e containers já configurados no Proxmox.
Do mesmo modo, não teremos configurações de “Groups” ou de “Fencing”.
Obs.: Não abordaremos a configuração de Fencing neste artigo.
Primeiro vamos configurar o ID do nosso HA Group. Esse ID pode ser número ou string. Recomendo que planeje sua infraestrutura definindo um padrão. No nosso laboratório nosso padrão será HAGx, onde HA indica que se trata de um serviço de high availiabity, G para identificar como “Grupo” e x que será nosso identificador numérico identificando se estamos trabalhando com o grupo 1, 2, 3 até 9.
Para o primeiro grupo, selecionaremos nossos 3 nodes, falando assim para o Proxmox que qualquer host físico poderá receber os recursos daquele grupo. No entanto, teremos maior prioridade para o PVE03 e menor prioridade de alocação de recurso para o PVE01. Quanto maior o valor, maior será a prioridade, não existe relação inversa nesse tipo de priorização pelo Proxmox.
Marcaremos nossas opções de restricted e nofailback, onde estarei explicando os porquês na sequência.
Parâmetros do HA Groups
Conforme vimos acima, a configuração do HA Groups no Proxmox nos exige de conhecimento alguns parâmetros básicos para que nosso HA e por consequência nosso live migration rode adequadamente.
Parâmetros base
- Node: São nossos nós físicos, nossos Hosts, em outras palavras, nossos servidores Proxmox que compõe nosso cluster PVE.
- Priority: Conforme exposto anteriormente, a priority maior indicará que os recursos daquele grupo ficarão prioritariamente naquele nó de maior valor.
- Comment: Uma descrição breve, mas livre do seu grupo. Defina um padrão para os comentários, isso pode ajudar bastante a rotina e entendimento dos seus analistas.
Parâmetros adicionais
- Restricted: Restringimos o recurso (VM ou container) para utilização apenas nos nós definidos explicitamente na configuração do HA Groups. Caso os nós escolhidos no HA Group fiquem indisponíveis, a maquina virtual será interrompida, mesmo que hajam outros nós ativos no seu cluster PVE. Por exemplo, você define que o grupo terá apenas os nós PVE01 e PVE02. Você tem 6 nós no seu cluster. Se você marca a opção restricted, caso os nós 1 e 2 fiquem offline, a maquina virtual é “stopada”. Quando não marcamos essa opção, os nós 1 e 2 serão sempre prioritários para alocação da máquina virtual, mas, caso ambos fiquem fora, o serviço de HA irá eleger um host com menor utilização de recurso para alocar sua máquina virtual, garantindo assim a disponibilidade do seu serviço.
- NoFailBack: Quando definimos as prioridades, entendemos que o nó com maior prioridade ganha os recursos daquele grupo. Quando o nó com maior prioridade falhar, as maquinas virtuais serão movimentadas automaticamente para o segundo nó de maior prioridade. Ok, mas em caso de retorno da máquina host com maior prioridade, o que ocorrerá? Por padrão, quando deixamos de marcar essa opção, a maquina virtual retornará para seu host de maior prioridade. Quando deixamos a checkbox marcada, a maquina virtual não será movimentada para o host de maior prioridade após recuperação de uma falha ou desligamento programado. Normalmente marcamos essa opção quando queremos garantir que a análise da causa raiz da interrupção do nó foi feita antes de retornar os serviços e maquias virtuais para este host. Não existe certo ou errado aí. Você precisa avaliar qual o cenário que melhor atende à sua necessidade e expectativa.
Finalizando o HA Groups
Por fim, seus HA Grups ficaram mais ou menos assim;
Podemos configurar quantos HA Groups forem necessários para nosso planejamento e balanceamento.
Em um ambiente pequeno, podemos ter uma máquina virtual por grupo apenas, mas, o comum é termos várias máquinas virtuais e vários grupos de HA criados, cabendo ao administrador de TI definir a melhor estratégia.
Configuração do Proxmox HA
Enfim poderemos utilizar nosso HA, finalizando assim, as configurações necessárias para que nossas maquinas virtuais e containers possam ser movimentados automaticamente em caso de falha em um ou mais recursos físicos.
Adicione um recuso HA na sua configuração de cluster PVE
Antes de qualquer coisa, precisamos entender que cada VM o qual se pretende disponibilizar o HA, precisará ter uma configuração de HA individual. Em outras palavras, precisamos configurar o HA para cada VM individualmente.
Selecione sua VM, no nosso exemplo vamos escolher o Container 101 (CTN01) que está rodando no PVE01.
Escolheremos nosso HA Group criado no passo anterior, com isso teremos nossos padrões de priorização e demais parâmetros já definidos.
Parâmetros do Proxmox HA
Os seguintes parâmetros deverão ser observados:
- Max restart: Número máximo de tentativas em que o Proxmox tentará reiniciar o serviço e/ou VM após migração de nós físicos, em caso de falha do nó com maior prioridade. Se o número de tentativas chegar ao valor máximo, o Proxmox irá “desistir” de ligar a VM.
- Max Relocate: Número máximo de tentativas em que o Proxmox tentará realocar o serviço em caso de falha do nó de maior prioridade.
- Request State: Estado em que a VM será migrada para outro nó. Em caso de falha no nó de maior prioridade podemos querer migrar a VM, mas deixando a mesma em um estado diferente de ligado.
Podemos definir o Request State como:- started: A VM é migrada e iniciada.
- stopped: A VM é migrada, mas fica parada, desligada.
- disabled: A VM não é migrada e deve ficar parada no seu nó de origem.
- ignored: O recurso é removido do estado de manager, desse modo o sistema não mexe mais nesse recurso.
- Comment: Do mesmo modo que a configuração de HA Groups, defina um padrão que facilite a identificação do recurso pela sua equipe.
Conclusão
Dessa forma, vimos no artigo de hoje o passo a passo de como configurar um cluster Proxmox Ceph. Do mesmo modo entendemos alguns conceitos básicos de como funciona e como parametrizar um object store de respeito. Desse modo, nosso ambiente de alta disponibilidade já tem um cluster PVE totalmente funcional, um storage Ceph para armazenar nossas máquinas virtuais e containers. Então, a alocação das nossas máquinas virtuais nos discos compartilhados e a parametrização dos nossos grupos de HA já pode ser feito.
Nesse ínterim, uma vez que passamos por todos os artigos desta jornada, temos concluído nosso projeto e já conseguimos entregar um ambiente com 99,99% de disponibilidade.
Publicaremos mais artigos sobre Proxmox, mas também estaremos trabalhando outros temas relevantes para nossa infraestrutura de TI se tornar cada dia mais confiável e para podermos nos tornar profissionais cada vez mais capacitados.
Se você curtiu essa Jornada não deixe de nos apoiar, dê uma conferida no nosso canal no YouTube, se inscreva e deixa seu comentário aqui para a RunbokBR. Até o próximo artigo.
Deixarei também a principal referência utilizada nas nossas rotinas, a documentação de HA oficial da Proxmox.