Я пытаюсь сделать наш набор серверов более отказоустойчивым. У меня есть веб-сервер, почтовый сервер и сервер АТС, использующий SIP. Я знаю, что для каждой службы я могу заставить DNS возвращать несколько записей A, MX и SRV соответственно. Однако я не уверен, будет ли DNS указывать, какую запись клиент должен использовать первой или второй.
Например, если мой основной почтовый сервер доступен, я хочу, чтобы почтовые клиенты всегда подключались к нему, а не резервные. Точно так же, если основной недоступен, я хочу, чтобы клиент затем попробовал резервное копирование.
Я знаю, что это другие способы реализации отказоустойчивости (я изучаю их), но я хочу знать конкретно, будет ли работать таким образом разрешение DNS.
Отработка отказа приложений и служб не является функцией DNS. Используя Round Robin DNS, вы просто разрешаете DNS-запросы для определенной записи DNS для нескольких ресурсов. DNS не имеет возможности узнать, что услуга, предоставляемая на одном хосте, недоступна, и не имеет механизма для разрешения запросов только к тем хостам, которые доступны.
Это работа клиентского приложения или серверной службы. Вам необходимо реализовать отказоустойчивость в клиентском приложении или в серверной службе.
Это зависит от протокола / клиентского программного обеспечения. Для записей MX и SRV вы можете установить атрибут «Вес», чтобы побудить клиента делать то, что вы хотите. Для общего DNS вы застряли в циклическом переборе, который разные ОС обрабатывают по-разному.