Temos um pequeno datacenter com cerca de cem hosts apontando para 3 servidores DNS internos (bind 9). Nosso problema ocorre quando um dos servidores DNS internos fica indisponível. Nesse ponto, todos os clientes que apontam para esse servidor começam a executar muito lentamente.
O problema parece ser que o resolvedor de estoque linux realmente não tem o conceito de "failover" para um servidor DNS diferente. Você pode ajustar o tempo limite e o número de tentativas que ele usa (e definir rodar para que funcione na lista), mas não importa quais configurações sejam usadas pelos nossos serviços, elas executam muito mais lentamente se um servidor DNS primário ficar indisponível. No momento, essa é uma das maiores fontes de interrupção de serviço para nós.
Minha resposta ideal seria algo como "RTFM: tweak /etc/resolv.conf assim ...", mas se essa é uma opção, não a vi.
Eu queria saber como outras pessoas lidaram com esse problema?
Eu posso ver três tipos possíveis de soluções:
Use linux-ha / pacemaker e ips de failover (para que os VIPs IP do DNS estejam "sempre" disponíveis). Infelizmente, não temos uma boa infraestrutura de esgrima, e sem o marcapasso de esgrima não funciona muito bem (na minha experiência, o Pacemaker reduz a disponibilidade sem esgrima).
Execute um servidor DNS local em cada nó e faça com que o resolv.conf aponte para localhost. Isso funcionaria, mas nos daria muito mais serviços para monitorar e gerenciar.
Execute um cache local em cada nó. As pessoas parecem considerar o nscd "quebrado", mas o dnrd parece ter o conjunto correto de recursos: marca os servidores DNS como ativo ou inativo e não usa servidores DNS "inativos".
Qualquer conversão parece funcionar apenas no nível de roteamento IP e depende das atualizações de rota para falha do servidor. A transmissão múltipla parecia ser uma resposta perfeita, mas o bind não suporta transmissão ou transmissão múltipla, e os documentos que pude encontrar parecem sugerir que o DNS multicast é mais voltado para a descoberta e configuração automática de serviços do que para a resolução regular de DNS .
Estou perdendo uma solução óbvia?