Como montar um cluster Proxmox hiperconvergente com Ceph all-NVMe usando mini PCs

      Arthur Siqueira 12 min de leitura
      Como montar um cluster Proxmox hiperconvergente com Ceph all-NVMe usando mini PCs

      Aprenda a construir um cluster hiperconvergente (HCI) de baixo custo e alta performance no seu home lab usando Proxmox, armazenamento Ceph all-NVMe e mini PCs.

      Compartilhar:

      Sabe aquele rack de servidores barulhento, que consome energia como um chuveiro elétrico e esquenta o seu escritório inteiro? Nós vamos substituir tudo isso por três caixinhas do tamanho de um roteador. A ideia de ter uma infraestrutura de nível corporativo em casa sempre esbarrou no custo e no espaço. Mas a revolução dos mini PCs mudou as regras do jogo para quem constrói home labs.

      Hoje, vamos montar um cluster hiperconvergente (HCI) de bolso. Usaremos o Proxmox VE como nosso hypervisor e o Ceph para criar um pool de armazenamento distribuído usando apenas drives NVMe. É o tipo de projeto prático, com hardware acessível, que entrega uma performance absurda e tolerância a falhas real. Se um dos seus mini PCs pegar fogo, suas máquinas virtuais continuam rodando nos outros como se nada tivesse acontecido.

      Resumo em 30 segundos

      • Hiperconvergência real: Vamos unir processamento e armazenamento distribuído (Ceph) em três mini PCs idênticos rodando Proxmox VE.
      • Hardware essencial: O projeto exige drives NVMe para baixa latência e portas de rede de no mínimo 2.5GbE para suportar o tráfego de replicação.
      • Alta disponibilidade: Com três nós, garantimos o quórum do cluster, permitindo que um equipamento falhe sem derrubar suas máquinas virtuais.

      O que vamos construir na prática

      No mundo corporativo, a Infraestrutura Hiperconvergente (HCI) significa colocar computação, rede e armazenamento na mesma caixa, gerenciados por software. Em vez de ter um servidor ligado a um Storage Area Network (SAN) gigante por cabos de fibra, os próprios discos internos dos servidores formam uma rede de armazenamento unificada.

      Nós vamos fazer exatamente isso, mas em escala de laboratório. O Proxmox VE será o cérebro da operação, gerenciando as máquinas virtuais (VMs) e os contêineres (LXC). O Ceph será o nosso armazenamento definido por software (SDS). Ele vai pegar os SSDs NVMe de cada mini PC e fundi-los em um único disco virtual gigante e redundante.

      Diagrama conceitual de três mini PCs formando um pool de armazenamento unificado com Ceph. Figura: Diagrama conceitual de três mini PCs formando um pool de armazenamento unificado com Ceph.

      A mágica do Ceph é que ele replica os blocos de dados pela rede. Se você configurar uma replicação de tamanho três, cada arquivo salvo na sua VM existirá fisicamente nos três mini PCs ao mesmo tempo. É uma redundância fantástica para quem gosta de testar limites.

      Escolhendo o hardware certo para o home lab

      Para que esse cluster funcione sem gargalos, precisamos ser criteriosos na escolha do hardware. Mini PCs baseados em processadores Intel N100, N305 ou os AMD Ryzen mais recentes (como a linha 5000 ou 7000 mobile) são excelentes opções. Eles consomem entre 15W e 35W, o que sua conta de luz vai agradecer.

      No entanto, o processador não é o protagonista aqui. O armazenamento e a rede são os verdadeiros gargalos de um cluster Ceph.

      A obrigatoriedade do protocolo NVMe

      Você pode estar tentado a usar SSDs SATA baratos que estão sobrando na gaveta. Resista a essa tentação. O Ceph é um sistema de armazenamento incrivelmente robusto, mas ele gera uma sobrecarga (overhead) de latência natural devido à replicação via rede.

      O protocolo NVMe (Non-Volatile Memory Express) foi desenhado para se conectar diretamente ao barramento PCIe do processador. Ele suporta milhares de filas de entrada e saída (I/O) simultâneas. O SATA antigo suporta apenas uma fila com 32 comandos. Em um ambiente de máquinas virtuais, onde dezenas de sistemas operacionais pedem dados ao mesmo tempo, o SATA engasga e derruba a performance do cluster inteiro.

      Característica SSD SATA (AHCI) SSD NVMe (PCIe) Impacto no Cluster Ceph
      Filas de I/O 1 fila (32 comandos) 64.000 filas (64k comandos) NVMe evita gargalos quando várias VMs acessam o disco simultaneamente.
      Latência Média ~100 a 500 microssegundos ~10 a 30 microssegundos Ceph soma a latência do disco com a da rede. NVMe mantém o sistema responsivo.
      Banda Máxima ~600 MB/s 3.500 a 7.000+ MB/s NVMe acelera a reconstrução de dados (rebalance) se um nó falhar.
      Custo por TB Baixo Médio NVMe barateou muito, tornando o SATA obsoleto para hypervisors.

      💡 Dica Pro: Ao comprar seus mini PCs, verifique se o slot M.2 suporta NVMe PCIe Gen3 ou Gen4. Alguns modelos muito baratos da China trazem slots M.2 que só aceitam o protocolo SATA. Leia as especificações com atenção.

      A rede de 2.5GbE é o novo padrão mínimo

      O Ceph precisa de banda larga para replicar os dados em tempo real. Se uma VM grava 1GB de dados no nó 1, esse 1GB precisa viajar pela rede para o nó 2 e para o nó 3 instantaneamente.

      Uma rede Gigabit tradicional (1GbE) limita sua transferência a cerca de 110 MB/s. Isso é mais lento que um HD mecânico antigo. O seu pool all-NVMe ficaria estrangulado pela rede. O padrão atual para home labs de respeito é o 2.5GbE, que entrega cerca de 280 MB/s reais. Muitos mini PCs modernos já vêm com portas de rede 2.5GbE nativas da Intel (i225/i226) ou Realtek.

      Detalhe da porta de rede 2.5GbE e do slot NVMe, os dois pilares do nosso cluster. Figura: Detalhe da porta de rede 2.5GbE e do slot NVMe, os dois pilares do nosso cluster.

      Preparando a rede dedicada e o Proxmox

      Com os três mini PCs em mãos, instale o Proxmox VE em cada um deles. O ideal é ter um SSD pequeno (ou um pendrive de alta qualidade, embora não seja o recomendado para longo prazo) apenas para o sistema operacional do Proxmox, deixando o drive NVMe principal 100% dedicado e vazio para o Ceph.

      A regra de ouro de qualquer cluster de armazenamento é a separação de tráfego. Você não quer que o tráfego de replicação dos discos concorra com o tráfego de internet das suas VMs ou com o streaming do seu Plex.

      Se os seus mini PCs tiverem duas portas de rede, use uma para a rede de gerenciamento (onde você acessa a interface web) e a outra exclusivamente para a rede do Ceph (Cluster Network). Ligue essas portas de armazenamento em um switch 2.5GbE isolado, ou em uma VLAN separada.

      ⚠️ Perigo: Nunca use adaptadores de rede USB para a rede do Ceph. Eles sofrem com quedas de conexão e flutuações de latência. Se o Ceph perder pacotes de rede constantemente, ele vai marcar os discos como inativos e seu cluster vai entrar em colapso. Use sempre portas PCIe nativas.

      Instalando o Ceph no Proxmox VE

      A integração do Ceph no Proxmox é uma obra de arte. Você não precisa usar a linha de comando se não quiser. Tudo pode ser feito pela interface web (GUI).

      Primeiro, você precisa criar o cluster do Proxmox. No nó principal, vá em "Datacenter", depois em "Cluster" e clique em "Create Cluster". Pegue a chave de junção (Join Information) e cole nos outros dois nós. Em poucos minutos, você verá os três servidores listados na mesma tela.

      Agora, vamos ao armazenamento. Em cada nó, selecione o servidor, vá na aba "Ceph" e clique em "Install Ceph". O assistente vai pedir para você escolher a rede. Selecione a rede dedicada de 2.5GbE que configuramos no passo anterior.

      Monitores, Managers e OSDs

      Para o Ceph funcionar, ele precisa de três componentes básicos que você vai configurar na interface:

      1. Monitors (MON): Eles mantêm o mapa do cluster. Sabem onde cada pedaço de dado está. Você precisa de um MON em cada um dos três nós.

      2. Managers (MGR): Cuidam das métricas e do estado geral. Tenha pelo menos dois configurados.

      3. OSDs (Object Storage Daemons): Aqui é onde a mágica do hardware acontece. Cada disco físico NVMe que você vai usar para armazenar dados se torna um OSD.

      Vá na aba Ceph > OSD e clique em "Create: OSD". Selecione o seu drive NVMe vazio. Repita isso nos três mini PCs. Assim que o terceiro OSD for criado, o Proxmox vai iniciar o processo de "peering". Os discos vão conversar entre si e formar o pool de armazenamento.

      Interface do Proxmox mostrando o painel do Ceph com os OSDs saudáveis e ativos. Figura: Interface do Proxmox mostrando o painel do Ceph com os OSDs saudáveis e ativos.

      Para finalizar, crie um "CephFS" (para arquivos compartilhados) ou um "RBD" (Rados Block Device, ideal para os discos virtuais das VMs). Marque a caixa "Add as Storage" e pronto. Você agora tem um disco virtual distribuído disponível para criar suas máquinas virtuais.

      Testando a performance bruta com Fio

      Não adianta montar um motor V8 e não acelerar. Precisamos saber quantos IOPS (Operações de Entrada e Saída por Segundo) nosso cluster all-NVMe consegue entregar através da rede 2.5GbE.

      Para isso, usamos o fio (Flexible I/O Tester), a ferramenta padrão da indústria para benchmark de armazenamento. Crie uma máquina virtual Linux (um Ubuntu Server ou Debian) dentro do seu novo armazenamento Ceph. Acesse o terminal da VM e instale o pacote:

      sudo apt install fio

      Vamos rodar um teste de leitura aleatória (Random Read) com blocos de 4KB, que simula muito bem o comportamento de um banco de dados ou de um sistema operacional rodando:

      fio --name=teste-leitura --ioengine=libaio --rw=randread --bs=4k --numjobs=4 --size=4G --iodepth=64 --runtime=60 --time_based

      O que estamos fazendo aqui é forçar a VM a ler blocos minúsculos de dados espalhados pelo cluster. Como estamos usando NVMes, a profundidade da fila (iodepth=64) vai ser facilmente absorvida pelos discos.

      Resultado do teste Fio mostrando a alta taxa de IOPS do pool NVMe. Figura: Resultado do teste Fio mostrando a alta taxa de IOPS do pool NVMe.

      Se a sua rede 2.5GbE estiver bem configurada, você deve ver resultados na casa das dezenas de milhares de IOPS. Em um HD mecânico, esse número seria em torno de 100 IOPS. É uma diferença brutal que faz as VMs ligarem em segundos e as atualizações de sistema voarem.

      O pesadelo do quórum (E como resolver)

      Tudo é lindo até alguém tropeçar no cabo de força. O que acontece se um dos seus três mini PCs desligar abruptamente?

      Aqui entra o conceito de Quórum. O Proxmox e o Ceph usam um sistema de votação para evitar o temido "split-brain" (cérebro dividido). O split-brain ocorre quando a rede falha e o nó 1 acha que o nó 2 morreu, enquanto o nó 2 acha que o nó 1 morreu. Se ambos tentarem assumir o controle e gravar dados, o cluster corrompe tudo.

      Para evitar isso, o cluster precisa de uma maioria simples de votos para funcionar. Como temos três nós, precisamos de pelo menos dois nós online para ter mais de 50% dos votos (2 de 3).

      Se o nó 3 queimar a fonte, os nós 1 e 2 percebem a queda. Eles fazem uma votação, confirmam que ainda são a maioria (têm o quórum) e mantêm o armazenamento funcionando. As VMs que estavam no nó 3 vão cair, mas o recurso de High Availability (HA) do Proxmox vai reiniciá-las automaticamente nos nós 1 e 2 em poucos minutos.

      Um nó offline não derruba o cluster, desde que os outros dois mantenham o quórum. Figura: Um nó offline não derruba o cluster, desde que os outros dois mantenham o quórum.

      O problema real acontece se você desligar dois nós ao mesmo tempo. O nó restante terá apenas 1 voto de 3. Ele perde o quórum. Por segurança, ele vai travar todo o armazenamento (modo read-only ou bloqueio total) para proteger os dados. Suas VMs vão congelar.

      Para recuperar um cluster sem quórum, você precisa religar os nós caídos. Se o hardware pifou de vez, você terá que acessar o terminal do nó sobrevivente e forçar a redução dos votos esperados no arquivo de configuração do Corosync (o motor de cluster do Proxmox), um processo delicado que exige leitura atenta da documentação oficial. A regra de ouro é: nunca reinicie mais de um nó por vez durante suas manutenções.

      O próximo passo para sua infraestrutura

      Montar esse cluster hiperconvergente com mini PCs e NVMes prova que você não precisa de um orçamento de TI milionário para ter redundância e performance. Você acabou de construir uma arquitetura que espelha o que grandes datacenters fazem com racks inteiros.

      No entanto, alta disponibilidade não substitui backup. O Ceph protege você contra falhas de hardware, mas não contra falhas humanas. Se você deletar uma VM por engano, o Ceph vai replicar essa exclusão perfeitamente e instantaneamente para os três nós.

      A recomendação definitiva para fechar esse laboratório com chave de ouro é investir em um Nobreak (UPS) decente para evitar corrupção de dados por quedas de energia bruscas, e montar uma máquina separada, fora do cluster, rodando o Proxmox Backup Server. Assim, você garante a performance extrema no dia a dia e a paz de espírito quando o inevitável erro humano acontecer.

      Posso usar rede de 1GbE para rodar o Ceph no Proxmox? Não é recomendado. O Ceph exige muita banda e baixa latência para a replicação de dados entre os nós. O mínimo viável para um home lab com discos NVMe é uma rede de 2.5GbE, mas conexões de 10GbE são o ideal para evitar gargalos no barramento.
      Quantos mini PCs preciso para um cluster Proxmox com Ceph? O mínimo absoluto para garantir alta disponibilidade (HA) e manter o quórum no Ceph são três nós (nodes). Isso evita o cenário de 'split-brain' caso um dos equipamentos falhe ou seja reiniciado.
      SSDs SATA funcionam no lugar dos NVMes para esse projeto? Sim, funcionam, mas a latência do cluster Ceph será consideravelmente maior. O protocolo NVMe oferece o paralelismo e as filas de I/O necessárias para extrair o máximo de performance do armazenamento distribuído, especialmente em máquinas virtuais.
      #proxmox cluster #ceph storage #mini pc home lab #hiperconvergência #nvme ssd #proxmox ve #armazenamento distribuído
      Arthur Siqueira
      Assinatura Técnica

      Arthur Siqueira

      Analista de Mercado de Storage

      "Analiso o cenário macroeconômico do armazenamento corporativo. Meu foco está nos movimentos de consolidação, flutuações de market share e na saúde financeira que dita o futuro dos grandes players."