Cluster Proxmox de alta disponibilidade com mini PCs e Ceph
Aprenda a montar um cluster HA resiliente usando hardware barato, Proxmox VE e Ceph. Guia completo de configuração de storage distribuído para home labs.
Se você, assim como eu, passa horas navegando no eBay ou no AliExpress procurando aquele hardware "enterprise" desativado ou mini PCs que cabem na palma da mão, bem-vindo ao clube. Hoje vamos falar sobre o Santo Graal do home lab: Alta Disponibilidade (HA) real, com armazenamento distribuído, sem precisar vender um rim para comprar uma SAN da Dell ou HP.
Vamos construir um cluster hiperconvergente usando Proxmox VE e Ceph. E o melhor: vamos fazer isso usando Mini PCs (aqueles Lenovo Tiny, Dell Micro ou HP Mini). É a união perfeita entre baixo consumo de energia, silêncio e redundância de dados nível datacenter.
Resumo em 30 segundos
- Regra de Ouro: Você precisa de três nós (computadores) para ter um cluster de alta disponibilidade funcional e evitar problemas de "split-brain".
- Gargalo: O Ceph ama largura de banda e odeia latência. Redes de 1GbE vão te fazer chorar; invista em adaptadores 2.5GbE ou 10GbE.
- Discos: Use SSDs NVMe para o Ceph (OSDs). HDDs mecânicos ou SSDs SATA baratos vão matar a performance de IOPS das suas VMs.
O conceito de hiperconvergência acessível
Antigamente, para ter um cluster sério, você precisava de servidores de computação de um lado e um storage parrudo (NAS/SAN) do outro, ligados por uma rede de fibra cara. A hiperconvergência (HCI) mudou isso. Ela mistura computação e armazenamento no mesmo hardware.
No nosso cenário, cada Mini PC contribui com CPU/RAM para rodar as máquinas virtuais e com um disco (SSD/NVMe) para o pool de armazenamento compartilhado. O Ceph é a mágica de software que pega esses discos individuais e os apresenta como um único "blocão" de armazenamento para o cluster. Se um nó queimar, os dados (e as VMs) continuam rodando nos outros dois.
Figura: Três Mini PCs empilhados conectados a um switch de rede, ilustrando a base física do cluster.
Seleção do hardware e a importância da rede
Aqui é onde a "gambiarra técnica" precisa ser inteligente. Não adianta pegar qualquer sucata. Para o Ceph brilhar, precisamos equilibrar CPU e, principalmente, I/O de disco e rede.
O Computador (Nó)
Recomendo Mini PCs com processadores Intel Core i5 de 8ª geração ou superior (ex: i5-8500T). Eles são baratos, eficientes e suportam bastante RAM (geralmente até 64GB). O mais importante: eles costumam ter um slot M.2 NVMe e um slot SATA de 2.5".
O Armazenamento (Storage)
Aqui temos uma bifurcação crítica.
Disco de Boot: Pode ser um SSD SATA simples de 120GB/240GB. O Proxmox não precisa de muito.
Disco de Ceph (OSD): Aqui você deve usar o slot NVMe. O Ceph escreve dados e metadados intensamente. A latência baixa do protocolo NVMe faz uma diferença brutal comparada ao SATA.
💡 Dica Pro: Se o seu Mini PC tiver apenas um slot M.2, você pode instalar o Proxmox em um pendrive USB de alta qualidade (ou SSD externo via USB) e deixar o NVMe interno exclusivo para o Ceph. Não é o ideal para produção enterprise, mas funciona muito bem no lab.
A Rede (Onde o filho chora e a mãe não vê)
O Ceph replica dados via rede. Cada bit escrito em um disco é copiado para os outros nós. Em uma rede Gigabit (1GbE), você terá um teto teórico de ~110 MB/s. Isso é lento para sincronizar dados e rodar VMs simultaneamente.
A solução "custo-benefício" atual são os adaptadores USB 2.5GbE (chipset Realtek RTL8156B) ou, se o seu Mini PC tiver slot PCIe livre (raro), uma placa 10GbE.
Tabela: Impacto da Rede no Ceph
| Tipo de Rede | Latência | Throughput Real | Veredito para Ceph |
|---|---|---|---|
| 1 GbE | Alta sob carga | ~110 MB/s | Evite. Serve apenas para testes funcionais, não para uso real. |
| 2.5 GbE | Média/Baixa | ~280 MB/s | Ponto ideal. Custo baixo e performance aceitável para Home Lab. |
| 10 GbE+ | Baixa | ~1.1 GB/s+ | Sonho. Performance similar a disco local, mas encarece o switch e os nós. |
Preparação da rede e instalação
Antes de instalar o Proxmox, planeje seus IPs. Um cluster saudável precisa de separação de tráfego. No mundo ideal, teríamos switches separados. No home lab, usamos VLANs ou sub-redes diferentes.
Eu configuro meus nós assim:
Rede de Gerenciamento (vmbr0): 192.168.1.x (Onde acesso a GUI e onde as VMs saem para a internet).
Rede de Cluster/Ceph (física dedicada ou VLAN): 10.10.10.x (Jumbo Frames MTU 9000 ativado, se o switch suportar).
Ao instalar o Proxmox VE nos SSDs de boot, garanta que os nomes dos hosts sejam sequenciais (ex: pve-01, pve-02, pve-03) e que todos tenham IPs estáticos fixos. Nunca use DHCP para nós de cluster.
⚠️ Perigo: Se você misturar o tráfego de replicação do Ceph (recovery) com o tráfego de acesso das VMs e gerenciamento em uma única interface de 1GbE, seu cluster vai travar (stall) assim que um disco falhar e começar a reconstrução.
Figura: Diagrama lógico separando o tráfego de gerenciamento do tráfego de replicação do Ceph.
Criação do cluster e gerenciamento de quorum
Com os três nós instalados e pingando entre si, vamos criar o cluster. Acesse o pve-01, vá em Datacenter > Cluster > Create Cluster. Dê um nome legal (eu uso homelab-ha).
Depois, nos outros nós, copie a "Join Information" do primeiro nó e cole na área de Join Cluster.
Por que 3 nós?
O Proxmox usa um software chamado Corosync para manter o estado do cluster. Ele funciona na base de votos. Para um cluster funcionar, ele precisa de mais de 50% dos votos (Quorum).
1 Nó: 1 voto.
2 Nós: 2 votos. Se um cai, sobra 1 (50%). O cluster bloqueia para evitar corrupção de dados (split-brain).
3 Nós: 3 votos. Se um cai, sobram 2 (66%). O cluster continua vivo.
Se você tem apenas dois Mini PCs, pode usar um Raspberry Pi como um "QDevice" (dispositivo de quorum) externo para dar o terceiro voto, mas para rodar Ceph, três nós completos são o mínimo recomendado.
Implementação do Ceph: OSDs e Pools
Agora a diversão começa. No Proxmox, a integração com Ceph é nativa e linda.
Vá em um dos nós > Ceph. O sistema vai pedir para instalar os pacotes. Confirme.
Configuração de Rede: Selecione a interface de rede dedicada (aquela 10.10.10.x que criamos) para "Cluster Network" e "Public Network" do Ceph.
Monitors (MONs): O cluster precisa de monitores para saber quem está vivo. Crie um Monitor em cada um dos três nós.
Managers (MGRs): Crie managers em todos os nós também.
Criando os OSDs (Object Storage Daemons)
O OSD é a unidade básica de armazenamento. É o software que fala direto com o disco. Vá na aba Ceph > OSD > Create: OSD. Selecione o seu disco NVMe vazio. O Proxmox vai formatá-lo e adicioná-lo ao cluster. Repita isso nos três nós.
Ao final, você terá 3 OSDs "Up" e "In".
Pools e a Regra 3/2
Agora criamos o "Pool" onde as VMs vão morar.
Size: 3 (O dado é gravado em 3 lugares diferentes).
Min Size: 2 (O dado precisa ser gravado em pelo menos 2 lugares para ser considerado seguro e permitir I/O).
Isso significa que podemos perder 1 nó inteiro e o sistema continua funcionando e aceitando gravações.
Figura: Interface do Proxmox exibindo o painel de status do Ceph com saúde 'OK' e OSDs ativos.
Alta Disponibilidade (HA) e Fencing
Ter o Ceph rodando não significa que a VM vai reiniciar sozinha se o nó morrer. Precisamos configurar o HA Manager.
Vá em Datacenter > HA > Groups. Crie um grupo e adicione todos os nós. Depois, vá em Datacenter > HA > Resources e adicione as VMs que você quer proteger a esse grupo. Defina o estado como "Started".
O problema do Fencing
Em servidores enterprise, temos placas IPMI/iDRAC que permitem ao cluster desligar fisicamente um servidor travado. Mini PCs não têm isso.
Se o pve-01 travar, o cluster precisa ter certeza que ele está morto antes de subir a VM no pve-02, senão dois nós podem tentar gravar no mesmo disco virtual ao mesmo tempo (corrupção total).
Como resolvemos isso em Mini PCs? Watchdogs de Hardware. Os processadores Intel modernos têm um timer de watchdog. O Proxmox usa isso. Se o sistema operacional travar e parar de "chutar o cachorro" (resetar o timer), o hardware reinicia a máquina forçadamente, garantindo que ela saia do ar e libere os recursos (locks) para os outros nós.
Teste de desligamento abrupto
Não confie na configuração até testá-la. Crie uma VM Linux leve, coloque-a para rodar um script que grava um arquivo de texto com o timestamp a cada segundo.
while true; do date >> teste_ha.txt; sync; sleep 1; done
Agora, o momento da verdade: Puxe o cabo de força do nó onde essa VM está rodando.
O que deve acontecer:
A VM vai parar de responder (óbvio).
Os outros dois nós vão perceber a falta de comunicação.
O status do Ceph vai entrar em "Degraded" (pois perdeu uma cópia dos dados), mas continuará funcionando.
Após cerca de 1 a 2 minutos (tempo padrão de detecção), o Proxmox vai reiniciar a VM em um dos nós sobreviventes.
Ao logar na VM, verifique o arquivo
teste_ha.txt. Você verá um "buraco" no tempo correspondente ao reboot, mas o arquivo estará íntegro e o sistema de arquivos não deve estar corrompido.
Figura: Teste prático de HA: removendo a energia de um nó e observando a recuperação no monitor.
Diagnóstico e reconstrução
Quando você ligar o nó desligado de volta, a mágica do Self-Healing acontece. O Ceph vai perceber que o OSD voltou, mas que ele está desatualizado (faltam as gravações que ocorreram enquanto ele estava fora). O cluster começará a sincronizar apenas os dados diferenciais.
Você verá o tráfego de rede subir na interface dedicada ao Ceph. Se você estiver usando rede de 1GbE, sentirá suas VMs ficarem lentas agora. Se estiver em 2.5GbE ou superior, será quase imperceptível.
Latência de Cauda
Fique de olho na latência de commit. Se um dos seus SSDs NVMe estiver morrendo ou superaquecendo (throttling), ele vai deixar todo o cluster lento, pois o Ceph precisa da confirmação de gravação de todas as réplicas ativas. Use o comando ceph osd perf no shell para identificar discos lentos.
Veredito do Lab
Montar um cluster Proxmox com Ceph em Mini PCs é a graduação do homelabber. Você deixa de ser apenas alguém que roda Plex e passa a entender como a infraestrutura da nuvem funciona por baixo do capô.
Embora o custo inicial seja maior (3 máquinas, switch, SSDs extras), a paz de espírito de saber que você pode chutar um servidor e nada para de funcionar é impagável. Só não esqueça: RAID/Ceph não é backup. Mantenha seus backups externos em dia, de preferência em outro local físico.
Perguntas Frequentes (FAQ)
É possível rodar Ceph em rede de 1GbE?
Tecnicamente sim, mas não é recomendado para produção. A latência será alta e a reconstrução dos dados (rebalance) saturará a rede, derrubando a performance das VMs. Recomenda-se no mínimo 2.5GbE ou 10GbE dedicado para o tráfego de storage.Quantos nós são necessários para um cluster Proxmox HA real?
Você precisa de no mínimo três nós para manter o quorum (votos) automaticamente em caso de falha de um deles. Com dois nós, é necessário um dispositivo externo (QDevice) para desempatar a votação.Qual a diferença entre ZFS Replication e Ceph?
O ZFS Replication copia dados periodicamente (assíncrono), o que pode gerar perda de dados de alguns minutos em caso de falha. O Ceph é síncrono e distribuído em tempo real, garantindo que o dado exista em múltiplos discos simultaneamente, ideal para HA instantâneo.Referências
Documentação Oficial do Proxmox VE (High Availability).
Documentação do Ceph (CRUSH Maps e OSD Management).
Fóruns ServeTheHome (Seção de Micro Server/Mini PC).
Magnus Vance
Engenheiro do Caos
"Quebro sistemas propositalmente porque a falha é inevitável. Transformo desastres simulados em vacinas para sua infraestrutura. Se não sobrevive ao meu caos, não merece estar em produção."