У нас є невеликий центр обробки даних із близько сотні хостів, які вказують на 3 внутрішніх серверів dns (bind 9). Наша проблема виникає, коли один з внутрішніх серверів dns стає недоступним. У цей момент всі клієнти, які вказують на цей сервер, починають працювати дуже повільно.
Проблема, мабуть, полягає в тому, що у біржового Linux-резолера насправді не існує концепції "провалу" на іншому сервері dns. Ви можете налаштувати тайм-аут та кількість повторень, які він використовує, (і встановити поворот таким чином, щоб він працював у списку), але незалежно від того, які налаштування використовує наші сервіси, виконується набагато повільніше, якщо основний сервер dns не буде доступний. На даний момент це одне з найбільших джерел перебоїв у обслуговуванні для нас.
Моєю ідеальною відповіддю було б щось на кшталт "RTFM: tweak /etc/resolv.conf like this ...", але якщо це варіант, я цього не бачив.
Мені було цікаво, як інші люди вирішували це питання?
Я бачу 3 можливі типи рішень:
Використовуйте ips linux-ha / Pacemaker та failover (тому IP-адреси dns IP "завжди" доступні). На жаль, у нас немає хорошої інфраструктури для фехтування, і без фехтування пейсмейкер не дуже добре працює (на мій досвід Pacemaker знижує доступність без огородження).
Запустіть локальний dns-сервер на кожному вузлі та наведіть на нього адресу reslav.conf. Це працювало б, але це дало б нам набагато більше служб для моніторингу та управління ними.
Запустіть локальний кеш на кожному вузлі. Здається, люди вважають nscd "зламаним", але, здається, dnrd має правильний набір функцій: він позначає dns-сервери як вгору чи вниз, і не використовуватиме "down" dns-сервери.
Здається, що будь-який кастинг працює лише на рівні маршрутизації ip і залежить від оновлення маршруту для відмови сервера. Мульти-кастинг здавався, що це буде ідеальною відповіддю, але прив'язка не підтримує трансляцію чи мульти-кастинг, і документи, які я можу знайти, здаються, що вони вважають, що багатоадресна передача даних більше спрямована на виявлення сервісу та автоматичну конфігурацію, а не на регулярне вирішення dns. .
Я пропускаю очевидне рішення?