DNS Round Robin somente se um desce?

2

Eu tenho dois servidores, recursos iguais em termos de poder de processamento e carga. O que estou tentando realizar é o seguinte: (Eu já possuo e gerencio servidores DNS, portanto, isso não deveria ser um problema).

O servidor A servirá TODAS as solicitações recebidas para sub.domain.com O servidor B servirá APENAS enquanto o servidor A estiver inativo, e se precisar aguardar alguns momentos para decidir, tudo bem.

É possível? O round robin ponderado não funciona para o que eu preciso, nem o round robin regular, pois ele só avançará para o próximo servidor se o primeiro pedido for entregue com sucesso.

Existe uma maneira de fazer com que, se sub.domain.com no servidor A estiver indisponível, encaminhe para o servidor B até que A fique on-line?

Obrigado, isso realmente ajudará na consistência do meu projeto.

    
por U4iK_HaZe 29.07.2011 / 21:07

3 respostas

6

Is there a way to make it so that if sub.domain.com on server A is unavailable, forward to server B until A comes online?

Não via DNS - pelo menos não sem um servidor DNS personalizado monitorando e mudando os registros na hora (o que não funcionaria muito bem). Para obter esse comportamento, você precisará de um sistema entre os clientes e os servidores que manipulam a lógica de failover. O HAProxy é sempre uma boa opção, e supondo que seja o tráfego http, vários tipos de servidores web comuns (Apache, nginx, lighttpd) também podem fazer o que você precisa.

    
por 29.07.2011 / 21:27
2

Outra opção é algo como o CARP. Você atribui um endereço IP virtual a ambos os servidores, e eles fazem ping uns aos outros periodicamente e, desde que o 'mestre' esteja ativo, ele obterá o tráfego, mas se ele parar de responder, o escravo assumirá esse ip. Isso faz com que seja totalmente transparente para as aplicações.

CARP - Protocolo de Redundância de Endereços Comuns

    
por 29.07.2011 / 23:06
2

Os GTMs F5 fazem exatamente isso, entre outras coisas. Eles fazem testes em dispositivos para ver se estão ativos e alteram os registros DNS para o valor apropriado.

Se você se sentir particularmente aventureiro, poderá permitir atualizações dinâmicas da sua zona DNS. Então, do host B, verifica o host A usando algum tipo de script. Se detectar que o host A está inativo / inacessível / sem resposta, ele pode enviar uma solicitação de atualização de DNS para alterar o IP. O host A pode fazer o inverso e definir automaticamente o registro DNS de volta ao seu IP após um determinado período de tempo de "upness".

Você também pode usar as opções do HAProxy, ou outras opções de alta disponibilidade como o CARP, ou olhar para o Linux- HA.org site.

    
por 30.07.2011 / 01:11