Montar um cluster no Proxmox VE permite criar infraestruturas altamente resilientes com Live Migration sem interrupção de serviço e gestão centralizada. Porém, o desafio arquitetural mais crítico em ambientes de virtualização reside em clusters com número par de servidores (notadamente clusters de 2 nós) quando operados sem um Corosync QDevice (Quorum Device) como árbitro externo de desempate.
O Corosync exige maioria estrita (50% + 1 voto) para manter o cluster operacional. Em clusters de 2 nós (onde o quorum mínimo são 2 votos), a queda ou isolamento de um único servidor faz o nó remanescente perder quorum e travar o /etc/pve/ em modo somente-leitura. A solução oficial da Proxmox é instalar o corosync-qdevice nos hosts PVE e o corosync-qnetd em uma máquina externa leve (Debian, VM em nuvem ou Raspberry Pi cabeado), fornecendo o 3º voto eleitoral e garantindo tolerância a falha de 1 nó físico.
Diferente do que muitos acreditam, a perda de comunicação entre dois nós não gera automaticamente um Split-Brain descontrolado. O mecanismo de Quorum existe exatamente para impedir o Split-Brain: na ausência de maioria, ambos os nós bloqueiam gravações no sistema de arquivos distribuído (pmxcfs) e interrompem o High Availability (HA) para blindar os dados contra corrupção. Neste guia, você verá como funciona o algoritmo de votação e como configurar o QDevice passo a passo pelo método oficial.
1. O Que É o Quorum e Como o Corosync Decide Quem Sobrevive
O Proxmox VE utiliza a camada de comunicação em grupo Corosync combinada com o pmxcfs (Proxmox Cluster File System). Para garantir que apenas um subconjunto legítimo do cluster tome decisões críticas (como inicialização de VMs com HA ou alterações em configurações globais), o Corosync adota o princípio da maioria estrita (50% + 1):
Quorum Exigido = floor(Total de Votos / 2) + 1| Topologia do Cluster | Votos Totais | Quorum Necessário | Nós Que Podem Falhar com Segurança |
|---|---|---|---|
| Cluster de 1 Nó | 1 | 1 | 0 (nó autônomo sem HA) |
| Cluster de 2 Nós (Sem QDevice) | 2 | 2 | Zero nós! Se 1 falhar, o outro perde quorum e bloqueia escritas. |
| Cluster de 2 Nós + QDevice | 3 | 2 | 1 nó físico pode falhar mantendo operação 100% normal. |
| Cluster de 3 Nós Nativos | 3 | 2 | 1 nó pode falhar mantendo maioria de 2 votos. |
| Cluster de 4 Nós + QDevice | 5 | 3 | Até 2 nós podem falhar com quorum preservado. |
2. O Dilema do Cluster de 2 Nós sem Árbitro Externo
Considere um cluster composto por dois servidores: PVE-Node-01 e PVE-Node-02. O total de votos cadastrados é 2 e o quorum mínimo exigido pela fórmula é 2. Se o PVE-Node-02 sofrer uma pane de hardware, reiniciar ou perder o link de rede:
- O
PVE-Node-01passa a enxergar apenas a si mesmo (1 voto de 2 disponíveis); - Ele não atinge o quorum (precisaria de 2 votos);
- O sistema de arquivos distribuído
/etc/pve/entra instantaneamente em modo somente-leitura; - A interface web bloqueia edições, novos backups são suspensos e máquinas virtuais sob supervisão de HA entram em estado defensivo para evitar gravações concorrentes no storage.
O comando pvecm expected 1 força o nó a ignorar a ausência do parceiro e assumir operações com apenas 1 voto. Essa intervenção é estritamente emergencial para manutenções manuais com um nó desligado. Se a rede oscilar e ambos os nós executarem essa instrução simultaneamente, ocorrerá Split-Brain real: duas instâncias ativas da mesma VM tentarão gravar no mesmo disco compartilhado, resultando em perda irreversível de dados.
3. Arquitetura do Corosync QDevice (corosync-qnetd)
O QDevice (Quorum Device) é um componente de consenso eleitoral extremamente eficiente que injeta um voto de desempate neutro no cluster sem a sobrecarga de precisar manter um terceiro servidor Proxmox VE completo com hypervisor. Ele opera em arquitetura cliente-servidor:
- corosync-qnetd: Daemon que roda na máquina externa neutra (uma mini-instância em nuvem na AWS/OCI/Hetzner, servidor PBS de backup ou máquina Linux física dedicada cabeada na mesma sub-rede).
- corosync-qdevice: Módulo cliente instalado em cada um dos nós do Proxmox VE que mantém sessão TCP autenticada com o QNetd na porta 5403.
4. Passo a Passo Oficial de Configuração do QDevice
Etapa A: Configurar o Servidor Externo (QNetd)
No seu servidor Linux independente (exemplo com Debian 12 ou Ubuntu no IP 192.168.1.200):
# 1. Atualizar repositórios e instalar o daemon qnetd:
sudo apt update && sudo apt install corosync-qnetd -y
# 2. Habilitar o serviço para inicialização automática no boot:
sudo systemctl enable --now corosync-qnetd
# 3. Validar se o serviço está escutando na porta TCP padrão 5403:
ss -tlpn | grep 5403Etapa B: Instalar e Parear nos Nós do Proxmox VE
Em cada um dos nós do cluster Proxmox VE, instale o pacote cliente:
# Executar no terminal de TODOS os nós do cluster PVE:
apt update && apt install corosync-qdevice -yEm seguida, acesse via SSH o nó primário do cluster (ex.: pve-01) e execute o assistente de vinculação nativo:
# Iniciar o pareamento com o host externo via SSH:
pvecm qdevice setup 192.168.1.200O assistente solicitará a confirmação da chave SSH do servidor neutro para troca automática de certificados SSL e parametrização do arquivo /etc/pve/corosync.conf em todos os nós do cluster simultaneamente.
5. Validação e Auditoria Eleitoral do Cluster
Após a conclusão do pareamento, execute a validação no terminal do Proxmox VE:
# Verificar o resumo de votos e status da atividade:
pvecm status
# Verificar detalhes específicos da conexão com o QDevice:
pvecm qdevice statusA saída de pvecm status exibirá a nova distribuição eleitoral com o árbitro ativo:
Membership information
----------------------
Nodeid Votes Qdevice Name
0x00000001 1 A,V,N pve-01 (local)
0x00000002 1 A,V,N pve-02
0x00000000 1 QdeviceCom Total votes: 3 e Quorum: 2, se o nó pve-02 for desligado ou falhar, o nó pve-01 somará seu próprio voto (1) com o voto do QDevice (1), alcançando 2 votos de 3. O cluster mantém o quorum legal, as VMs permanecem em execução e a gestão web continua 100% acessível.
6. Checklist de Validação e Diagnóstico de Rede do Corosync
| Item de Auditoria | Comando de Checagem | Parâmetro de Referência |
|---|---|---|
| Saúde dos Links Corosync | corosync-cfgtool -s | Status reachable: 1 em todos os anéis (Ring 0 / Ring 1) |
| Sessão com QNetd | pvecm qdevice status | Algorithm: ffsplit e estado Connected: Yes |
| Latência de Rede Corosync | omping -c 100 -i 0.1 -q <IP_NODE1> <IP_NODE2> | RTT menor que 2 ms sem perdas de pacotes (proibido Wi-Fi) |
| Porta de Comunicação TCP | nc -zv 192.168.1.200 5403 | Porta 5403/TCP aberta no firewall entre PVE e QNetd |
Documentação Técnica e Links Oficiais
- Manual Oficial Proxmox VE: Guia de Configuração do Corosync QDevice
- Proxmox Wiki: Cluster Manager, Quorum e Eleições
- Repositório Oficial do Corosync QDevice no GitHub
- Documentação Oficial: Proxmox High Availability (HA) e Fencing
Perguntas Frequentes (FAQ)
O que é Quorum em um cluster Proxmox VE?
Quorum é o número mínimo de votos exigido para que um cluster tenha autoridade legítima sobre configurações e máquinas virtuais. A regra do Corosync adota a maioria simples estrita: floor(votos / 2) + 1. Sem quorum, o sistema de arquivos distribuído pmxcfs se tranca em modo de leitura para proteger a integridade dos dados.
Por que um cluster de 2 nós sem QDevice não suporta falhas de nós?
Em 2 nós, os votos totais são 2 e o quorum mínimo é 2. Se um servidor cair ou reiniciar, o nó que fica online tem apenas 1 voto, perdendo a maioria e bloqueando escritas no /etc/pve/ até que o segundo nó retorne.
Onde posso instalar o serviço corosync-qnetd?
O serviço qnetd é extremamente leve e pode rodar em qualquer máquina Linux externa (Debian, Ubuntu, AlmaLinux). Ele pode residir em uma VPS em nuvem (AWS, Oracle Cloud, Hetzner), em um servidor Proxmox Backup Server (PBS) ou até em um micro-servidor local cabeado.
O comando ‘pvecm expected 1’ deve ser usado para resolver o quorum?
Apenas em situações emergenciais temporárias durante manutenção. Ele força o nó a ignorar a ausência do outro, mas caso ambos os nós fiquem ativos em redes isoladas com esse comando, haverá corrupção catastrófica por Split-Brain.
📖 Conteúdos Relacionados no TecMestre: Estruture o storage compartilhado para o seu cluster com nosso guia de Ceph no Proxmox VE e aprenda como configurar armazenamento local veloz no guia definitivo de ZFS no Proxmox.

Teste seus conhecimentos com nossos simulados gratuitos de certificação





Deixe uma resposta
Ver comentários