Como montar um cluster de alta disponibilidade com Proxmox e Ceph usando mini PCs

      Roberto Xavier 10 min de leitura
      Como montar um cluster de alta disponibilidade com Proxmox e Ceph usando mini PCs

      Aprenda a criar um home lab resiliente com Proxmox VE 8 e Ceph. Guia prático para transformar mini PCs e rede 2.5GbE em uma infraestrutura de armazenamento distribuído enterprise.

      Compartilhar:

      Sabe aquele momento de pânico silencioso quando o Plex trava no meio do filme de sábado à noite e a família inteira olha para você? Ou quando o Home Assistant para de responder e você não consegue acender a luz da cozinha? Se você é o "sysadmin da casa", sabe que o tempo de inatividade (downtime) é o inimigo número um da aceitação familiar.

      Por anos, a solução para alta disponibilidade (HA) era coisa de datacenter: racks barulhentos, SANs de fibra óptica e contas de luz que fariam qualquer um chorar. Mas o jogo mudou. Hoje, com a ascensão dos Mini PCs potentes e o amadurecimento do Proxmox VE com Ceph integrado, podemos construir um cluster hiperconvergente que cabe na prateleira da estante, gasta menos energia que uma lâmpada incandescente antiga e sobrevive a falhas catastróficas de hardware.

      Vamos montar uma infraestrutura onde você pode literalmente arrancar o cabo de força de um servidor e o vídeo nem sequer engasga. Bem-vindo ao mundo da alta disponibilidade doméstica.

      Resumo em 30 segundos

      • A Regra de Três: Um cluster de alta disponibilidade real exige no mínimo 3 nós para manter o quórum (votação) e evitar corrupção de dados.
      • O Gargalo da Rede: Esqueça o gigabit padrão. Para o Ceph funcionar bem, você precisa de uma rede dedicada de pelo menos 2.5GbE para o tráfego de armazenamento.
      • O Perigo do SSD Barato: SSDs de consumo sem proteção contra perda de energia (PLP) podem destruir a performance do Ceph. Escolha discos enterprise usados ou prepare-se para latência.

      A trindade dos mini PCs: escolhendo o hardware

      Para montar um cluster Proxmox com Ceph, precisamos entender o conceito de "nós". O Ceph é um sistema de arquivos distribuído que espalha seus dados em pedaços por vários discos em vários computadores. Para que ele saiba qual dado é o verdadeiro em caso de falha, ele precisa de uma maioria de votos (quórum).

      Se você tiver 2 nós e um cair, o que sobra tem apenas 50% dos votos. O cluster trava para evitar escrever dados errados (o temido split-brain). Por isso, o número mágico é três.

      Três Mini PCs empilhados conectados a um switch de rede, formando a base física do cluster. Figura: Três Mini PCs empilhados conectados a um switch de rede, formando a base física do cluster.

      O dilema do armazenamento: SSD de consumo vs Enterprise

      Aqui é onde a maioria dos projetos de home lab bate de frente com a parede. O Ceph preza pela integridade dos dados acima de tudo. Quando uma VM pede para gravar um arquivo, o Ceph não diz "ok" até que o dado esteja fisicamente gravado na memória flash do disco e replicado para os outros nós.

      SSDs de consumo (Samsung EVO, WD Black, Kingston) dependem de um cache DRAM volátil para serem rápidos. Quando o Ceph força a gravação direta no disco (sync write), esses SSDs despencam de 3000 MB/s para ridículos 30 MB/s, pois eles não têm capacitores de proteção contra perda de energia (PLP).

      💡 Dica Pro: Procure no mercado de usados por SSDs NVMe ou SATA "Enterprise" ou "Data Center" (ex: Intel série DC, Samsung PM983). Um drive enterprise antigo de 2018 com PLP vai humilhar um NVMe Gen4 gamer novo em cargas de trabalho do Ceph.

      Tabela comparativa: tipos de armazenamento para Ceph

      Característica SSD Consumidor (Gamer) SSD Enterprise (PLP) HDD Mecânico
      IOPS de Escrita Síncrona Muito Baixo (< 1k) Alto (> 30k) Crítico (< 100)
      Latência Alta e instável (picos de ms) Baixa e consistente Altíssima
      Custo por TB Médio Alto (Novo) / Médio (Usado) Baixo
      Recomendação Apenas para leitura/OS Ideal para OSDs Ceph Apenas para Cold Storage

      Preparando o terreno: rede 2.5GbE é o novo padrão

      O Ceph é faminto por largura de banda. Cada vez que você grava um dado, ele gera tráfego de replicação na rede. Se você misturar o tráfego das suas VMs (YouTube, Plex, Downloads) com o tráfego de replicação do Ceph em uma única porta de 1GbE, seu cluster vai engasgar.

      A beleza dos Mini PCs modernos (baseados em Intel N100 ou Ryzen série 5000/6000) é que muitos já vêm com portas 2.5GbE nativas.

      O design ideal para nosso laboratório separa o tráfego em duas redes físicas ou VLANs distintas:

      1. Rede Pública (Front-end): Por onde você acessa o Proxmox e as VMs acessam a internet.

      2. Rede de Cluster (Back-end): Exclusiva para o Ceph e migração de VMs (Corosync).

      Se seus Mini PCs tiverem apenas uma porta de rede, você pode usar adaptadores USB 3.0 para 2.5GbE (com chipsets Realtek RTL8156B), mas esteja ciente de que USB pode ser instável sob carga pesada contínua. A melhor opção é sempre usar slots M.2 A+E ou PCIe se disponíveis para adicionar placas de rede reais.

      Diagrama lógico separando a rede pública de gerenciamento da rede privada de alta velocidade para o tráfego de armazenamento Ceph. Figura: Diagrama lógico separando a rede pública de gerenciamento da rede privada de alta velocidade para o tráfego de armazenamento Ceph.


      Inicializando o Ceph: monitores e managers

      Com o Proxmox VE 8 instalado nos três nós, a mágica acontece na interface web. O Proxmox democratizou o Ceph. O que antes exigia dias de edição de arquivos de configuração via linha de comando, agora é um "Wizard" de cliques.

      Ao instalar o Ceph em cada nó, você precisará configurar os componentes lógicos:

      1. Monitores (MON): Eles mantêm o mapa do cluster. Você precisa de um número ímpar. Em nosso setup de 3 nós, instalaremos um MON em cada nó.

      2. Managers (MGR): Coletam métricas e estado. Instale um em cada nó também para redundância.

      ⚠️ Perigo: Nunca rode um cluster Ceph com número par de Monitores (ex: 2). Se a rede entre eles falhar, o cluster não saberá quem tem a razão e entrará em modo somente leitura ou travará completamente.

      A regra de replicação 3/2

      Por padrão, configuraremos nosso "Pool" de armazenamento com size=3 e min_size=2.

      • Size=3: Cada dado gravado será copiado para 3 discos diferentes (um em cada nó).

      • Min_size=2: O cluster aceita gravar dados desde que pelo menos 2 cópias sejam confirmadas. Isso permite que um nó fique offline para manutenção sem parar o sistema, mas impede a escrita se dois nós caírem, protegendo contra perda de dados.


      Transformando NVMe em OSDs e o mapa CRUSH

      Agora precisamos entregar os discos para o Ceph. No jargão técnico, cada disco físico vira um OSD (Object Storage Daemon).

      No Proxmox, vá em Ceph > OSD > Create: OSD. Selecione seu disco NVMe vazio. O sistema usará o BlueStore, que é o motor de armazenamento nativo do Ceph. Ele escreve diretamente no disco bruto, sem precisar de um sistema de arquivos intermediário como ext4 ou XFS, o que reduz a latência.

      Representação da interface do Proxmox mostrando os discos OSD com status saudável (UP/IN). Figura: Representação da interface do Proxmox mostrando os discos OSD com status saudável (UP/IN).

      O algoritmo CRUSH

      Aqui está a genialidade do Ceph. Ele não usa uma tabela central para saber onde cada arquivo está (o que seria lento). Ele usa um algoritmo matemático chamado CRUSH. Qualquer nó pode calcular instantaneamente onde um dado deve estar.

      Para nosso home lab, precisamos editar o CRUSH Map para entender que a falha deve ser isolada por "host" (nó), e não por "rack" ou "datacenter", já que provavelmente todos os seus mini PCs estão na mesma mesa. O Proxmox geralmente detecta isso automaticamente na instalação padrão.


      O teste do cabo de rede: alta disponibilidade na prática

      Chegamos ao momento da verdade. Você criou um grupo de Alta Disponibilidade (HA Group) no Proxmox e adicionou uma VM (digamos, seu Home Assistant) a ele. A VM está rodando no Nó 1. O disco da VM, porém, está espalhado entre o Nó 1, 2 e 3 graças ao Ceph.

      O que acontece se você puxar o cabo de rede do Nó 1?

      1. Detecção: O Corosync (protocolo de cluster) nos Nós 2 e 3 percebe que o Nó 1 parou de responder em milissegundos.

      2. Votação: Os Nós 2 e 3 formam um quórum e decretam que o Nó 1 está "morto" (fencing).

      3. Recuperação: O Proxmox reinicia a VM automaticamente no Nó 2 ou 3.

      4. Dados: Como os dados já estavam replicados no disco do Nó 2 e 3, a VM boota instantaneamente, sem perda de dados do disco, perdendo apenas o que estava na memória RAM volátil naquele segundo.

      Para o usuário final, o serviço fica indisponível por cerca de 1 a 2 minutos (tempo de boot da VM), e volta sozinho. Sem intervenção humana. Sem backup manual.

      O teste prático de falha: desconectando um nó e observando a retomada automática do serviço. Figura: O teste prático de falha: desconectando um nó e observando a retomada automática do serviço.


      Lidando com a reconstrução e latência

      Nem tudo são flores. Quando um nó volta online (você reconectou o cabo), o Ceph percebe que os dados daquele nó estão desatualizados. Ele começa o processo de Recovery/Rebalance.

      É aqui que sua rede de 2.5GbE brilha. O Ceph vai copiar os dados que mudaram dos nós saudáveis para o nó que voltou. Se sua rede for lenta, isso vai saturar a banda e deixar suas VMs lentas (latência de cauda).

      Em um ambiente doméstico com 3 nós, a reconstrução é rápida porque a quantidade de dados novos gerados em alguns minutos é pequena. Mas se você perder um disco de 2TB cheio e precisar substituí-lo, a reconstrução pode levar horas. Durante esse tempo, o cluster fica em estado de alerta (Health WARN), mas seus serviços continuam rodando.

      O futuro do seu Home Lab

      Montar um cluster Proxmox + Ceph com Mini PCs é o rito de passagem definitivo para o entusiasta de armazenamento. Você deixa de ser alguém que "tem uns computadores" para se tornar o operador de uma nuvem privada resiliente.

      A próxima fronteira? Explorar o CephFS para substituir seu NAS tradicional, permitindo que todos os contêineres Docker acessem uma pasta compartilhada que também é replicada e à prova de falhas. Mas isso é assunto para outra gambiarra.


      Perguntas Frequentes (FAQ)

      É possível rodar Ceph com apenas 2 nós? Tecnicamente sim, mas é uma péssima ideia para Alta Disponibilidade real. O Ceph funciona na base da democracia (quórum). Se você tem 2 nós e um cai, o sobrevivente tem apenas 50% dos votos, o que não é maioria. O cluster trava para evitar o "split-brain" (corrupção de dados). O mínimo seguro são 3 nós.
      Preciso mesmo de SSDs Enterprise para usar Ceph no Home Lab? Se você valoriza sua sanidade, sim. O Ceph faz muitas escritas síncronas (confirmação imediata). SSDs comuns de consumidor não têm capacitores para proteger o cache (PLP) e, por segurança, reduzem a velocidade drasticamente nessas operações. Usar drives comuns vai deixar seu cluster lento e suas VMs travando.
      Uma rede de 1GbE dá conta do recado? Para brincar, talvez. Para produção, não. O tráfego de replicação dos dados e o "heartbeat" (sinal de vida) do cluster saturam 1GbE muito rápido. Isso causa instabilidade e pode fazer nós serem marcados como offline falsamente. O padrão atual para um lab estável é usar 2.5GbE ou 10GbE na rede de backend.
      #Proxmox HA Cluster #Ceph Home Lab #Mini PC Server #Armazenamento Distribuído #Proxmox VE 8 #NVMe PLP #Rede 2.5GbE
      Roberto Xavier
      Assinatura Técnica

      Roberto Xavier

      Comandante de Incidentes

      "Lidero equipes em momentos críticos de infraestrutura. Priorizo a restauração rápida de serviços e promovo uma cultura de post-mortem sem culpa para construir sistemas mais resilientes."