Режим координации активации центра обработки данных в Exchange Server

Режим координации активации центра данных DAC (Datacenter Activation Coordination) — это свойство группы доступности базы данных DAG (Database Availability Group). Режим DAC отключен по умолчанию и должен включаться для всех групп обеспечения доступности базы данных (DAG), в которых используется непрерывная репликация. Необходимо отключить режим DAC для групп DAG, использующих режим сторонней репликации, если обратное не указано сторонним поставщиком.

Режим DAC используется для управления подключением баз данных при запуске групп DAG. Это средство позволяет предотвратить разделение вычислительных мощностей на уровне баз данных при смене центра обработки данных. Разделение вычислительных мощностей — это состояние, которое приводит к тому, что база данных подключается в качестве активной копии к двум членам одной группы DAG, которые не могут связаться друг с другом. Этого можно избежать с помощью режима DAC, так как этот режим требует, чтобы члены групп DAG получали разрешение на подключение баз данных.

Например, если основной центр обработки данных содержит два члена DAG и сервер-свидетель, а второй центр обработки данных содержит два других члена DAG, daG не находится в режиме DAC. Когда основной центр обработки данных теряет питание, вы активируете DAG во втором центре. Когда питание основного центра восстанавливается, члены группы DAG в основном центре обработки данных, обладающие кворумом до перебоя питания, будут запущены и подключены к базам данных. Так как основной центр обработки данных был восстановлен без сетевого подключения ко второму центру обработки данных, а daG не был в режиме DAC, активные базы данных в DAG попадают в состояние разделенного мозга.

Как работает режим DAC

Режим DAC включает протокол DACP (Datacenter Activation Coordination Protocol). В режиме DAC члены группы DAG не будут автоматически подключать базы данных, даже если обладают кворумом. Вместо этого с помощью DACP определяется текущее состояние группы DAG и необходимость подключения баз данных с помощью диспетчера Active Manager.

Режим DAC можно представить как уровень приложения кворума для подключения баз данных. Чтобы понять назначение протокола DACP и принцип его работы, важно изучить основной сценарий, для работы с которым предназначен этот протокол. Рассмотрим сценарий для двух центров обработки данных, описанный выше. Предположим, что в основном центре обработки данных произошел полный сбой питания. В этом случае нарушается работа всех серверов и глобальной сети, поэтому организация принимает решение активировать резервный центр обработки данных. Почти во всех таких сценариях восстановления, когда возобновляется питание основного центра обработки данных, подключение к глобальной сети обычно восстанавливается не сразу. Это означает, что члены группы DAG в основном центре подключаются к питанию, но они не могут установить связь с членами DAG в активированном резервном центре обработки данных. Основной центр обработки данных должен всегда содержать большинство участников кворума DAG, что означает: когда возобновляется питание, даже если отсутствует подключение глобальной сети к членам DAG в резервном центре обработки данных, члены DAG в основном центре имеют большинство и, как результат, кворум. Это представляет собой проблему, так как при наличии кворума эти серверы могут подключаться к своим базам данных, что будет приводить к расхождению с текущими активными базами данных, которые теперь подключены в активированном резервном центре обработки данных.

Протокол DACP был создан для решения этой проблемы. Диспетчер Active Manager хранит бит в памяти (0 либо 1), который указывает, разрешено ли группе DAG подключать локальные базы данных, которые назначены в качестве активных на сервере. Когда группа DAG работает в режиме DAC, при каждом запуске диспетчера Active Manager задается значение 0, которое означает, что ей не разрешено подключать базы данных. Так как сервер находится в режиме DAC, он должен установить связь со всеми известными ему другими участниками DAG, чтобы сообщить другому участнику DAG о том, можно ли подключать локальные базы данных, которые назначены в качестве активных. Ответ поступает в форме битового параметра для других диспетчеров Active Manager в группе DAG. Если другой сервер отвечает, что бит равен 1, то это означает, что серверам разрешено подключаться к базам данных, поэтому при запуске сервера для бита устанавливается значение 1 и подключаются его базы данных.

Но при восстановлении после сбоя питания основного центра обработки данных, когда серверы восстановлены, но подключение к глобальной сети не было восстановлено, все члены DAG в основном центре обработки данных будут иметь битовое значение DACP 0. поэтому ни один из серверов, запускающих резервное копирование в восстановленном первичном центре обработки данных, не будет подключать базы данных, так как ни один из них не может взаимодействовать с членом DAG с битом DACP, равным 1.

Режим DAC для DAG с двумя участниками

Группы DAG с двумя членами наследуют ограничения, которые предотвращают обеспечение полной защиты от синдрома разделенности на уровне приложения только битом DACP. В группах DAG только с двумя членами режим DAC также использует время загрузки следящего сервера группы для определения возможности подключения баз данных при запуске. Время загрузки следящего сервера сравнивается со временем, когда бит DACP имел значение 1.

  • Если время установки бита DACP предшествует времени загрузки следящего сервера, система предполагает, что член группы DAG и следящий сервер были перезагружены одновременно (возможно, из-за отключения питания основного центра обработки данных), и члену группы DAG не разрешается подключать базы данных.

  • Если время установки бита DACP значительно предшествует времени загрузки следящего сервера, система предполагает, что член группы DAG был перезагружен по другой причине (возможно, из-за запланированного отключения для обслуживания или в результате сбоя системы или отключения питания на сервере группы DAG), и члену группы DAG разрешается подключить базы данных.

Важно!

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

Другие преимущества режима DAC

Помимо защиты от синдрома разделенности на уровне приложения режим DAC позволяет использовать встроенные командлеты для устойчивости сайтов для переключения центра обработки данных. например:

Выполнение переключения центра обработки данных для групп доступности базы данных, которые не входят в режим DAC, предполагает использование сочетания средств Exchange и средств управления кластером. Дополнительные сведения см. в разделе Переключения центров обработки данных.

Включение режима DAC

Режим DAC можно включить только в командной консоли Exchange. В частности, для включения режима DAC можно использовать командлет Set-DatabaseAvailabilityGroup, как это проиллюстрировано в следующем примере.

Set-DatabaseAvailabilityGroup -Identity DAG2 -DatacenterActivationMode DagOnly

В предыдущем примере режим DAC включается для группы обеспечения доступности баз данных DAG2.

Дополнительные сведения о включении режима DAC см. в разделах Настройка свойств группы обеспечения доступности баз данных и Set-DatabaseAvailabilityGroup.