A evolução dos discos de estado sólido (SSDs) trouxe um grande desafio para a infraestrutura de rede: os protocolos tradicionais de armazenamento, como o iSCSI, tornaram-se um gargalo físico para a velocidade dos componentes modernos. Para resolver isso, surgiu o NVMe-over-Fabrics (NVMe-oF). Utilizando a variante NVMe/TCP, torna-se possível conectar storages de altíssima velocidade através de redes Ethernet comuns, entregando a latência de um SSD local com a flexibilidade do armazenamento compartilhado.
Neste artigo, apresentamos uma visão prática e direta de como conectar dois servidores Proxmox VE 9 em Cluster a uma estrutura de Storage Redundante, garantindo tolerância a falhas e alta disponibilidade para as suas máquinas virtuais.
A Arquitetura do Ambiente
Para construir esse cenário com redundância total e eliminar pontos únicos de falha, a estrutura é dividida em blocos bem definidos:
- Os Clientes (Proxmox VE 9): Dois servidores configurados em cluster que rodam os sistemas virtuais. Cada servidor possui interfaces de rede físicas dedicadas exclusivamente ao tráfego de storage.
- Os Storages Redundantes: Dois servidores de armazenamento atuando como alvos (targets) NVMe. Eles utilizam replicação de blocos em tempo real para espelhar os dados. O gerenciamento de qual nó responde ativamente pelo serviço é automatizado por um sistema de cluster corporativo.
Cada nó do Proxmox se conecta aos dois storages simultaneamente. Se um switch de rede falhar ou um dos servidores de storage for desligado, o tráfego de dados é desviado instantaneamente para a rota sobrevivente.
O Segredo da Configuração: Identidade Unificada
O maior desafio ao usar o NVMe-over-TCP em ambientes de alta disponibilidade com discos espelhados é a forma como o sistema operacional gerencia a segurança e a identidade dos dispositivos. Por especificação do protocolo, o kernel do Linux rejeita conexões redundantes se notar qualquer inconsistência.
Para que o failover funcione de forma invisível e automática, os dois servidores de storage devem ser configurados como “gêmeos idênticos”. Eles precisam compartilhar de forma exata:
- O mesmo nome de subsistema de rede (NQN).
- O mesmo Número de Série (Serial) virtual do target.
- O mesmo Identificador Único (UUID) do Namespace (disco).
A única propriedade que deve ser estritamente diferente entre os storages é a faixa de identificação dos controladores lógicos. Isso evita que ambos tentem fechar o handshake de rede com o Proxmox usando o mesmo código de canal no mesmo milissegundo.
Como o Proxmox Gerencia a Conexão Persistente
No Proxmox VE 9, a abordagem mais eficiente é utilizar o Multipath Nativo do Kernel. Toda a gerência de rotas roda direto no driver de rede do sistema operacional, garantindo latência quase zero e eliminando a necessidade de daemons pesados em espaço de usuário.
A automação e resiliência desse processo são garantidas por um serviço personalizado estruturado na inicialização do Proxmox. Esse serviço executa os seguintes passos:
- Ativa a comunicação nas interfaces de rede dedicadas ao storage.
- Dispara a conexão síncrona com os endereços IP de ambos os storages.
- Configura o driver do kernel com persistência infinita e checagem agressiva.
Com esse ajuste de persistência, se um dos storages sumir da rede por horas para uma manutenção física, o Proxmox nunca deletará o controlador virtual do barramento. Ele continuará tentando restabelecer o contato a cada segundo em background, trazendo o caminho de volta para o estado ativo de forma 100% automática assim que o servidor de storage restabelecer a rede.
O Resultado Prático
Com essa arquitetura validada, o volume de armazenamento fica disponível e compartilhado nos dois servidores Proxmox ao mesmo tempo.
Durante testes de estresse — como a derrubada abrupta do storage principal —, o sistema realiza a transição de caminhos em menos de dois segundos. Como o tráfego de rede não sofre congelamentos longos, a pilha de armazenamento e os comandos de gerenciamento do Proxmox respondem de forma instantânea, permitindo que as máquinas virtuais em produção continuem operando normalmente e sem interrupções.

0 comentário