Два почтовых сервера, нужна помощь с настройкой днс для резервного
Мне нужно запустить резервный почтовый сервер на случай, если основной сервер выйдет из строя.
Настройки в GoDaddy выглядят примерно так:
A (Host)
Host Points to
@ ip address of mail1 41.x.x.x
mail1 ip address of mail1 41.x.x.x
mail2 ip address of mail2 196.x.x.x
MX
Priority host points to
10 @ mail1.mydomain.com
20 @ mail2.mydomain.com
Когда mail1 выходит из строя, mail2 может получать электронные письма. Я могу получить к нему доступ через браузер без проблем, но я хочу, чтобы мои пользователи также могли использовать pop3/smtp, не меняя ничего в своем мировоззрении. Я не хочу никакого воздействия на пользователей, когда mail1 не работает.
Кроме того, я использую Windows Server DFS для синхронизации обеих папок с почтой. Это правильный путь, или я должен использовать что-то еще?
5 ответов
Обычно резервный почтовый сервер должен (в конечном итоге) пересылать электронную почту на основной почтовый сервер. Когда основной почтовый сервер подходит, электронная почта в очереди будет перенаправлена на основной почтовый сервер. В качестве альтернативы, основной и дополнительный почтовые серверы будут пересылать почту на один и тот же сервер MDA (Mail Delivery Agent). В любом случае пользователь получает свою электронную почту с одного сервера.
Если у вас много пользователей, вы можете разделить сервисы MX и MDA на отдельные серверы. Это позволит вам иметь разных пользователей на разных серверах.
Сконфигурируйте резервную копию для хранения электронной почты в течение достаточного времени для восстановления основного (или MDA) сервера. Вы можете разрешить на неделю или более. Убедитесь, что вы скопировали список пользователей на сервер резервного копирования. За исключением пересылки электронной почты, конфигурации должны быть максимально идентичными. Это включает в себя фильтрацию спама, если вы делаете это. Основной сервер обычно настроен на доверие к электронной почте, поступающей с резервного почтового сервера.
Многие почтовые серверы позволяют вручную инициировать доставку сообщений из очереди. Возможно, вы захотите сделать это, если основной почтовый сервер не работает более нескольких часов. В противном случае доставка почты может занять некоторое время.
Глава "Электронная почта" в Руководстве по системному администрированию Unix и Linux - хороший справочник о том, что вы делаете.
Ваша настройка DNS в порядке, чтобы получить избыточность на "получающей" части.
Проблема синхронизации почты по-прежнему сохраняется. Я не знаю, как вы решаете это. Я даже не знаю, может ли ваше серверное программное обеспечение справиться с ситуацией, когда пользователь может очистить почту с одного сервера, в то время как другой все еще доставляет в почтовый ящик, и одновременно процесс синхронизации копирует почту с одного на другой.
Тем не менее, вам все равно нужно переключить сервер POP3 в случае сбоя. Или как они должны знать, что их сервер POP3 меняется с mail1 на mail2?
MX
предназначен только для определения, с кем можно поговорить, чтобы отправить почту на ваш домен. Вам понадобится другое решение для клиентов IMAP/POP, чтобы читать их почту, когда один или другой сервер не работает. В зависимости от ваших настроек DNS и того, как долго сервер не работает и как быстро вы отвечаете, вы можете иметь mail.mydomain.com
это CNAME
за mail1.mydomain.com
пока mail1 не выйдет из строя, а затем вы измените его на mail2, но это займет время, и если ваш почтовый сервер не работает только в течение нескольких минут, вы в конечном итоге усугубите проблему (так как mail1 будет работать, но все будут использовать mail2). Другим вариантом было бы сделать mail
прокси-сервер высокой доступности, который автоматически перенаправляет соединения на mail1 или mail2, независимо от того, какой сервер работает.
Что касается использования DFS для синхронизации папок, я не уверен, как почтовый сервер, который вы используете (обмениваетесь?), Хранит почту. Если он хранит почту в одном большом файле, то, если электронная почта отправляется на mail1 и mail2 одновременно, вы потеряете почту. (В соответствии с этим, если два сервера изменяют файл одновременно, тот, кто запустился первым, проигрывает, и эта версия файла перемещается в папку "Конфликт и удаление"). Стандартная конфигурация для вторичного SMTP-сервера для пересылки почты на основной SMTP-сервер, когда основной сервер снова подключен. В идеале вы также должны настроить список пользователей, чтобы он не пытался пересылать недопустимые / нежелательные адреса на основной сервер.
Для достижения этой цели вам необходимо решение по отказоустойчивости DNS (не с балансировкой нагрузки). Т.е. вы будете использовать один MX mail.yourdomain.com, но запись почты A будет динамически переключаться в зависимости от доступности вашего почтового сервера. Таким образом, ваш клиент не будет прерван из-за сбоя сервера. Обратитесь к URL- адресу зоны переключения при сбое: http://www.zoneedit.com/failover.html для получения более подробной информации. Также http://extns.net/ кажется, предоставляет бесплатный сервис DNS с переключением при сбое, но не уверен, насколько они надежны.
Помните, что вам нужно установить этот переход на другой ресурс только для вашего домена почтового обменника, т.е. только для mail.yourdomain.com. Вы можете заметить, что параметры аварийного переключения предназначены для веб-сервера, поэтому вам нужно добавить свой домен MX mail.yourdomain.com в качестве отдельной зоны и настроить для него аварийное переключение.
- $
Если mail2 абсолютно уверен, что mail1 не работает, mail2 должен взять на себя service-ip для mail1 в дополнение к его собственному service-ip. Я бы не стал возиться с DNS. Там слишком много кеширования.
Когда mail1 снова работает, вам нужна правильная процедура для его возврата в оперативный режим (включая восстановление его службы ip). Я бы никогда не использовал автоматические механизмы отработки отказа ни в одном кластере.
Кластерное программное обеспечение должно справиться с этим, но обязательно протестируйте все случаи.