В Exchange Server 2007 в механизме непрерывной репликации кластера (Cluster Continuous Replication, CCR) модель управления ресурсами кластера используется для установки и управления решением высокой доступности. Сначала создается кластер Windows, после чего выполняется установка Exchange в кластерном режиме. При этом в отказоустойчивом кластере регистрируется библиотека EXRES.DLL и создается сервер CMS (Clustered Mailbox Server). В среде Exchange Server 2007 отказоустойчивый кластер надо создавать заранее, даже если он состоит из одного узла.
В Exchange Server 2010 кластерные компоненты скрыты. В процессе также появился новый компонент, который называется службой Active Manager. Active Manager пришла на замену модели ресурсов и функций отказоустойчивости, которые были в предыдущей версии Exchange Server.
Однако компоненты отказоустойчивого кластера удалены не полностью. Некоторые из них все еще используются. Если открыть консоль Failover Cluster Manager в разделе Administrative Tools, вы найдете группу доступности баз данных (Database Availability Group, DAG), сети кластера и т. п. Не пытайтесь управлять DAG-группами средствами Failover Cluster Manager, потому что это не поддерживается. Управлять DAG-группами можно только с помощью консоли EMC (Exchange Management Console) или оболочки EMS (Exchange Management Shell).
Active Manager работает на серверах почтовых ящиков, которые являются членами DAG-группы. Есть две роли: основная Active Manager (PAM) и дополнительная Active Manager (SAM). PAM работает на сервере почтовых ящиков, который также поддерживает кворум кластера. Это сервер, который решает, какая база данных должна быть активной, а какая пассивной в DAG.
SAM отвечает за обнаружение отказов сервера или базы данных (PAM делает это на собственном сервере по отношению к собственной локальной базы данных). Обнаружив отказ любого из компонентов, SAM передает информацию PAM для осуществления перехода.
Служба репликации наблюдает за работоспособностью подключенных баз данных в DAG. Она также наблюдает за ESE (Extensible Storage Engine) на предмет каких-либо неполадок или сбоев ввода/вывода. Если что-то идет не так, служба репликации немедленно связывается с Active Manager. В случае перехода Active Manager определяет, какая база данных должна стать активной копией базы данных (в зависимости от порядка перехода, определенного в процессе конфигурирования).
Конфигурирование DAG
Для конфигурирования DAG требуется как минимум два сервера Exchange Server 2010 с ролью «сервер почтовых ящиков». Допустим у нас среда с четырьмя серверами: Exchange Server 2010 с ролью «сервер клиентского доступа», Exchange Server 2010 с ролью «транспортный сервер-концентратор» и два Exchange Server 2010 с ролью «сервер почтовых ящиков» (EXMBX01 и EXMBX11). Все четыре размещены в одном сайте Active Directory и этот сайт подключен к Интернету.
Допустим, что с серверами все в порядке и они работают без проблем. Чтобы создать DAG-группу из двух серверов почтовых ящиков, потребуется дополнительная частная сеть. Она нужна для репликации.
Далее описаны шаги по созданию DAG в этой среде.
- Войдите в систему Exchange Server и откройте консоль Exchange Management.
- Последовательно разверните узлы Exchange On-Premises и Organization. Щелкните Mailbox и перейдите на вкладку Database Availability Group. Правая панель должна быть пустой.
- На сервере почтовых ящиков откройте EMS и выполните следующую команду:
New-DatabaseAvailabilityGroup –Name DAG1
–DatabaseAvailabilityGroupIpAddresses 10.0.0.101
4. | | При этом будет создана DAG-группа с IP-адресом 10.0.0.101. Так как DAG представляет собой заполнитель в Active Directory, ее можно увидеть средствами ADSIEdit. |
5. | | Чтобы добавить первый почтовый сервер (EXMBX01) в DAG, вернитесь в EMS и выполните такую команду: |
Add-DatabaseAvailabilityGroupServer –Identity DAG1 –MailboxServer EXMBX01
6. | | Указанный сервер будет добавлен в DAG. При этом на транспортном сервере-концентраторе будет создан файловый ресурс-свидетель. Последний нужен для создания большей части кластера в случае отказа сервера (практически так же, как в среде Exchange Server 2007 CCR). Добавление почтового сервера и файлового ресурса-свидетеля может занять до 45 секунд. |
7. | | При переключении обратно к EMC вы увидите в консоли DAG (DAG1), а также только что добавленный сервер EXMBX01. |
8. | | Перейдите на вкладку Database Management в EMC. Вы увидите исходные базы данных первого и второго почтовых серверов. Заметьте, что на каждом сервере доступна только одна база данных. При выборе Public Folder Database на вкладке Database Management, панель подробностей Database Copies становится неактивной. Причина в том репликация общих папок и репликация базы данных несовместимы. |
9. | | Чтобы добавить в DAG второй сервер почтовых ящиков, войдите в систему сервера и откройте консоль EMS. Выполните следующую команду: |
Add-DatabaseAvailabilityGroupServer –Identity DAG1 –MailboxServer EXMBX11
Второй почтовый сервер будет добавлен в DAG. Как и в случае с первым сервером, добавление может занять определенное время.
Если на почтовом сервере еще не были установлены компоненты отказоустойчивого кластера Windows, они будут установлены сейчас. Можно также установить их вручную заранее — для этого надо открыть окно командной строки и выполнить следующую команду:
ServerManagerCmd.exe –i Failover-Clustering
Создав DAG с двумя серверами почтовых ящиков, можно перейти к созданию копий базы данных. Функциональность DAG в Exchange очень гибкая. Не нужно заранее конфигурировать отказоустойчивый кластер Windows. Добавить сервер почтовых ящиков и DAG можно в любой момент. Надо просто установить сервер почтовых ящиков, а затем создать отказоустойчивый кластер и добавить сервер в DAG. Этот процесс называется добавочным развертыванием.
С применением DAG можно также настроить устойчивость сайта. Серверы почтовых ящиков можно добавлять не только их того же сайта Active Directory (тот же центр обработки данных), но и из другого сайта Active Directory. Нет никаких препятствий, если пропускной способности сети хватает для своевременной обработки репликации, а у транспортного сервера-концентратора и сервера клиентского доступа есть надежное сетевое подключение к другому ЦОД.
Если нужно добавить в DAG сервер почтовых ящиков из другого сайта, придется внести ряд изменений в конфигурацию. В локальную DAG надо добавить IP-адрес DAG-группы в другом сайте. Это нельзя сделать средствами EMC, поэтому придется воспользоваться EMS. Выполните следующую команду:
Set-DatabaseAvailabilityGroup –Identity DAG1
–DatabaseAvailabilityGroupIpAddresses 10.0.0.101,192.168.1.101
Первая сеть в DAG будет создана автоматически при добавлении первого сервера почтовых ящиков. Дополнительные сети автоматически не создаются, поэтому придется создавать подсеть для второго сайта в DAG вручную:
New-DatabaseAvailabilityGroupNetwork -DatabaseAvailabilityGroup DAG1
-Name DAGNetwork02 -Description “Second Site” -Subnets 192.168.1.0/24
-ReplicationEnabled:$True
Если в добавленном сайте есть контроллеры домена, придется подождать завершения репликации или запустить репликацию принудительно иначе контроллеры домена во втором сайте могут не обладать информацией об изменениях, которые вы хотите внести.
На этом этапе добавить в DAG сервер почтовых ящиков из второго сайта можно средствами как EMC, так и EMS:
Add-DatabaseAvailabilityGroupServer –Identity DAG1 –MailboxServer EXMBX02
Это одна из нескольких стратегий высокой доступности, которую можно использовать в Microsoft Exchange Server. В будущих статьях я расскажу о дополнительных стратегиях конфигурирования высокой доступности.