Abbiamo un piccolo datacenter con circa un centinaio di host che punta a 3 server DNS interni (bind 9). Il nostro problema si presenta quando uno dei server DNS interni non è disponibile. A quel punto tutti i client che puntano a quel server iniziano a funzionare molto lentamente.
Il problema sembra essere che il risolutore linux di serie non abbia davvero il concetto di "failover" su un server DNS diverso. È possibile regolare il timeout e il numero di tentativi che utilizza (e impostare la rotazione in modo che funzioni attraverso l'elenco), ma indipendentemente dalle impostazioni utilizzate dai nostri servizi, le prestazioni vengono eseguite molto più lentamente se un server DNS primario non è disponibile. Al momento questa è una delle maggiori fonti di interruzione del servizio per noi.
La mia risposta ideale sarebbe qualcosa come "RTFM: tweak /etc/resolv.conf come questo ...", ma se questa è un'opzione non l'ho vista.
Mi chiedevo come altre persone hanno gestito questo problema?
Vedo 3 possibili tipi di soluzioni:
Usa linux-ha / Pacemaker e ips di failover (quindi i VIP IP DNS sono "sempre" disponibili). Purtroppo, non disponiamo di una buona infrastruttura di scherma e senza pacemaker di scherma non funziona molto bene (nella mia esperienza Pacemaker riduce la disponibilità senza scherma).
Esegui un server DNS locale su ciascun nodo e fai in modo che resolv.conf faccia riferimento a localhost. Funzionerebbe, ma ci darebbe molti più servizi da monitorare e gestire.
Esegui una cache locale su ciascun nodo. La gente sembra considerare nscd "rotto", ma dnrd sembra avere il giusto set di funzionalità: contrassegna i server DNS come su o giù e non utilizzerà i server DNS "giù".
Any-casting sembra funzionare solo a livello di routing ip e dipende dagli aggiornamenti di route per guasti del server. Il multi-casting sembrava essere una risposta perfetta, ma il bind non supporta la trasmissione o il multi-casting e i documenti che ho trovato sembrano suggerire che il DNS multicast è più mirato alla scoperta del servizio e alla configurazione automatica piuttosto che alla normale risoluzione del DNS .
Mi sto perdendo una soluzione ovvia?