Active ManagerActive Manager

Microsoft Exchange Server включает компонент Active Manager , который управляет платформой высокой доступности, включающей в себя группу обеспечения доступности баз данных и копии базы данных почтовых ящиков.Microsoft Exchange Server includes a component called Active Manager that manages the high availability platform that includes the database availability group (DAG) and mailbox database copies. Active Manager выполняется внутри службы репликации Microsoft (MSExchangeRepl.exe) на всех серверах почтовых ящиков.Active Manager runs inside the Microsoft Exchange Replication service (MSExchangeRepl.exe) on all Mailbox servers. На серверах почтовых ящиков, которые не входят в DAG, существует единая роль Active Manager: Standalone Active Manager.On Mailbox servers that aren't members of a DAG, there is a single Active Manager role: Standalone Active Manager.

На серверах, которые являются участниками группы обеспечения доступности баз данных, существуют две роли Active Manager: Primary Active Manager (PAM) и Standby Active Manager (SAM). Роль PAM — это экземпляр Active Manager в группе обеспечения доступности баз данных, принимающий решения о том, какие копии будут пассивными, а какие — активными. PAM отвечает за получение уведомлений об изменении топологии и реакцию на сбои серверов. Член группы обеспечения доступности баз данных, которому принадлежит роль PAM, всегда является текущим владельцем ресурса кворума кластера (кластерной группы по умолчанию). Если на сервере-владельце ресурса кворума кластера происходит сбой, роль PAM автоматически перемещается на оставшийся сервер, который становится новым владельцем ресурса кворума кластера. Кроме того, если сервер, на котором размещен ресурс кворума кластера, необходимо перевести в автономный режим для обслуживания или обновления, сначала следует перенести роль PAM на другой сервер группы обеспечения доступности баз данных. Роль PAM контролирует все передвижения активных назначений между копиями баз данных. (Только одна копия в любой момент времени может быть активной, и она может быть подключенной или отключенной.) Роль PAM также выполняет функции роли SAM на локальном компьютере (обнаружение сбоев локальных баз данных и банка данных).On servers that are members of a DAG, there are two Active Manager roles: Primary Active Manager (PAM) and Standby Active Manager (SAM). PAM is the Active Manager role in a DAG that decides which copies will be active and passive. PAM is responsible for getting topology change notifications and reacting to server failures. The DAG member that holds the PAM role is always the member that currently owns the cluster quorum resource (default cluster group). If the server that owns the cluster quorum resource fails, the PAM role automatically moves to a surviving server that takes ownership of the cluster quorum resource. In addition, if you need to take the server that hosts the cluster quorum resource offline for maintenance or an upgrade, you must first move the PAM to another server in the DAG. The PAM controls all movement of the active designations between a database's copies. (Only one copy can be active at any specified time, and that copy may be mounted or dismounted.) The PAM also performs the functions of the SAM role on the local system (detecting local database and local Information Store failures).

Роль SAM предоставляет сведения о том, на каком сервере размещается активная копия базы данных почтовых ящиков, другим компонентам Exchange, использующим клиентский компонент Active Manager (например, службе клиентского доступа или транспортной службе). Роль SAM обнаруживает сбои локальных баз данных и локального банка данных. Она реагирует на сбои, запрашивая у роли PAM отработку отказа (если база данных реплицирована). Роль SAM не определяет целевой сервер отработки отказа и не обновляет состояние расположения базы данных в роли PAM. Она обращается к состоянию расположения активной копии базы данных для ответа на получаемые запросы активной копии базы данных.The SAM provides information on which server hosts the active copy of a mailbox database to other components of Exchange that are running an Active Manager client component (for example, Client Access or Transport services). The SAM detects failures of local databases and the local Information Store. It reacts to failures by asking the PAM to initiate a failover (if the database is replicated). A SAM doesn't determine the target of failover, nor does it update a database's location state in the PAM. It will access the active database copy location state to answer queries for the active copy of the database that it receives.

Примечание

Exchange Server не является кластерным приложением.Exchange Server isn't a clustered application. Вместо этого функции библиотеки кластеризации clusapi.dll используются для реализации функциональности кластера, групп, сети кластера (пульса), управления узлами, реестра кластера и ряда задач управления.Instead, it uses the cluster library functions implemented in clusapi.dll for cluster, group, cluster network (heartbeating), node management, cluster registry, and a few control code functions. Кроме этого, служба Active Manager хранит сведения о текущем состоянии базы данных почтовых ящиков (данные об активных и пассивных копиях, а также о подключении) в базе данных кластера (также называется реестром кластера).In addition, Active Manager stores current mailbox database information (for example, active and passive data, and mounted data) in the cluster database (also known as the cluster registry). Хотя эти сведения хранятся непосредственно в базе данных кластера, к ним не обращаются напрямую никакие другие компоненты.Although the information is stored directly in the cluster database, it isn't accessed directly by any other components.

В Exchange Server служба репликации Microsoft Exchange периодически отслеживает работоспособность всех подключенных баз данных.In Exchange Server, the Microsoft Exchange Replication service periodically monitors the health of all mounted databases. Кроме этого, она также отслеживает ошибки и сбои ввода-вывода подсистемы ESE.In addition, it also monitors the Extensible Storage Engine (ESE) for any I/O errors or failures. Если служба обнаруживает сбой, она уведомляет о нем службу Active Manager.When the service detects a failure, it notifies Active Manager. Затем Active Manager определяет, какую копию базы данных следует подключить, и что для этого необходимо.Active Manager then determines which database copy should be mounted and what it requires to mount that database. Кроме того, она отслеживает активную копию базы данных почтовых ящиков (на основании сведений о копии базы данных, подключенной последней) и предоставляет сведения о результатах отслеживания службам клиентского доступа на сервере почтовых ящиков, к которому подключен клиент.In addition, it tracks the active copy of a mailbox database (based on the last mounted copy of the database) and provides the tracking results information to Client Access services on the Mailbox server to which the client is connected.

Лучший выбор копированияBest Copy Selection

При возникновении сбоя, препятствующего доступу к активной копии реплицированной базы данных почтовых ящиков, Active Manager выбирает оптимальную пассивную копию сбойной базы данных, которая будет активирована.When a failure occurs that prevents access to the active copy of a replicated mailbox database, Active Manager selects the best possible passive copy of the affected database to activate. Этот процесс известен как оптимальный выбор копий (BCS) в более ранних версиях Exchange, а в Exchange 2016 и Exchange 2019 он называется наилучшей копией и выбором сервера (BCSS).This process was known as best copy selection (BCS) in earlier versions of Exchange, and in Exchange 2016 and Exchange 2019 it's known as best copy and server selection (BCSS). Общий процесс выглядит следующим образом:The general process occurs in the following order:

  1. Компонент «Управляемая доступность» или Active Manager определяет сбой или администратор инициирует переключение без цели.Managed availability or Active Manager detects a failure, or an administrator initiates a targetless switchover.

  2. PAM запускает внутренний алгоритм BCSS.The PAM runs the BCSS internal algorithm.

  3. Выполняется процесс, называемый попыткой копирования последних журналов (ACLL), в ходе которого предпринимается попытка скопировать с сервера все отсутствующие файлы журналов, находившиеся в активной копии базы данных до отказа или переключения.A process called attempt copy last logs (ACLL) occurs, which tries to copy any missing log files from the server that hosted the active database copy prior to the failure or switchover.

  4. После завершения процесса ACLL значение AutoDatabaseMountDial для серверов почтовых ящиков, на которых хранятся копии базы данных, сравнивается с длиной очереди копирования базы данных, которая активируется.After the ACLL process has completed, the value of the AutoDatabaseMountDial for the Mailbox servers hosting copies of the database is compared with the copy queue length of the database being activated. На этом этапе выполняется одно из следующих действий:At this point, either:

    • количество отсутствующих файлов журнала равно или меньше значения AutoDatabaseMountDial, в таком случае выполняется шаг 5; илиThe number of missing log files is equal to or less than the value of AutoDatabaseMountDial, in which case Step 5 occurs.

    • количество отсутствующих файлов журнала превышает значение AutoDatabaseMountDial, в таком случае Active Manager попытается активировать следующую наиболее доступную копию, если такая существует.The number of missing log files is greater than the value of AutoDatabaseMountDial, in which case Active Manager will try to activate next best available copy, if there is one.

  5. PAM создает запрос на установку в банк данных Microsoft Exchange через удаленный вызов процедур (RPC). На этом этапе выполняется одно из следующих действий:The PAM issues a mount request to the Microsoft Exchange Information Store via remote procedure call (RPC). At this point, either:

    • база данных подключается и становится доступной для клиентов; илиThe database mounts and is made available to clients.

    • база данных не подключается, и РАМ выполняет действия 3 и 4 для следующей оптимальной копии (если она доступна).The database doesn't mount, and PAM performs steps 3 and 4 on the next best copy (if one is available).

В более ранних версиях Exchange процесс BCS оценивал ряд свойств всех копий баз данных, чтобы можно было определить оптимальную для активации копию. К ним относятся:In earlier versions of Exchange, the BCS process evaluated several aspects of each database copy to determine the best copy to activate. These included:

  • Copy queue lengthCopy queue length

  • длина очереди воспроизведения;Replay queue length

  • состояние базы данных;Database status

  • состояние индекса содержимого.Content index status

В Exchange Server Active Manager выполняет все те же проверки и фазы BCS, но теперь она также включает ограничение порядка уменьшения состояния работоспособности.In Exchange Server, Active Manager runs through all of the same BCS checks and phases, but now it also includes the use of a constraint of the decreasing order of health states. В частности, BCSS включает несколько новых проверок работоспособности, которые входят в состав встроенных компонентов мониторинга управляемой доступности в Exchange Server.Specifically, BCSS includes several new health checks that are part of the built in managed availability monitoring components in Exchange Server. Active Manager теперь выполняет четыре дополнительных проверки (перечисление в порядке выполнения):There are four additional checks performed by Active Manager (listed in the order in which they are performed):

  1. Все работоспособные: Проверка сервера, на котором размещается копия затронутой базы данных со всеми компонентами мониторинга в работоспособном состоянии.All Healthy: Checks for a server hosting a copy of the affected database that has all monitoring components in a healthy state.

  2. Нормально работоспособноесостояние: Проверка сервера, на котором размещается копия затронутой базы данных со всеми компонентами мониторинга с нормальным приоритетом в работоспособном состоянии.Up to Normal Healthy: Checks for a server hosting a copy of the affected database that has all monitoring components with Normal priority in a healthy state.

  3. Все лучше, чем исходный: Проверка сервера, на котором размещается копия затронутой базы данных, в котором находятся компоненты мониторинга, лучше, чем у текущего сервера, на котором размещается заданная копия.All Better than Source: Checks for a server hosting a copy of the affected database that has monitoring components in a state that's better than the current server hosting the affected copy.

  4. As source: Проверка сервера, на котором размещается копия затронутой базы данных, в которой компоненты мониторинга находятся в состоянии, то же, что и текущий сервер, на котором размещена заданная копия.Same as Source: Checks for a server hosting a copy of the affected database that has monitoring components in a state that's the same as the current server hosting the affected copy.

Если BCSS будет вызвано в результате отработки отказа, активированного компонентом наблюдения (т. е. через отвечающее устройство отработки отказов), вводится в действие дополнительное обязательное ограничение, устанавливающее, что работоспособность компонента целевого сервера должна быть выше, чем у сервера, на котором произошел сбой. Например, если отказ Outlook в Интернете активирует отработку отказа через отвечающее устройство отработки отказов, BCSS должен выбрать сервер с копией отказавшей базы данных, на котором Outlook в Интернете работоспособен.If BCSS is invoked as a result of a failover that's triggered by a monitoring component (for example, via a Failover responder), an additional mandatory constraint is enforced where the target server's component health must be better than the server on which the failover occurred. For example, if a failure of Outlook on the web triggers a failover via a Failover responder, BCSS must select a server hosting a copy of the affected database on which Outlook on the web is healthy.

Процесс выбора оптимальной копииBest copy selection process

По отношению к отказам базы данных (не отказам компонентов) Active Manager начинает процесс выбора оптимальной копии с создании списка копий базы данных, которые являются потенциальными кандидатами для активации.With respect to database failures (not protocol failures), Active Manager begins the best copy selection process by creating a list of database copies that are potential candidates for activation. Все недоступные или административно заблокированные для активации копии базы данных игнорируются и не используются во время процесса выбора.Any database copies that are unreachable or are administratively blocked from activation are ignored and not used during the selection process. Порядок расположения копий в списке зависит от значения AutoDatabaseMountDial:The order of the list depends on the value of the AutoDatabaseMountDial:

  • Если для AutoDatabaseMountDial настроено любое значение, отличное от Lossless всех серверов, на которых размещается копия базы данных, Active Manager сортирует полученный список, используя длину очереди копирования в качестве первичного ключа.If the AutoDatabaseMountDial is configured with any value other than Lossless on all servers that host a copy of the database, Active Manager sorts the resulting list using the copy queue length as the primary key. Вычисление выполняется на основании LastLogInspected (с точки зрения копии), поэтому список потенциальных копий сортируется по наибольшему значению LastLogInspected (копия с наименьшей длиной очереди копирования).The calculation is based on LastLogInspected (from the copy's point of view), so the list of potential copies is sorted by the highest value for LastLogInspected (which will be the copy with the lowest copy queue length). Если необходимо, Active Manager сортирует список второй раз, используя значение предпочтения активации в качестве вторичного ключа, чтобы разорвать все условия связывания, при которых две или больше пассивных копии имеют одинаковую длину очереди копирования.If necessary, Active Manager sorts the list a second time, using the value for activation preference as a secondary key to break any tie conditions where two or more passive copies have the same copy queue length. Копия с наименьшим значением предпочтения активации имеет наибольший приоритет в списке.The copy with the lowest activation preference value has the higher priority on the list.

  • Если для AutoDatabaseMountDial настроено значение Lossless на любом сервере, на котором размещается копия базы данных, Active Manager сортирует полученный список в возрастающем порядке, используя значение параметра активации в качестве первичного ключа.If the AutoDatabaseMountDial is configured with a value of Lossless on any server that hosts a copy of the database, Active Manager sorts the resulting list in ascending order by using the value for activation preference as the primary key. Кроме того, когда администратор выполняет переключение базы данных или сервера без потерь, не указывая цель, Active Manager также сортирует список результатов по возрастанию, используя значение предпочтения активации в качестве первичного ключа.In addition, when an administrator performs a lossless server or database switchover without specifying a target, Active Manager also sorts the resulting list in ascending order by using the value for activation preference as the primary key.

Далее Active Manager пытается найти в списке копию базы данных почтовых ящиков в состоянии Healthy, DisconnectedAndHealthy, DisconnectedAndResynchronizing или SeedingSource и оценивает потенциал активации каждой копии в списке на основе упорядоченного набора из десяти условий. Active Manager определяет, отвечает ли какой-либо кандидат для активации первому набору условий:Next, Active Manager attempts to locate a mailbox database copy on the list that has a status of Healthy, DisconnectedAndHealthy, DisconnectedAndResynchronizing, or SeedingSource, and then evaluates the activation potential of each of the copies on the list by using an order set of ten criteria. Active Manager determines if any of the candidates for activation meet the first set of criteria:

  • Индекс содержимого имеет состояние Healthy (исправен).It has a content index with a status of Healthy.

  • Длина очереди копирования файлов журнала меньше 10.It has a copy queue length less than 10 log files.

  • Длина очереди преобразования файлов журнала меньше 50.It has a replay queue length less than 50 log files.

Если ни одна копия базы данных не отвечает первому набору условий, Active Manager пытается найти копию базы данных, отвечающую второму набору условий:If none of the database copies meets the first set of criteria, Active Manager tries to locate a database copy that meets the second set of criteria:

  • Индекс содержимого имеет состояние Crawling (сканирование).It has a content index with a status of Crawling.

  • Длина очереди копирования файлов журнала меньше 10.It has a copy queue length less than 10 log files.

  • Длина очереди преобразования файлов журнала меньше 50.It has a replay queue length less than 50 log files.

Если ни одна копия базы данных не отвечает второму набору условий, Active Manager пытается найти копию базы данных, отвечающую третьему набору условий:If none of the database copies meets the second set of criteria, Active Manager tries to locate a database copy that meets the third set of criteria:

  • Индекс содержимого имеет состояние Healthy (исправен).It has a content index with a status of Healthy.

  • Длина очереди преобразования файлов журнала меньше 50.It has a replay queue length less than 50 log files.

Если ни одна копия базы данных не отвечает третьему набору условий, Active Manager пытается найти копию базы данных, отвечающую четвертому набору условий:If none of the database copies meets the third set of criteria, Active Manager tries to locate a database copy that meets the fourth set of criteria:

  • Индекс содержимого имеет состояние Crawling (сканирование).It has a content index with a status of Crawling.

  • Длина очереди преобразования файлов журнала меньше 50.It has a replay queue length less than 50 log files.

Если ни одна копия базы данных не отвечает четвертому набору условий, Active Manager пытается найти копию базы данных, отвечающую пятому набору условий:If none of the database copies meets the fourth set of criteria, Active Manager tries to locate a database copy that meets the fifth set of criteria:

  • Длина очереди преобразования файлов журнала меньше 50.It has a replay queue length less than 50 log files.

Если ни одна копия базы данных не отвечает пятому набору условий, Active Manager пытается найти копию базы данных, отвечающую шестому набору условий:If none of the database copies meets the fifth set of criteria, Active Manager tries to locate a database copy that meets the sixth set of criteria:

  • Индекс содержимого имеет состояние Healthy (исправен).It has a content index with a status of Healthy.

  • Длина очереди копирования файлов журнала меньше 10.It has a copy queue length less than 10 log files.

Если ни одна копия базы данных не отвечает шестому набору условий, Active Manager пытается найти копию базы данных, отвечающую седьмому набору условий:If none of the database copies meets the sixth criteria, Active Manager tries to locate a database copy that meets the seventh set of criteria:

  • Индекс содержимого имеет состояние Crawling (сканирование).It has a content index with a status of Crawling.

  • Длина очереди копирования файлов журнала меньше 10.It has a copy queue length less than 10 log files.

Если ни одна копия базы данных не отвечает седьмому набору условий, Active Manager пытается найти копию базы данных, отвечающую восьмому набору условий:If none of the database copies meets the seventh set of criteria, Active Manager tries to locate a database copy that meets the eighth set of criteria:

  • Индекс содержимого имеет состояние Healthy (исправен).It has a content index with a status of Healthy.

Если ни одна копия базы данных не отвечает восьмому набору условий, Active Manager пытается найти копию базы данных, отвечающую девятому набору условий:If none of the database copies meets all of the eighth set of criteria, Active Manager tries to locate a database copy that meets the ninth set of criteria:

  • Индекс содержимого имеет состояние Crawling (сканирование).It has a content index with a status of Crawling.

Если ни одна копия базы данных не отвечает девятому набору условий, Active Manager пытается активировать любую копию базы данных в состоянии Healthy, DisconnectedAndHealthy, DisconnectedAndResynchronizing или SeedingSource (десятый набор условий). Если копии, отвечающие десятому набору условий, не удается найти, автоматическая активация копии базы данных невозможна.If none of the database copies meets the ninth set of criteria, Active Manager tries to activate any database copy with a status of Healthy, DisconnectedAndHealthy, DisconnectedAndResynchronizing, or SeedingSource (the tenth set of criteria). If it can't find any database copies that meet the tenth set of criteria, it isn't able to automatically activate a database copy.

Как только будут найдены одна или несколько копий, отвечающих хотя бы одному набору условий, процесс ACLL копирует все файлы журналов из источника в потенциальную новую активную копию. По завершении этого процесса PAM выдает запрос на подключение, и либо база данных подключается и становится доступной для клиентов, либо база данных не подключается и РАМ ищет следующую оптимальную копию (если она доступна).After one or more copies are located that meet one or more sets of criteria, the ACLL process copies any log files from the original source to the potential new active copy. After the ACLL process has completed, the PAM issues a mount request and either the database mounts and is made available to clients, or the database doesn't mount and the PAM searches for the next best copy (if one is available).