Active ManagerActive Manager

Exchange Server enthält eine Komponente namens Active Manager , die die Plattform für hohe Verfügbarkeit verwaltet, die die Datenbank-verfügbarkeitsgruppe (DAG) und Postfachdatenbankkopien enthält.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 wird innerhalb des Microsoft Exchange-Replikationsdiensts (MSExchangeRepl.exe) auf allen Postfachservern ausgeführt.Active Manager runs inside the Microsoft Exchange Replication service (MSExchangeRepl.exe) on all Mailbox servers. Auf Postfachservern, die nicht Mitglied einer DAG sind, gibt es eine einzelne Active Manager-Rolle: eigenständiger Active Manager.On Mailbox servers that aren't members of a DAG, there is a single Active Manager role: Standalone Active Manager.

Auf Servern, die zu einer DAG gehören, gibt es zwei Active Manager-Rollen: Primary Active Manager (PAM) und Standby Active Manager (SAM). PAM ist die Active Manager-Rolle in einer DAG, die entscheidet, welche Kopien aktiv oder passiv sind. Ein PAM ist zuständig für den Empfang von Benachrichtigungen zu Topologieänderungen und für das Reagieren auf Serverfehler. Das Mitglied der DAG mit der PAM-Rolle entspricht immer dem Mitglied, das derzeit die Clusterquorumressource (Standardclustergruppe) besitzt. Wenn der Server mit der Clusterquorumressource ausfällt, wird die PAM-Rolle automatisch auf einen funktionierenden Server verschoben, der den Besitz der Clusterquorumressource übernimmt. Wenn Sie den Server, auf dem die Clusterquorumressource gehostet wird, zu Wartungs- oder Upgradezwecken offline schalten müssen, müssen Sie zunächst die PAM-Rolle auf einen anderen Server in der DAG verschieben. Der PAM steuert alle Wechsel der Bezeichnung "Aktiv" zwischen den Kopien einer Datenbank. (Nur eine Kopie kann jeweils aktiv sein, und diese Kopie kann entweder eingebunden oder nicht eingebunden sein.) Der PAM führt außerdem die Funktionen der SAM-Rolle auf dem lokalen System durch (Erkennen von Fehlern der lokalen Datenbank und des lokalen Informationsspeichers).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).

Der SAM stellt anderen Komponenten von Exchange, auf denen eine Active Manager-Clientkomponente ausgeführt wird (z. B. Clientzugriffs- oder Transportdienste), Informationen darüber bereit, auf welchem Server die aktive Kopie einer Postfachdatenbank gehostet wird. Der SAM erkennt Fehler der lokalen Datenbanken und des lokalen Informationsspeichers. Er reagiert auf Fehler, indem er den PAM zum Einleiten eines Failovers auffordert (falls die Datenbank repliziert wird). Ein SAM bestimmt nicht das Ziel des Failovers und aktualisiert auch nicht den Speicherort der Datenbank im PAM. Er greift auf den aktuellen Speicherortzustand der aktiven Datenbankkopie zu, um eingehende Abfragen nach der aktiven Datenbankkopie zu beantworten.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.

Hinweis

Exchange Server ist keine geclusterte Anwendung.Exchange Server isn't a clustered application. 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.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. 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).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.Although the information is stored directly in the cluster database, it isn't accessed directly by any other components.

In Exchange Server überwacht der Microsoft Exchange-Replikationsdienst regelmäßig die Integrität aller bereitgestellten Datenbanken.In Exchange Server, the Microsoft Exchange Replication service periodically monitors the health of all mounted databases. Dieser überwacht außerdem die ESE (Extensible Storage Engine) auf E/A-Fehler oder Ausfälle.In addition, it also monitors the Extensible Storage Engine (ESE) for any I/O errors or failures. Wenn der Dienst einen Fehler erkennt, benachrichtigt er Active Manager.When the service detects a failure, it notifies Active Manager. Anschließend bestimmt Active Manager, welche Datenbankkopie eingebunden werden soll und was dazu erforderlich ist.Active Manager then determines which database copy should be mounted and what it requires to mount that database. Zusätzlich wird die aktive Kopie einer Postfachdatenbank (basierend auf der zuletzt eingebundenen Kopie der Datenbank) verfolgt, und die Ergebnisse dieser Verfolgung werden den Clientzugriffsdiensten auf dem Postfachserver bereitgestellt, mit dem der Client verbunden ist.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.

Auswahl der besten KopieBest Copy Selection

Wenn ein Fehler auftritt, der den Zugriff auf die aktive Kopie einer replizierten Postfachdatenbank verhindert, wählt Active Manager die bestmögliche passive Kopie der betroffenen zu aktivierenden Datenbank aus.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. Dieser Prozess wurde in früheren Versionen von Exchange als Best Copy Selection (BCS) bezeichnet und in Exchange 2016 und Exchange 2019 als "beste Kopie" und "Serverauswahl" (des Servers) bezeichnet.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). Der allgemeine Prozess erfolgt in der folgenden Reihenfolge:The general process occurs in the following order:

  1. Die verwaltete Verfügbarkeit oder Active Manager erkennt einen Fehler, oder ein Administrator leitet ein Switchover ohne Zielangabe ein.Managed availability or Active Manager detects a failure, or an administrator initiates a targetless switchover.

  2. Der PAM führt den internen Algorithmus zur Auswahl der besten Kopie und des besten Servers aus.The PAM runs the BCSS internal algorithm.

  3. Ein Prozess, der Versuch des Kopierens der letzten Protokolle (Attempt Copy Last Logs, ACLL) genannt wird, erfolgt, bei dem versucht wird, alle fehlenden Protokolle vom Server zu kopieren, der die aktive Datenbankkopie vor dem Fehler oder dem Switchover gehostet hat.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. Nachdem der ACLL-Prozess abgeschlossen ist, wird der Wert des Parameters AutoDatabaseMountDial für die Postfachserver, die Kopien der Datenbank hosten, mit der Länge der Kopiewarteschlange der zu aktivierenden Datenbank verglichen.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. An dieser Stelle findet einer der beiden folgenden Vorgänge statt:At this point, either:

    • Die Anzahl der fehlenden Protokolldateien ist kleiner gleich dem Wert von AutoDatabaseMountDial. In diesem Fall wird Schritt 5 ausgeführt.The number of missing log files is equal to or less than the value of AutoDatabaseMountDial, in which case Step 5 occurs.

    • Die Anzahl der fehlenden Protokolldateien ist größer als der Wert von AutoDatabaseMountDial. In diesem Fall versucht Active Manager, die nächste verfügbare beste Kopie zu aktivieren (falls vorhanden).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. Der PAM sendet über einen RPC (Remote Procedure Call, Remoteprozeduraufruf) eine Einbindungsanforderung an den Microsoft Exchange-Informationsspeicher. An dieser Stelle findet einer der beiden folgenden Vorgänge statt:The PAM issues a mount request to the Microsoft Exchange Information Store via remote procedure call (RPC). At this point, either:

    • Die Datenbank wird bereitgestellt und den Clients zur Verfügung gestellt.The database mounts and is made available to clients.

    • Die Datenbank wird nicht eingebunden, und der PAM führt die Schritte 3 und 4 für die nächste bestmögliche Kopie (falls vorhanden) durch.The database doesn't mount, and PAM performs steps 3 and 4 on the next best copy (if one is available).

In früheren Versionen von Exchange wertete der BCS-Prozess verschiedene Aspekte der einzelnen Datenbankkopien aus, um zu ermitteln, welche Kopie am besten aktiviert werden sollte. Hierzu gehörten:In earlier versions of Exchange, the BCS process evaluated several aspects of each database copy to determine the best copy to activate. These included:

  • Länge der KopiewarteschlangeCopy queue length

  • Länge der WiedergabewarteschlangeReplay queue length

  • Status der DatenbankDatabase status

  • InhaltsindexzustandContent index status

In Exchange Server wird Active Manager alle gleichen BCS-Prüfungen und-Phasen durchlaufen, enthält jetzt jedoch auch die Verwendung einer Einschränkung der abnehmenden Reihenfolge von Integritäts Zuständen.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. Insbesondere enthält des Servers mehrere neue Integritätsprüfungen, die Bestandteil der integrierten Überwachungskomponenten für die verwaltete Verfügbarkeit in Exchange Server sind.Specifically, BCSS includes several new health checks that are part of the built in managed availability monitoring components in Exchange Server. Active Manager führt vier zusätzliche Prüfungen durch (hier in der Ausführungsreihenfolge aufgeführt):There are four additional checks performed by Active Manager (listed in the order in which they are performed):

  1. Alle Fehlerfrei: sucht nach einem Server, der eine Kopie der betroffenen Datenbank hostet, in der sich alle Überwachungskomponenten in einem fehlerfreien Zustand befinden.All Healthy: Checks for a server hosting a copy of the affected database that has all monitoring components in a healthy state.

  2. Bis zu normaler Integrität: prüft, ob ein Server mit einer Kopie der betroffenen Datenbank vorhanden ist, in der alle Überwachungskomponenten mit normaler Priorität in einem fehlerfreien Zustand gespeichert sind.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. Alles besser als Source: sucht nach einem Server, der eine Kopie der betroffenen Datenbank mit Überwachungskomponenten in einem Zustand hostet, der besser ist als der aktuelle Server, der die betroffene Kopie hostet.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. Identisch mit Quelle: prüft, ob ein Server mit einer Kopie der betroffenen Datenbank mit Überwachungskomponenten in einem Zustand vorliegt, der mit dem aktuellen Server identisch ist, der die betroffene Kopie hostet.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.

Wenn die Auswahl der besten Kopie und des besten Servers aufgrund eines Failovers aufgerufen wird, der von einer Überwachungskomponente (z. B. von einem Failoverantwortdienst) ausgelöst wurde, wird eine zusätzliche obligatorische Einschränkung erzwungen, bei der die Komponentenintegrität des Zielservers einen besseren Wert als die des Servers aufweisen muss, auf dem das Failover aufgetreten ist. Wenn z. B. ein Outlook im Web-Fehler ein Failover über einen Failoverantwortdienst auslöst, dann muss die Auswahl der besten Kopie und des besten Servers einen Server auswählen, der eine Kopie der betroffenen Datenbank hostet, auf dem Outlook im Web fehlerfrei ist.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.

Auswahl der bestmöglichen KopieBest copy selection process

Hinsichtlich der Datenbankfehler (keine Protokollfehler) beginnt Active Manager den Prozess zur Auswahl der bestmöglichen Kopie mit dem Erstellen einer Liste mit Datenbankkopien, die potenzielle Kandidaten für die Aktivierung sind.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. Alle Datenbankkopien, die nicht erreicht werden können oder für die Aktivierung gesperrt sind, werden ignoriert und während des Auswahlprozesses nicht verwendet.Any database copies that are unreachable or are administratively blocked from activation are ignored and not used during the selection process. Die Reihenfolge in der Liste hängt vom Wert des Parameters AutoDatabaseMountDial ab:The order of the list depends on the value of the AutoDatabaseMountDial:

  • Wenn der AutoDatabaseMountDial mit einem anderen Wert als Lossless auf allen Servern konfiguriert ist, die eine Kopie der Datenbank hosten, sortiert Active Manager die resultierende Liste unter Verwendung der Länge der Kopie-Warteschlange als Primärschlüssel.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. 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).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). 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.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.The copy with the lowest activation preference value has the higher priority on the list.

  • Wenn der AutoDatabaseMountDial mit dem Wert Lossless auf einem Server konfiguriert ist, der eine Kopie der Datenbank hostet, sortiert Active Manager die resultierende Liste in aufsteigender Reihenfolge, indem Sie den Wert für die Aktivierungseinstellung als Primärschlüssel verwendet.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. Wenn ein Administrator ein verlustfreies Server- oder Datenbankswitchover ohne Angabe eines Ziels ausführt, sortiert Active Manager die Ergebnisliste zusätzlich über den Wert für die Aktivierungseinstellung als primärem Schlüssel in aufsteigender Reihenfolge.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.

Als Nächstes versucht Active Manager, eine Postfachdatenbankkopie in der Liste mit dem Status Healthy, DisconnectedAndHealthy, DisconnectedAndResynchronizing oder SeedingSource zu finden, und bewertet anschließend das Aktivierungspotenzial aller Kopien in der Liste anhand einer Reihenfolgenliste mit zehn Kriterien. Active Manager bestimmt, ob ein Kandidat für die Aktivierung den ersten Kriteriensatz erfüllt: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:

  • Der zugehörige Inhaltsindex besitzt den Status Healthy.It has a content index with a status of Healthy.

  • Die Länge der Kopiewarteschlange beträgt weniger als zehn Protokolldateien.It has a copy queue length less than 10 log files.

  • Die Länge der Wiedergabewarteschlange beträgt weniger als 50 Protokolldateien.It has a replay queue length less than 50 log files.

Wenn keine der Datenbankkopien den ersten Kriteriensatz erfüllt, versucht Active Manager eine Datenbank zu finden, die den zweiten Kriteriensatz erfüllt: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:

  • Der zugehörige Inhaltsindex besitzt den Status Crawling.It has a content index with a status of Crawling.

  • Die Länge der Kopiewarteschlange beträgt weniger als zehn Protokolldateien.It has a copy queue length less than 10 log files.

  • Die Länge der Wiedergabewarteschlange beträgt weniger als 50 Protokolldateien.It has a replay queue length less than 50 log files.

Wenn keine der Datenbankkopien den zweiten Kriteriensatz erfüllt, versucht Active Manager eine Datenbank zu finden, die den dritten Kriteriensatz erfüllt: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:

  • Der zugehörige Inhaltsindex besitzt den Status Healthy.It has a content index with a status of Healthy.

  • Die Länge der Wiedergabewarteschlange beträgt weniger als 50 Protokolldateien.It has a replay queue length less than 50 log files.

Wenn keine der Datenbankkopien den dritten Kriteriensatz erfüllt, versucht Active Manager eine Datenbank zu finden, die den vierten Kriteriensatz erfüllt: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:

  • Der zugehörige Inhaltsindex besitzt den Status Crawling.It has a content index with a status of Crawling.

  • Die Länge der Wiedergabewarteschlange beträgt weniger als 50 Protokolldateien.It has a replay queue length less than 50 log files.

Wenn keine der Datenbankkopien den vierten Kriteriensatz erfüllt, versucht Active Manager eine Datenbank zu finden, die den fünften Kriteriensatz erfüllt: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:

  • Die Länge der Wiedergabewarteschlange beträgt weniger als 50 Protokolldateien.It has a replay queue length less than 50 log files.

Wenn keine der Datenbankkopien den fünften Kriteriensatz erfüllt, versucht Active Manager eine Datenbank zu finden, die den sechsten Kriteriensatz erfüllt: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:

  • Der zugehörige Inhaltsindex besitzt den Status Healthy.It has a content index with a status of Healthy.

  • Die Länge der Kopiewarteschlange beträgt weniger als zehn Protokolldateien.It has a copy queue length less than 10 log files.

Wenn keine der Datenbankkopien den sechsten Kriteriensatz erfüllt, versucht Active Manager eine Datenbank zu finden, die den siebten Kriteriensatz erfüllt: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:

  • Der zugehörige Inhaltsindex besitzt den Status Crawling.It has a content index with a status of Crawling.

  • Die Länge der Kopiewarteschlange beträgt weniger als zehn Protokolldateien.It has a copy queue length less than 10 log files.

Wenn keine der Datenbankkopien den siebten Kriteriensatz erfüllt, versucht Active Manager eine Datenbank zu finden, die den achten Kriteriensatz erfüllt: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:

  • Der zugehörige Inhaltsindex besitzt den Status Healthy.It has a content index with a status of Healthy.

Wenn keine der Datenbankkopien den achten Kriteriensatz erfüllt, versucht Active Manager eine Datenbank zu finden, die den neunten Kriteriensatz erfüllt: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:

  • Der zugehörige Inhaltsindex besitzt den Status Crawling.It has a content index with a status of Crawling.

Wenn keine der Datenbankkopien den zweiten Kriteriensatz erfüllt, versucht Active Manager eine Datenbank zu aktivieren, die den Status „Healthy“, „DisconnectedAndHealthy“, „DisconnectedAndResynchronizing“ oder „SeedingSource“ (den zehnten Kriteriensatz) hat. Wird keine Datenbankkopie gefunden, die den zehnten Kriteriensatz erfüllt, kann keine Datenbankkopie automatisch aktiviert werden.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.

Sobald eine oder mehrere Kopien gefunden wurden, die einen oder mehrere Kriteriensätze erfüllen, wird der ACLL-Vorgang ausgeführt, bei dem Protokolldateien aus der Originalquelle in die potenzielle neue aktive Kopie kopiert werden. Nach Abschluss des ACLL-Vorgangs sendet der primäre Active Manager eine Einbindungsanforderung ab. Die Datenbank wird entweder eingebunden und Clients zur Verfügung gestellt, oder die Datenbank wird nicht eingebunden, woraufhin der primäre Active Manager die nächste bestmögliche Kopie sucht (sofern vorhanden).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).