Nous avons un petit centre de données avec une centaine d'hôtes pointant vers 3 serveurs DNS internes (bind 9). Notre problème survient lorsqu'un des serveurs DNS internes devient indisponible. À ce stade, tous les clients qui pointent vers ce serveur commencent à fonctionner très lentement.
Le problème semble être que le résolveur Linux standard n'a pas vraiment le concept de "basculement" vers un autre serveur DNS. Vous pouvez ajuster le délai d'expiration et le nombre de nouvelles tentatives qu'il utilise (et définir la rotation pour qu'il fonctionne dans la liste), mais quels que soient les paramètres que nous utilisons, nos services fonctionnent beaucoup plus lentement si un serveur DNS principal devient indisponible. Pour le moment, il s'agit de l'une des plus importantes sources de perturbations de service pour nous.
Ma réponse idéale serait quelque chose comme "RTFM: tweak /etc/resolv.conf comme ça ...", mais si c'est une option, je ne l'ai pas vue.
Je me demandais comment d'autres personnes ont géré ce problème?
Je peux voir 3 types de solutions possibles:
Utilisez linux-ha / Pacemaker et les ips de basculement (pour que les VIP IP DNS soient "toujours" disponibles). Hélas, nous n'avons pas une bonne infrastructure d'escrime, et sans l'escrime, le stimulateur cardiaque ne fonctionne pas très bien (d'après mon expérience, Pacemaker réduit la disponibilité sans l'escrime).
Exécutez un serveur DNS local sur chaque nœud et faites pointer resolv.conf vers localhost. Cela fonctionnerait, mais cela nous donnerait beaucoup plus de services à surveiller et à gérer.
Exécutez un cache local sur chaque nœud. Les gens semblent considérer nscd comme "cassé", mais dnrd semble avoir le bon ensemble de fonctionnalités: il marque les serveurs DNS comme étant en haut ou en bas, et n'utilisera pas les serveurs DNS "en bas".
Any-casting semble fonctionner uniquement au niveau du routage IP, et dépend des mises à jour de route pour l'échec du serveur. La multidiffusion semblait être une réponse parfaite, mais bind ne prend pas en charge la diffusion ou la multidiffusion, et les documents que j'ai pu trouver semblent suggérer que le DNS de multidiffusion vise davantage la découverte de services et la configuration automatique plutôt que la résolution de DNS standard .
Suis-je en train de manquer une solution évidente?