Active ManagerActive Manager

적용 대상: Exchange Server 2013Applies to: Exchange Server 2013

Microsoft Exchange Server 2013에는 DAG (데이터베이스 사용 가능 그룹) 및 사서함 데이터베이스 복사본이 포함 된 고가용성 플랫폼을 관리 하는 Active Manager 라는 구성 요소가 포함 되어 있습니다.Microsoft Exchange Server 2013 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 Exchange Replication service (MSExchangeRepl) 내에서 실행 됩니다.Active Manager runs inside the Microsoft Exchange Replication service (MSExchangeRepl.exe) on all Mailbox servers. DAG의 구성원이 아닌 사서함 서버에는 단일 활성 관리자 역할 ( 독립 실행형 활성 관리자)이 있습니다.On Mailbox servers that aren't members of a DAG, there is a single Active Manager role: Standalone Active Manager. DAG의 구성원 인 서버에는 두 개의 Active Manager 역할인 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은 활성 및 수동이 될 복사본을 결정 하는 DAG의 활성 관리자 역할입니다.PAM is the Active Manager role in a DAG that decides which copies will be active and passive. PAM은 토폴로지 변경 알림을 가져오고 서버 오류에 대 한 응답을 담당 합니다.PAM is responsible for getting topology change notifications and reacting to server failures. PAM 역할을 보유 하는 DAG 구성원은 항상 클러스터 쿼럼 리소스 (기본 클러스터 그룹)를 소유 하는 구성원입니다.The DAG member that holds the PAM role is always the member that currently owns the cluster quorum resource (default cluster group). 클러스터 쿼럼 리소스를 소유한 서버에 오류가 발생 하면 PAM 역할이 클러스터 쿼럼 리소스의 소유권을 갖는 남아 있는 서버로 자동으로 이동 합니다.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. 또한 유지 관리 또는 업그레이드를 위해 클러스터 쿼럼 리소스를 호스트 하는 서버를 오프 라인으로 사용 해야 하는 경우에는 먼저 PAM을 DAG의 다른 서버로 이동 해야 합니다.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. PAM은 데이터베이스 복사본 간에 활성로 서의 모든 이동을 제어 합니다.The PAM controls all movement of the active designations between a database's copies. (복사본은 지정 된 시간에 하나씩만 활성화할 수 있으며, 해당 복사본을 탑재 하거나 분리할 수 있습니다.) 또한 PAM은 로컬 시스템 (로컬 데이터베이스 및 로컬 정보 저장소 오류 감지)에서 SAM 역할의 기능을 수행 합니다.(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은 사서함 데이터베이스의 활성 복사본을 Active Manager 클라이언트 구성 요소를 실행하는 다른 Exchange 구성 요소에 호스팅하는 서버에 대한 정보를 제공합니다(예: 클라이언트 액세스 또는 전송 서비스). SAM은 로컬 정보 저장소 및 로컬 데이터베이스의 오류를 검색합니다. SAM은 오류에 대처하기 위해 PAM에 장애 조치(failover)를 시작하도록 요청합니다(데이터베이스가 복제되는 경우). SAM은 장애 조치(failover)의 대상을 결정하지 않고, PAM의 데이터베이스 위치 상태도 업데이트하지 않습니다. SAM은 수신하는 활성 데이터베이스 복사본에 대한 쿼리에 응답하기 위해 활성 데이터베이스 복사본 위치 상태에 액세스합니다.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 2013은 클러스터된 응용 프로그램이 아닙니다. 대신 클러스터, 그룹, 클러스터 네트워크(하트비트), 노드 관리, 클러스터 레지스트리를 위해 clusapi.dll에 구현된 클러스터 라이브러리 기능과 몇 가지 제어 코드 기능을 사용합니다. 또한 Active Manager는 클러스터 데이터베이스(클러스터 레지스트리라고도 함)에 현재 사서함 데이터베이스 정보를 저장합니다(예: 활성 및 수동 데이터, 탑재된 데이터). 이 정보는 클러스터 데이터베이스에 직접 저장되지만 다른 구성 요소에 의해 직접 액세스되지는 않습니다.Exchange 2013 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. 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 2013에서 Microsoft Exchange Replication Service는 탑재된 모든 데이터베이스의 상태를 주기적으로 모니터링합니다. 또한 ESE(Extensible Storage Engine)에서 I/O 오류 또는 장애도 모니터링합니다. 오류가 발견되면 Active Manager에 이를 알립니다. 그러면 Active Manager는 탑재해야 할 데이터베이스 복사본과 이 데이터베이스를 탑재하기 위해 필요한 요소를 결정합니다. 또한 마지막으로 탑재된 데이터베이스 복사본을 바탕으로 사서함 데이터베이스의 활성 복사본을 추적하고, 클라이언트가 연결되는 클라이언트 액세스 서버에 추적 결과 정보를 제공합니다.In Exchange 2013, the Microsoft Exchange Replication service periodically monitors the health of all mounted databases. In addition, it also monitors the Extensible Storage Engine (ESE) for any I/O errors or failures. When the service detects a failure, it notifies 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 the Client Access server to which the client is connected.

최적의 복사본 선택Best Copy Selection

오류가 발생하여 복제된 사서함 데이터베이스의 활성 복사본에 액세스할 수 없으면 Active Manager는 영향을 받을 수 있는 수동 복사본 중에서 활성화하기 가장 적합한 복사본을 선택하여 오류로부터 복구하기 위한 단계를 수행합니다. 이 프로세스를 Exchange 2010에서는 BCS(최적의 복사본 선택)라고 하고 Exchange 2013에서는 BCSS(최적의 복사본 및 서버 선택)라고 합니다. 일반 프로세스는 다음 순서로 발생합니다.When a failure occurs that prevents access to the active copy of a replicated mailbox database, Active Manager takes several steps to recover from the failure by selecting the best possible passive copy of the affected database to activate. This process was known as best copy selection (BCS) in Exchange 2010, and it's now known as best copy and server selection (BCSS) in Exchange 2013. 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은 RPC(원격 프로시저 호출)를 통해 Microsoft Exchange 정보 저장소에 대한 탑재 요청을 실행합니다. 이 시점에서는 다음 중 하나가 수행됩니다.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.

    • 데이터베이스가 탑재되지 않고 PAM은 다음 최상의 복사본(사용 가능한 경우)에서 3단계와 4단계를 수행합니다.The database doesn't mount, and PAM performs steps 3 and 4 on the next best copy (if one is available).

Exchange 2010에서는 BCS 프로세스가 각 데이터베이스 복사본의 여러 가지 요소를 평가하여 활성화하기에 최적의 복사본을 확인했습니다.In Exchange 2010, the BCS process evaluated several aspects of each database copy to determine the best copy to activate. 이러한 요소는 다음과 같습니다.These included:

  • 복사 큐 길이Copy queue length

  • 재생 큐 길이Replay queue length

  • 데이터베이스 상태Database status

  • 콘텐츠 인덱스 상태Content index status

Exchange 2013에서 Active Manager는 동일한 BCS 확인 및 단계를 거치지만 상태 순서가 내림차순으로 적용되는 제약 조건을 사용합니다. 특히 BCSS에는 Exchange 2013에서 기본 제공된 관리되는 가용성 모니터링 구성 요소에 속하는 몇 가지 새로운 상태 확인이 포함되어 있습니다. Active Manager가 새로 수행하는 추가 확인은 네 가지이며 아래에 수행되는 순서대로 나열되어 있습니다.In Exchange 2013, Active Manager runs through all of the same BCS checks and phases, but it now also includes the use of a constraint of the decreasing order of health states. Specifically, BCSS includes several new health checks that are part of the built in managed availability monitoring components in Exchange 2013. There are four new 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. 원본과 동일: 모니터링 구성 요소가 영향을 받은 복사본을 호스트 하는 현재 서버와 동일한 상태에 있는 영향을 받는 데이터베이스의 복사본을 호스트 하는 서버를 확인 합니다.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.

모니터링 구성 요소(예: 장애 조치(failover) 응답기)에 의해 트리거된 장애 조치의 결과로 BCSS가 호출되면 대상 서버의 구성 요소 상태가 장애 조치(failover)가 발생한 서버보다 나아야 한다는 추가적인 필수 제약 조건이 적용됩니다.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. 예를 들어 Outlook Web App의 실패로 인해 장애 조치 (failover) 응답자를 통해 장애 조치 (failover)가 시작 되는 경우 BCSS는 Outlook Web App이 정상 상태인 영향을 받는 데이터베이스의 복사본을 호스팅하는 서버를 선택 해야 합니다.For example, if a failure of Outlook Web App triggers a failover via a Failover responder, BCSS must select a server hosting a copy of the affected database on which Outlook Web App is healthy.

최적의 복사본 선택 프로세스Best copy selection process

데이터베이스 장애(프로토콜 장애가 아님)와 관련해서 Exchange 2013의 Active Manager는 Exchange 2010의 경우와 동일한 검사를 수행합니다.With respect to database failures (not protocol failures), Active Manager in Exchange 2013 performs the same checks as it did in Exchange 2010. Active Manager는 활성화의 잠재적인 후보자인 데이터베이스 복사본의 목록을 만들어 최상의 복사본 선택 프로세스를 시작합니다.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인 사서함 데이터베이스 복사본을 목록에서 찾은 다음, 10개의 조건 순서 집합을 사용하여 목록에서 각 복사본의 활성화 가능성을 평가합니다. 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 meet 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 meet 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 meet 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 meet 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 meet 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 meet 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 meet 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 meet 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 meet 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 프로세스가 실행되어 로그 파일을 원래 원본에서 잠재적인 새 활성 복사본으로 복사합니다. ACLL 프로세스가 완료된 후에는 PAM은 탑재 요청을 발행하여 데이터베이스가 탑재되고 클라이언트가 사용할 수 있거나 데이터베이스가 탑재되지 않고 PAM은 다음 최상의 복사본(사용 가능한 경우)을 검색합니다.After one or more copies are located that meet one or more sets of criteria, the ACLL process runs to copy 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).