Я искал, но не нашел ответа, поэтому прошу прощения, если об этом спрашивали здесь раньше.
У меня было два сервера PowerDNS - ns1
и ns2
(которые находятся в разных датацентрах). Оба подключаются к MySQL на локальном хосте, но MySQL на обоих серверах является подчиненными устройствами репликации главного сервера MySQL. db
. Это работает очень хорошо, так как обновление базы данных DNS на db
будет копировать в ns1
и ns2
, а затем powerdns будет правильно отображать записи DNS в обоих местах.
То, что я пытаюсь выполнить, но не могу понять, - это как справиться с ситуацией, когда хост mysql на любом ns1
или ns2
вылетает. Если mysql не работает, как я могу сказать powerdns временно пересылать DNS-запросы на другой сервер (пока mysql не вернется в сеть)? Я просмотрел pdns-recursor, но не вижу, как настроить его только для работы, когда mysql не работает.
Я открыт для творческих решений, таких как использование pdns на ненормальном порте, а затем nginx для «прокси» соединения с другим портом на сервере, а также разрешение nginx уведомлять об ошибке mysql и перенаправлять на другой сервер. Проблема в том, что я не знаю, с чего начать что-то подобное! Мне интересно (а) что является лучшим / наиболее надежным и (б) как конкретно я это делаю!
Я думаю, вы пытаетесь создать избыточность на неправильном уровне, поскольку у вас уже есть избыточные серверы имен.
Если MySQL выйдет из строя на NS1, PowerDNS тоже перестанет отвечать, верно? Когда распознаватель не получает ответа от NS1, тогда включается встроенная избыточность в протоколе DNS, и распознаватель повторно отправляет свой запрос на альтернативный полномочный сервер имен NS2.