Tenemos un pequeño centro de datos con aproximadamente cien hosts apuntando a 3 servidores DNS internos (enlace 9). Nuestro problema surge cuando uno de los servidores internos de DNS no está disponible. En ese punto, todos los clientes que apuntan a ese servidor comienzan a funcionar muy lentamente.
El problema parece ser que el solucionador de Linux no tiene realmente el concepto de "conmutación por error" a un servidor DNS diferente. Puede ajustar el tiempo de espera y la cantidad de reintentos que usa (y configurar rotar para que funcione en la lista), pero no importa qué configuración use uno de nuestros servicios, funcionará mucho más lentamente si un servidor DNS primario no está disponible. Por el momento, esta es una de las mayores fuentes de interrupciones del servicio para nosotros.
Mi respuesta ideal sería algo así como "RTFM: tweak /etc/resolv.conf like this ...", pero si esa es una opción, no la he visto.
Me preguntaba cómo otras personas manejaron este problema.
Puedo ver 3 posibles tipos de soluciones:
Utilice linux-ha / Pacemaker y failover ips (para que los VIP IP de dns estén "siempre" disponibles). Por desgracia, no tenemos una buena infraestructura de cercado, y sin el marcapasos de cercado no funciona muy bien (en mi experiencia, Pacemaker reduce la disponibilidad sin cercado).
Ejecute un servidor dns local en cada nodo y haga que resolv.conf apunte a localhost. Esto funcionaría, pero nos daría muchos más servicios para monitorear y administrar.
Ejecute un caché local en cada nodo. La gente parece considerar que nscd está "roto", pero dnrd parece tener el conjunto de características correcto: marca los servidores dns como activos o inactivos, y no usará servidores dns "inactivos".
Any-casting parece funcionar solo en el nivel de enrutamiento ip, y depende de las actualizaciones de ruta para la falla del servidor. La transmisión múltiple parecía ser una respuesta perfecta, pero bind no admite la transmisión ni la transmisión múltiple, y los documentos que pude encontrar parecen sugerir que la DNS multidifusión está más dirigida al descubrimiento de servicios y la configuración automática en lugar de la resolución DNS normal. .
¿Me estoy perdiendo una solución obvia?