logo
администрирование в информационных системах

2.3.5. Отказоустойчивость и распределение нагрузки

Для создания рабочий среды DNS, в которой функционирует несколько дублирующих друг друга серверов, требуется выполнить две задачи:

  1. помимо первичного сервера, необходимо создать, по крайней мере, один вторичный сервер DNS;

  2. необходимо сообщить клиентам DNS о существовании нескольких дублирующих друг друга DNS-серверов и возможности направления запросов к любому из них.

Основная функция вторичного DNS-сервера – обслуживание клиентов в случае, если первичный DNS-сервер вышел из строя, находится слишком далеко или перегружен. Вторичный DNS-сервер становится бесценным источником информации, если файл зоны, расположенный на первичном сервере, утерян или поврежден и не поддается восстановлению. В подобной ситуации можно просто скопировать файл зоны с вторичного сервера на первичный. Если важные записи о ресурсах были удалены, и файл зоны изменился относительно недавно, необходимо остановить работу службы DNS на вторичном сервере для того чтобы предотвратить трансферт зоны. Затем, используя немодифицированный файл зоны вторичного сервера, необходимо восстановить его на первичный сервер.

Чтобы клиенты DNS могли воспользоваться дублирующими друг друга DNS-серверами, необходимо обязательно сообщить им о существовании этих серверов. Можно настроить порядок, в котором будут опрашиваться серверы.

Клиент будет обращаться к первому серверу в списке серверов DNS. Если этот сервер не отвечает на вопрос, клиент обращается к следующему, стоящему в списке. Если клиент сможет установить связь с первым сервером в списке, но данный сервер не сможет разрешить интересующее его доменное имя, клиент прекращает попытки связи, то есть не опрашивает серверы, расположенные в списке ниже.

Подобный подход таит проблему. Пусть клиент настроен таким образом, что запрос на разрешение имени адресуется вторичному серверу и только если вторичный сервер не ответит, клиент обращается к первичному. Пусть новая запись о ресурсе добавлена в файл зоны первичного сервера, но трансферт еще не произошел. В этой ситуации при попытке разрешения доменного имени клиент получит сообщение о том, что такого доменного имени не существует. Как только произойдет трансферт зоны, базы данных на первичном и вторичном серверах станут идентичными и клиент сможет разрешить интересующее его доменное имя.