четверг, 11 октября 2012 г.

Exchange 2013 - Database Availability Group (DAG), часть 1

imageОбеспечение отказоустойчивости – это тот вопрос, который волнует, пожалуй, всех администраторов. В этом плане, Exchange 2013 не приготовил нам ни каких сногсшибательных сюрпризов. Что касается база данных почтовых ящиков, то концептуально, все осталось по-прежнему – тот же хорошо зарекомендовавший себя DAG с небольшими улучшениями, а вот что касается массивов клиентского доступа, то тут стало все ещё проще и возможно даже дешевле. Итак, по порядку.

ВСЕ НАПИСАННОЕ НИЖЕ ОТНОСИТСЯ К ВЕРСИИ EXCHANGE 2013 PREVIEW. К ВЫХОДУ RTM ВЕРСИИ ПРОДУКТА ВСЕ МОЖЕТ ИЗМЕНИТЬСЯ!

Настройка Database Availability Group

Небольшая вводная для тех, кто не работал с Exchange 2010

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

image

Работа DAG базируется на службе Microsoft Failover Cluster, в результате чего в кластер DAG может быть добавлено до 16 серверов с ролью Mailbox, при этом каждый сервер может нести на себе лишь одну копию конкретной базы данных (т.е. вы можете создать до 16 копий каждой базы). Создать DAG можно на любой версии сервера Exchange 2010 / 2013 (Standard / Enterprise), но в силу необходимости установки службы Failover Cluster, вы можете использовать только Windows Server 2008 R2 Enterprise либо любой Windows Server 2012.

Настройка DAG в Exchange 2013

Настройка DAG и раньше была не слишком сложной, а теперь и вовсе стала до безобразия простой. По-хорошему, все что вам нужно сделать это:

1. Установить 2 и более серверов с ролью Mailbox;

2. Зайти в консоль управления (ЕАС), перейти в раздел Servers -> Database Availability Group;

3. Далее нажимаем «+» и заполняем поля:

  • Database Availability Group Name – имя будущего кластера;
  • Witness Server – имя сервера, который будет выполнять роль кворума в кластере;

Важно помнить, что сервер-свидетель не может быть одним из членов кластера и в группу локальных администраторов этого  сервера должна быть включена группа Exchange Trusted Subsystem.

  • Witness Directory – папка на сервере-свидетеле, в которой будет лежать служебная информация (кворум). Можно даже не указывать, мастер создаст её сам (см. рис. 2);
  • IP адрес будущего кластера.

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

clip_image002

Рис. 1: Создаем DAG кластер.

4. Если все прошло удачно, то кластер будет создан и его надо будет настроить. Для этого нажмем круглую кнопку (вторую из 2-х) и добавим в кластер новых членов.

clip_image003

5. Добавляем в кластер сервера Mailbox, нажимаем кнопку Save и ждем, когда мастер сам все сделает.

А именно – установит службу Failover Cluster на выбранных серверах, соберет кластер, создаст объект в Active Directory и т.п.

clip_image005

Рис. 2: Настройка кластера мастером.

6. Если все прошло удачно :), то вам останется только добавить копии баз данных на «соседние» сервера, дождаться их заполнения и всё!, можно спать спокойно! :)

Для добавления копий переходим в раздел Databases, выбираем базу данных, нажимаем «кружочек», выбираем сервер на котором будет находиться копия и нажимаем Save. Стартует процесс настройки и заполнения копии базы после завершения которого вы сможете переключить активную копию на другой сервер.

Важно помнить, что копия базы располагается по тому же пути на диске, что и оригинал. Проще говоря, если у вас на первом сервере базы лежат на диске D:, то надо позаботиться о том, чтобы на втором сервере диск D: также присутствовал.

clip_image007

Рис. 3: Создание копий баз данных.

Чтобы ещё раз убедиться, что у вас все создалось правильно и хорошо работает можно воспользоваться командлетами

Get-DatabaseAvaliabilityGroup DAG01

Get-MailboxDatabaseCopyStatus MDB2

clip_image009

Рис. 4: Проверка настроек кластера в EMS.

Заключение

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

Если по данной статье у вас ни чего не получилось сделать, также прошу прочитать вторую её часть.

Дополнительные ссылки:

Understanding Database Availability Groups -

http://technet.microsoft.com/en-us/library/dd979799(EXCHG.150).aspx

11 комментариев:

Скилов Владимир комментирует...

Для корректного поднятия кластера на WS2012 сначала придётся немножко /попотеть/ поработать, а именно - выполнить рекомендации статьи http://technet.microsoft.com/en-us/library/ff367878.aspx
Иначе кластер создан не будет, будут сыпаться ошибки типа "access denied".

Анонимный комментирует...

Я так понимаю теперь можно сделать кластер из 2х серверов?
2сервера в DAG + они же сервера клиентского доступа + шара для ресурса свидетеля.

Алексей Богомолов (Alexx) комментирует...

Ну я бы так не сказал. Балансировщик для CAS не отменили, его "упростили" до 4-го уровня (с 7-го), но тем не менее клиентские подключения все равно балансировать надо. Если вы не используете DNS Load balancing, то вам все также нужен либо хардварный балансировщик, либо разносите роли по 4-м серверам и используйте Windows NLB.

Анонимный комментирует...

В каком смысле упростили с 7 уровня на 4 ? Модель OSI?
Пруфлинк?

Анонимный комментирует...

Пруфлинк по поводу упрощения балансировки.

http://technet.microsoft.com/ru-ru/library/jj898588(v=exchg.150).aspx

Unknown комментирует...

Приветствую!
Если члены DAG находятся в 2х разных цодах, Witness Server расположен в 1м цоде. Если первый связь с 1м цодом пропадает и происходит переключение на сервер DAG во 2м цоде. После восстановления работы 1й площадки как пройдет восстановление консистентности DAG?

Unknown комментирует...

То есть в 2013 exchange я не могу создать отказоустойчивый кластер для cas серверов так?
А как быть как можно решить проблему выхода из строя 1го из CAS серверов, и что бы пользователи этого не заметили а продолжали работать дальше?

Алексей Богомолов (Alexx) комментирует...

Все также, как и 2010, нужно устанавливать балансировщик перед CAS-ми, который и будет обеспечивать отказоустойчивость и распределение нагрузки. Просто нет такого объекта как CAS-array с точки зрения Exchange`a, но по сути это ни чего не меняет.

Aleksandr комментирует...

Спасибо за статью.
У меня вопрос относительно версий Windows серверов, на которых запущены Exchange2013. Одна версия Win Server 2012 Datacenter, вторая Win Server 2012 R2. Оба запущены под Hyper-V. Не получается оба сервера добавить в кластер. Насколько я понял, проблема именно в том, что разные версии windows. Любой из двух добавить в пустой даг могу, витнесс виден, а вот при добавлении второго - ошибка. Timeout error.

Алексей Богомолов (Alexx) комментирует...

На сколько я помню, версии ОС должны точно совпадать.

Анонимный комментирует...

Так и получилось. ОС должен точно совпадать. Пробовал подружить разные эдишоны, и так же сервера Standard, Datacenter: 2012 R2 и не R2 - не вышло. А вот когда ОС совпали - DAG завелся.

Отправить комментарий