Firewall ou outra solução para failover automático para um segundo servidor?

1

Assuma uma situação como esta:

  • Servidor 1 - FreeBSD, Apache - serve todo o tráfego da web

  • Servidor 2 - FreeBSD, Apache - apenas fica parado em marcha lenta

É uma maneira fácil de configurar as coisas para que, se o Servidor 1 falhar, o tráfego seja roteado automaticamente para o Servidor 2?

Uma rápida tempestade cerebral me faz pensar que deve haver algum tipo de firewall ou dispositivo de hardware trivial que eu possa configurar na frente de ambas as caixas:

  • Receber solicitação na porta XXX
  • Tente encaminhar a solicitação para o servidor 1
  • Se SUCCESS Retornar resposta
  • Caso contrário, tente encaminhar a solicitação para o servidor 2, resposta de retorno

Pergunta adicional: Estou familiarizado com o pfSense ... isso pode ser feito no pfSense?

    
por Keith Palmer Jr. 18.12.2009 / 17:46

3 respostas

1

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.

    
por 18.12.2009 / 19:19
0

você pode obter um balanceador de carga barracuda ou configurar o balanceamento de carga em seu firewall.

    
por 18.12.2009 / 17:50
0

Se você não quiser investir dinheiro extra neste projeto, o Linux HA seria um excelente ajuste. Ele funciona da melhor maneira, já que não exige que você crie uma infraestrutura extra extensa e cara (como um cluster de banco de dados separado)

Além disso, falando em DB - a menos que seu servidor da Web hospede alguns dados estáticos, é necessário garantir que dois servidores permaneçam em sincronia. Você pode descrever sua configuração com um pouco mais de detalhes

    
por 18.12.2009 / 20:56

Tags