Dicas Para Minimizar a Latência no Corosync ao Formar um Cluster Proxmox Usando VPN

É inegável que surgirão problemas de sincronização no Cluster Proxmox quando a latência de cada nó for elevada. No entanto, a definição de “alta latência” é discutível. Para compreender como a latência afeta a estabilidade do Corosync, realizei uma experiência ligando um servidor através de uma rede 4G na mesma cidade ao meu Cluster Proxmox. Após esta experiência, elaborei as seguintes recomendações. É aconselhável realizar backups dos seus containers/VMs antes de realizar qualquer ação arriscada.

Recomendação 1: Minimize a Distância Física entre os Seus Dispositivos

Considerando que os seus servidores transferem dados através de fibra ótica, pode estimar a latência dividindo a distância física pela velocidade da luz. Quanto maior for a distância entre os servidores, maior será a latência. Recomendo que faça testes de ping entre os servidores; latências superiores a 100ms podem indicar problemas de sincronização. Na minha opinião, menos de 10ms é ideal para a formação segura de um Cluster Proxmox com vários servidores. Atualmente, mantenho um Cluster Proxmox com 6 nós na mesma cidade, incluindo um servidor utilizando uma rede 4G.

Recomendação 2: Gerencie Adequadamente a Largura de Banda da Internet

A velocidade de upload da minha rede 4G está limitada a cerca de 30MB/s. Um nó Proxmox em rede 4G pode desincronizar-se dos outros nós ao tentar utilizar toda a largura de banda para efetuar backups de VMs na minha pool SMB/CIFS. A Cloudflare possui uma vasta rede global com o objetivo de proporcionar baixa latência nos seus servidores DNS. Imagine esperar mais de 10 segundos por uma resposta ao realizar ping ao servidor DNS da Cloudflare. Isso seria um verdadeiro pesadelo. Recomendo não utilizar mais do que 100% da sua largura de banda de internet para evitar possíveis problemas, inclusive em pedidos DNS.

Recomendação 3: Utilize Duas VPNs para os Seus Servidores

Reserve um canal VPN exclusivo para o Cluster Proxmox. Para minimizar a latência do Corosync entre os servidores, é aconselhável utilizar um canal VPN dedicado ao Corosync (o seu Cluster Proxmox) e uma segunda VPN para transferências de dados intensivos, como backups de VMs. Pode utilizar plataformas como Tailscale para formar o Cluster Proxmox e usar Zerotier ou Clouflare Tunnels para transferências de dados. No entanto, dividir o canal VPN pode exigir a reintegração da sua pool de armazenamento ao Cluster Proxmox através de um novo IP.

Recomendação 4: Considerações Específicas ao Utilizar Tailscale

Se estiver a utilizar Tailscale, recomendo a randomização da porta padrão (41641 para WireGuard). Isso evita conflitos com outros processos que possam ocupar essa porta no seu IP público, o que poderia impedir a conexão direta entre servidores. Em situações sem um servidor de retransmissão Tailscale no seu país, a latência entre os seus servidores pode aumentar substancialmente. A randomização da porta utilizada pode resolver este problema. Note que não há forma de recusar a conexão aos servidores de retransmissão Tailscale quando não há uma conexão direta entre os seus servidores. Pode verificar o estado da conexão entre os seus servidores utilizando o comando:

Shell

Bash
tailscale status

Alguém mencionou que alterar o token do Corosync pode reduzir o efeito da alta latência, mas nunca tive oportunidade de testar essa abordagem. Convido-o a partilhar os seus pensamentos e experiências nos comentários abaixo. Sinta-se à vontade para corrigir-me caso tenha interpretado algo de forma incorreta.

Deixe um comentário