Você tem algumas opções:
-
Estabeleça um endereço IP "flutuante" e um mecanismo para movê-lo de um host para outro no caso de uma falha. Esse tipo de recurso é fornecido por soluções de "alta disponibilidade", como o projeto Linux HA e Pacemaker .
Esta solução não requer hardware extra.
-
Coloque um proxy de balanceamento de carga na frente dos dois servidores. Este é um sistema que aceita conexões de clientes e as passa para o servidor de backend. Normalmente, um proxy pode ser configurado para equilibrar a carga entre os dois ou dois, tratando-o como um destino de failover (a ser usado apenas se o sistema primário falhar). Você tem lotes de opções nesta categoria:
- O Apache inclui um balanceador de carga; veja a documentação sobre mod_proxy_balancer .
- O Libra é um proxy HTTP / HTTPS simples de configurar e flexível.
- O Balanço é um simples proxy TCP (o que significa que ele funcionará para protocolos diferentes de HTTP).
E existem muitos, muitos outros. Em geral, a maioria dos softwares que podem atuar como um proxy HTTP reverso (Squid, nginx, verniz, etc) podem fazer esse tipo de cluster ativo / passivo.
-
O Projeto Linux Virtual Server oferece uma solução de balanceamento de carga no nível do kernel.
Algo nesta lista deve ajudá-lo ou, pelo menos, levá-lo na direção certa.
Você perguntou especificamente sobre o pfSense. Do site do pfSense :
Limitations
- Equally distributes load between all available servers - unable to unequally distribute load between servers at this time.
- Only checks if the server responds to pings or TCP port connections. Cannot check if the server is returning valid content.
Portanto, a menos que os documentos estejam desatualizados, o pfSense não fará o que você deseja.