Группы доступности базы данных

Группа доступности базы данных (DAG) — это базовый компонент платформы высокой доступности и устойчивости сайта сервера почтовых ящиков, встроенной в Microsoft Exchange Server. Группа обеспечения доступности баз данных — это группа серверов почтовых ящиков (до 16 серверов), которая содержит набор баз данных и обеспечивает автоматическое восстановление на уровне базы данных после сбоя, затрагивающего отдельные серверы и базы данных.

Важно!

На всех серверах в группе обеспечения доступности баз данных должна быть установлена одна и та же версия Exchange. Например, нельзя смешивать серверы Exchange 2013 и серверы Exchange 2016 в одной группе daG.

Группа обеспечения доступности баз данных — единый объект для репликации базы данных почтовых ящиков, переключений базы данных и сервера, отработок отказа и внутреннего компонента, который называется Active Manager. Active Manager работает на каждом сервере почтовых ящиков, управляя переключениями и отработкой отказов в группах обеспечения доступности баз данных. Дополнительные сведения о компоненте Active Manager см. в разделе Active Manager.

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

Примечание.

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

Database availability group lifecycle

Группы доступности баз данных используют концепцию добавочного развертывания, которая представляет собой возможность развертывания службы и доступности данных для всех серверов почтовых ящиков и баз данных после установки Exchange. После развертывания Exchange Server серверов почтовых ящиков можно создать DAG, добавить серверы почтовых ящиков в DAG, а затем реплицировать базы данных почтовых ящиков между членами DAG.

Примечание.

Поддерживается создание daG, содержащего сочетание физических серверов почтовых ящиков и виртуализированных серверов почтовых ящиков при условии, что серверы и решение соответствуют требованиям к системе Exchange Server и требованиям, изложенным в Exchange Server виртуализации. Как и в случае любых других конфигураций обеспечения высокой доступности Exchange необходимо следить за тем, чтобы все серверы почтовых ящиков в группе обеспечения доступности баз данных имели конфигурацию, подходящую для обработки необходимой нагрузки во время запланированных и незапланированных отключений.

Группа обеспечения доступности баз данных создается с помощью командлета New-DatabaseAvailabilityGroup. Изначально группа обеспечения доступности баз данных создается как пустой объект в Active Directory. Этот объект каталога используется для хранения необходимых сведений о группе обеспечения доступности баз данных, например сведений о членстве сервера и некоторых параметров конфигурации групп обеспечения доступности баз данных. При добавлении первого сервера в группу доступности баз данных для нее автоматически создается отказоустойчивый кластер. Этот отказоустойчивый кластер используется исключительно для группы обеспечения доступности баз данных; кластер должен быть выделен для этой группы. Поддержка этого кластера для любых других целей не поддерживается.

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

При создании каждая группа обеспечения доступности баз данных получает уникальное имя, а также один или несколько статических IP-адресов, настраивается для использования протокола DHCP или создается без точки административного доступа кластера. DaG без административной точки доступа можно создавать только на серверах под управлением Exchange 2019, Exchange 2016 или Exchange 2013 с пакетом обновления 1 (SP1) или более поздней версии с Windows Server 2012 R2 Standard или Datacenter Edition. Группы обеспечения доступности баз данных без точки административного доступа кластера обладают следующими характеристиками:

  • кластеру или группе обеспечения доступности баз данных не назначается IP-адрес, поэтому в группе основных ресурсов кластера отсутствует ресурс "IP-адрес";

  • кластеру не назначается сетевое имя, поэтому в группе основных ресурсов кластера отсутствует ресурс "Сетевое имя";

  • имя кластера/группы обеспечения доступности баз данных не зарегистрировано в DNS, оно неразрешимо в сети;

  • в Active Directory не создается объект имени кластера (CNO);

  • управлять кластером с помощью средства управления отказоустойчивым кластером нельзя. Управлять им нужно с помощью Windows PowerShell, а командлеты Windows PowerShell должны выполняться в отношении отдельных элементов кластера;

В этом примере показано, как использовать Командная консоль Exchange для создания группы обеспечения доступности баз данных с точкой административного доступа кластера, которая будет иметь три сервера. Два сервера (EX1 и EX2) находятся в одной подсети (10.0.0.0), а третий сервер (EX3) расположен в другой подсети (192.168.0.0).

New-DatabaseAvailabilityGroup -Name DAG1 -WitnessServer EX4 -DatabaseAvailabilityGroupIPAddresses 10.0.0.5,192.168.0.5
Add-DatabaseAvailabilityGroupServer -Identity DAG1 -MailboxServer EX1
Add-DatabaseAvailabilityGroupServer -Identity DAG1 -MailboxServer EX2
Add-DatabaseAvailabilityGroupServer -Identity DAG1 -MailboxServer EX3

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

New-DatabaseAvailabilityGroup -Name DAG1 -WitnessServer EX4 -DatabaseAvailabilityGroupIPAddresses ([System.Net.IPAddress])::None
Add-DatabaseAvailabilityGroupServer -Identity DAG1 -MailboxServer EX1
Add-DatabaseAvailabilityGroupServer -Identity DAG1 -MailboxServer EX2
Add-DatabaseAvailabilityGroupServer -Identity DAG1 -MailboxServer EX3

При добавлении сервера EX1 в группу обеспечения доступности баз данных создается кластер для группы DAG1. В ходе создания кластера командлет Add-DatabaseAvailabilityGroupServer получает IP-адреса, настроенные для серверов группы обеспечения доступности баз данных, и игнорирует те из них, которые не соответствуют ни одной подсети, указанной на сервере EX1. В первом примере выше для группы DAG1 создается кластер с IP-адресом 10.0.0.5, а адрес 192.168.0.5 — игнорируется. Во втором примере выше значение параметра DatabaseAvailabilityGroupIPAddresses вызывает задачу создания отказоустойчивого кластера для группы обеспечения доступности баз данных, у которой нет административной точки доступа. Таким образом, в группе основных ресурсов кластера создается кластер с ресурсом "IP-адрес" или "Сетевое имя".

Затем добавляется сервер EX2 и командлет Add-DatabaseAvailabilityGroupServer снова получает IP-адреса, указанные в конфигурации группы обеспечения доступности баз данных. IP-адреса кластера не изменяются, поскольку серверы EX2 и EX1 находятся в одной подсети.

Затем добавляется сервер EX3 и командлет Add-DatabaseAvailabilityGroupServer снова получает IP-адреса, указанные в конфигурации группы обеспечения доступности баз данных. Поскольку на сервере EX3 присутствует подсеть, соответствующая IP-адресу 192.168.0.5, IP-адрес 192.168.0.5 добавляется в качестве ресурса IP-адреса в кластерной группе. Дополнительно для каждого ресурса IP-адреса автоматически настраивается зависимость OR для ресурса сетевого имени. При перемещении группы основных ресурсов кластера на сервер EX3 кластер будет использовать адрес 192.168.0.5.

При переводе ресурса сетевого имени в оперативный режим средство отказоустойчивости кластеров Windows регистрирует IP-адреса кластера в службе DNS для групп обеспечения доступности баз данных с точками административного доступа кластера. Кроме того, когда к кластеру добавляется EX1, в Active Directory создается объект имени кластера (CNO). Для функций DAG сетевое имя, IP-адрес (IP-адреса) и CNO кластера не используются. Администраторам и конечным пользователям нет необходимости обращаться или подключаться к кластеру/имени группы обеспечения доступности баз данных или IP-адресу. Некоторые сторонние приложения подключаются к точке доступа администратора кластера для выполнения задач управления, таких как резервное копирование или мониторинг. Если вы не используете сторонние приложения, которым требуется точка доступа администрирования кластера, и daG работает под управлением Exchange 2016 или Exchange 2019 на Windows Server 2012 R2, рекомендуется создать daG без административной точки доступа. Такой подход упрощает настройку DAG, устраняет необходимость в одном или нескольких IP-адресах и сокращает площадь атаки DAG.

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

По умолчанию группа обеспечения доступности баз данных предназначена для использования встроенной функции непрерывной репликации для репликации баз данных почтовых ящиков между серверами в группе обеспечения доступности баз данных. Если вы используете стороннюю репликацию данных, которая поддерживает API репликации сторонних поставщиков в Exchange Server, необходимо создать daG в режиме репликации сторонних производителей с помощью командлета New-DatabaseAvailabilityGroup с параметром ThirdPartyReplication. После включения этот режим нельзя отключить.

После создания группы обеспечения доступности баз данных можно добавить серверы почтовых ящиков. После добавления в группу обеспечения доступности баз данных первого сервера для группы создается кластер. Группы обеспечения доступности баз данных используют функции, предоставляемые технологией отказоустойчивой кластеризации Windows: пульс кластера, сети кластера и база данных кластера (для хранения изменяющихся данных, например изменений состояния базы данных с активного на пассивное или наоборот либо с подключенного состояния на отключенное и наоборот). По мере добавления в группу обеспечения доступности баз данных серверы присоединяются к базовому кластеру, система Exchange автоматически настраивает модель кворума кластера, и серверы добавляются в объект группы обеспечения доступности баз данных в Active Directory.

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

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

Модели кворума группы обеспечения доступности баз данных

Каждая группа обеспечения доступности баз данных основана на отказоустойчивом кластере Windows. Отказоустойчивые кластеры используют концепцию кворума, в которой согласованность участников кворума применяется для обеспечения того, что одновременно функционирует только одно подмножество членов кластера (куда могут входить все члены или большинство членов). Кворум не является новой концепцией для Exchange Server. Высокодоступные серверы почтовых ящиков в предыдущих версиях Exchange также работали в отказоустойчивых кластерах с использованием концепции кворума. Кворум представляет общее представление членов и ресурсов, а сам термин «кворум» также используется для описания физических данных, которые представляют конфигурацию в кластере, совместно используемую всеми членами кластера. В результате все группы обеспечения доступности баз данных требуют от базового отказоустойчивого кластера наличия кворума. Если кластер теряет кворум, все операции группы обеспечения доступности баз данных завершаются, а все подключенные базы данных, размещенные в этой группе, отключаются. В этом случае для исправления проблемы с кворумом и восстановления выполнения операций группы обеспечения доступности баз данных требуется вмешательство администратора.

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

  • Обеспечение согласованности. Основное требование для отказоустойчивого кластера Windows заключается в том, что каждый из членов всегда имеет представление кластера, согласованное с другими членами. Куст кластера выполняет роль всеобъемлющего репозитория всех конфигурационных данных, имеющих отношение к этому кластеру. Если куст кластера не может быть загружен локально на члене группы обеспечения доступности баз данных, служба кластера не запускается, так как не может гарантировать согласованность представления кластера на этом члене представлению кластера на всех остальных членах.

  • Выступая в качестве разбиения связей: ресурс свидетеля кворума используется в DAG с четным числом членов, чтобы избежать сценариев синдрома разделения мозга и убедиться, что только одна коллекция членов в DAG считается официальной. Если для кворума нужен сервер-свидетель, любой член группы обеспечения доступности может связаться с сервером-свидетелем и поместить блокировку SMB на файл witness.log этого сервера. Член группы обеспечения доступности, который блокирует сервер-свидетель (называется блокирующим узлом) сохраняет дополнительный голос для кворума. Члены группы обеспечения доступности баз данных, поддерживающие связь с блокирующим узлом, представляют собой большинство и тем самым поддерживают кворум. Любые члены группы обеспечения доступности баз данных, которые не могут связаться с блокирующим узлом, являются меньшинством и теряют кворум.

  • Обеспечение скорости реагирования. Чтобы обеспечить скорость реагирования, модель кворума гарантирует, что при каждом запуске кластера достаточное количество членов распределенной системы являются операционными и коммуникативными, и по крайней мере одна реплика текущего состояния кластера может быть гарантирована. Не требуется дополнительного времени для установки связи с членами или для определения наличия определенной реплики.

Группы доступности баз данных с четным количеством членом используют режим кворума большинства узлов и общих файловых ресурсов, в котором разрешением конфликтов занимается внешний сервер-свидетель. В этом режиме кворума каждый член группы обеспечения доступности баз данных получает один голос. Кроме того, используется следящий сервер для предоставления одному члену группы взвешенный голос (то есть он получает два голоса вместо одного). Данные кворума кластера сохраняются по умолчанию на системном диске каждого члена группы обеспечения доступности баз данных и поддерживается в согласованном состоянии на всех дисках. Однако копия данных кворума не сохраняется на следящем сервере. Файл на следящем сервере используется для отслеживания того, какой член имеет наиболее обновленную копию данных, но сам следящий сервер не имеет копию данных кворума кластера. В этом режиме большинство голосующих членов (члены группы обеспечения доступности и сервер-свидетель) должны находиться в рабочем состоянии и поддерживать связь друг с другом для обеспечения кворума. Если большинство голосующих не может связаться друг с другом, кластер группы обеспечения доступности теряет кворум и группа обеспечения доступности баз данных будет нуждаться во вмешательстве администратора, чтобы снова стать работоспособной. Дополнительные сведения см. в разделах Переключения центров обработки данных и Restore-DatabaseAvailabilityGroup.

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

Кворум собирается большинством голосующих членов, которые могут поддерживать связь друг с другом. Рассмотрим группу обеспечения доступности баз данных, состоящую из четырех членов. Так как эта группа имеет четное количество членов, внешний следящий сервер используется для предоставления одному из членов кластера пятого голоса для разрешения конфликтов. Чтобы обеспечить большинство голосующих (и, следовательно, наличие кворума), хотя бы три голосующих члена должны поддерживать связь друг с другом. В любое время не более двух голосующих члена может находиться в автономном режиме, не влияя на работу службы и доступа к данным. Если три и более голосующих члена находятся в автономном режиме, группа обеспечения доступности баз данных теряет кворум, служба и данные перестают быть доступными до устранения проблемы.