Создание и настройка DAG в Exchange 2013

DAG (Database Availability Group) – позволяет обеспечить отказоустойчивость Баз Данных почтовых ящиков. Суть его работы заключается в том, что создаются копии базы и при выходе из строя одного сервера база автоматически активируется на другом.

Впервые DAG появился в Exchange 2010, а в Exchange 2013 он получил некоторые улучшения.

Итак, рассмотрим схему нашей инфраструктуры. Она очень простая.

01

У нас есть Контроллер Домена (без него никуда) и два сервера Exchange 2013, на которых установлены обе роли Exchange – Mailbox и Client Access.

ovo-02

 

Также хочу обратить внимание, что у нас есть отдельная сеть для репликации – 172.16.0.0/24.

Итак, начинаем подготовку.

Так как работа DAG реализована на службе Microsoft Failover Cluster, нам нужен свидетель (witness). В нашем случае это будет Контроллер Домена, у вас это может быть любой рядовой сервер. На сервере-свидетеле в группу локальных администраторов нам нужно добавить группу Exchange Trusted Subsystem. (Если у Вас в роли свидетеля выступает еще один сервер Exchange, то этого делать не нужно).

Так как на Контроллере Домена локальных групп нет, то я добавляю в доменную группу Administrators.

ovo-03

 

Потом идем в Active Directory Users and Computers и создаем объект типа «Компьютер» с именем нашего будущего DAG и задисейблим его.

ovo-04

Потом открываем свойства этого объекта и на вкладке «Безопасность» даем права полного доступа первому члену группы DAG.

ovo-05

Теперь займемся сетью.

У каждого Exchange сервера по 2 сетевых адаптера. Первый смотри в общую сеть (LAN). Тут обычные настройки, дополнительно ничего делать не нужно.

ovo-06

Второй – в изолированную (HB), которая будет использоваться для репликации. Вот тут есть некоторые доработки.

ovo-07

Шлюз и DNS не указываем – они не нужны. Так же снимаем галочку Register this connection’s address in DNS.

ovo-08

И снимаем галочки с Client for Microsoft Networks и File and Printer Sharing for Microsoft Networks.

ovo-09

Устанавливаем LAN на первое место.

ovo-10

Проверяем

ovo-11

ovo-12

 

Все ОК.

Еще нужно на сервере свидетеле создать каталог, который будем указывать при создании DAG. У меня это папка DAGWitness в корне диска C: на контроллере домена.

Теперь можно создавать DAG. Идем в консоль управления Exchange (ECP), заходим Servers => Database Availability Groups, и жмем +.

ovo-13

 

 

Заполняем все поля. И жмем Save.

ovo-14

Теперь добавляем сервера в группу

ovo-15

ovo-16

ovo-17

ovo-18

 

ovo-19

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

ovo-20

Это так же можно увидеть, если открыть стандартную оснастку Failover Cluster Manager и зайти в раздел Network и Nodes

ovo-21

 

Теперь можно добавлять копии БД. Заходим Servers => Database, нажимаем три точки, чтобы увидеть доп. меню и в нем выбираем Add database copy

ovo-22

В мастере выбираем, на какой сервер будем реплицировать. У меня выбор не большой.

ovo-23

ovo-24

Нажимаем Save и ждем окончания процесса создании копии базы.

ovo-25

Аналогичным способом добавляем и остальные базы.

В результате увидим следующую картину: список баз, на каком сервере база сейчас активна, и на каких серверах есть копия.

ovo-26

 

Есть еще возможность сделать копию базы с задержкой в несколько дней (от 1 до 14 дней).

ovo-27

 

ovo-28

При необходимости можно активировать базу на другом сервере в ручном режиме (для выполнения каких-либо плановых работ на сервере).

ovo-29

 

На этом все. Теперь админу можно спать спокойней.

Напоследок некоторые заметки:

  • Каждый сервер может нести на себе лишь одну копию конкретной базы данных;
  • DAG повышает отказоустойчивость базы почтовых ящиков, но это не означает, что нужно отказываться от резервного копирования. Backup must have!;
  • Буквы дисков, на котором находится база и логи на исходном сервере, должны быть и на реплицируемом. К примеру, если у вас база находится на диске D:, а логи на диске E: – то на сервере, который будет держать копии этой базы, должны быть такие же диски с такими же буквами.
Pin It

17 thoughts on “Создание и настройка DAG в Exchange 2013

  1. nitservicescomua 26.05.2015 at 11:37 - Reply

    Автору спасибо! Очень информативно все описано, пошагово и доступно. DAG – действительно полезная штука, но, как сказано выше Backup must have! :)

  2. Вопрос, может глупый но все же, на данный момент есть 1 рабочий Exch сервер, если подниму второй на отдельной машине, и выполню все эти инструкции оно заработает? на сколько знаю в АД пользователям прописываются БД почты, их я так понимаю нужно будет ручками править?

  3. Alexander Vovkogon
    Alexander Vovkogon 30.11.2015 at 13:15 - Reply Author

    Конечно заработает. И не нужно ничего править. Вы подымаете новый сервер, создает DAG. И включаете копирование на существующей БД.
    В данной статье это и было описано. В DAG добавлялась MailDB-01, в которой были уже пользователи.

  4. блин. чето какая то фигня, добавляю сервера, основной сервер в кластер добавляется а когда начинается добавления второго сервера, долллго думает а потом выдает “An error occurred while attempting a cluster operation. Error: Cluster API failed: “AddClusterNode() (MaxPercentage=100) failed with 0x5b4. Error: “

  5. Спасибо за статью! Подскажите пожалуйста, на пункте создания DAG, есть поле Database Availability Group IP address. Какой айпишник там нужно указывать? Исходя из чего он должен формироваться. По логике нужно создать некий NLB, который будет перебирать все сервера с копиями баз данных? Или я в неправильном направлении мыслю? Спасибо.

  6. Alexander Vovkogon
    Alexander Vovkogon 13.12.2015 at 13:44 - Reply Author

    Свободный, не из пула DHCP. При создании DAG – создается кластер, у которого должно быть свое имя и IP.

  7. Вячеслав 30.01.2017 at 12:10 - Reply

    Спасибо, был затык в настройке сети, статья помогла разобраться.

  8. Доброго времени! Статья бомба. Единственное что не понятно. Теперь надо поставить в настройках ДНС отправка писем с ДАГ IP?

  9. А как тогда письмо попадет на второй сервер с ексченджем? К примеру: Есть сервер 10.0.0.1 А и 10.0.0.2 В, подняли ДАГ на 10.0.0.3. В настройках домена для МХ указан IP 213.213.213.213 (Наш внешний IP где расположен сервер) …. В Маршрутизаторе почтовые службы направлены на Сервер А. Как в случае выхода Сервера А, письма начнут ходить через Сервер В??? Прописать в настройках MX два сервера с разными приоритетами? Или оно работает на автомате?

  10. Alexander Vovkogon
    Alexander Vovkogon 07.06.2017 at 10:35 - Reply Author

    В предыдущем коменте Вы спрашивали об отрпавке писем. Сейчас пишете про входящие. В Вашем случае – да, можно сделать две МХ записи: первую как Вы писали. А вторую на IP 213.213.213.214 и на маршрутизаторе сделать проброс на сервер В.
    Второй вариант – поставить балансировщик перед Exchange.
    Советую Вам почитать тему транспорта почты.

  11. Спасибо за статью.

    Возник вопрос.
    Имею один сервер WS 2012 R2, Exchange 2013. Все роли и службы на нём (MailBox, CAS, HUB, SQL etc).

    Решил организовать DAG и CAS HA из трёх серверов:
    1) Тот, что первый
    2) Mailbox, CAS
    3) Mailbox
    Короче, аналогично этой статьи: https://practical365.com/exchange-server/exchange-2013-client-access-server-high-availability/

    Поднял два WS 2012 R2. Установил как и планировал на один Maibox + CAS, на второй только Mailbox.

    И тут меня осенило: “СТОП! А почему во время установки Exchange он ничего не спрашивал про SQL Server?”

    Так вот вопрос: SQL Server же тоже надо ставить на все сервера? Или нет? А как тогда будет отрабатывать отказоустойчивость?

    Уже несколько мануалов прочитал по DAG, что-то про SQL нигде не пишут, как будто достаточно просто Exchange….???

    Разъясните, пожалуйста.

  12. Добрый день. Статья очень хорошая, сделал все поней. Репликация работает.Есть вопрос, есть 2 сервера в dag кластере, на обоих роль cas и mailbox. Не пойму как сделать так что бы при падении одного из серверов клиенты могли переключатся на второй?

  13. Alexander Vovkogon
    Alexander Vovkogon 14.09.2017 at 18:01 - Reply Author

    Добрый день. сделайте в ДНС две А записи на ИП этих серверов (DNS Round Robin)
    Пример
    mail.mydomain.com 192.168.25.54
    mail.mydomain.com 192.168.25.55

    ну или перед Экчами ставить балансировщик

  14. Добрый день. В днс есть записи на оба сервера. Однако при выключении master клиенты не могут подключится к slave.Для уточнения нескольких вопросов хотелось бы поговорить с Вами в личке, почта или скайп. Такое возможно?

Leave a Reply