アクティブ マネージャー

製品: Exchange Server 2013

Microsoft Exchange Server 2013 には、データベース可用性グループ (DAG) とメールボックス データベースのコピーを含む高可用性プラットフォームを管理する Active Manager というコンポーネントが含まれています。 Active Manager は、すべてのメールボックス サーバー上の Microsoft Exchange レプリケーション サービス (MSExchangeRepl.exe) 内で実行されます。 DAG のメンバーではないメールボックス サーバーには、1 つの Active Manager ロール ( スタンドアロン Active Manager) があります。 DAG のメンバーであるサーバーには、プライマリ Active Manager (PAM) とスタンバイ Active Manager (SAM) の 2 つの Active Manager ロールがあります。 PAM は、DAG 内のアクティブ マネージャーの役割で、どのコピーをアクティブまたはパッシブにするのかを決定します。 PAM は、トポロジの変更通知を取得し、サーバーの障害に対応します。 PAM 役割を持つ DAG メンバーは、必ずクラスターのクォーラム リソース (既定のクラスター グループ) を現在所有しているメンバーです。 クラスターのクォーラム リソースを所有するサーバーに障害が発生すると、PAM 役割は、自動的に存続しているサーバーに移動し、存続しているサーバーがクラスターのクォーラム リソースの所有権を取得します。 また、保守やアップグレードのために、クラスターのクォーラム リソースをホストするサーバーをオフラインにする必要がある場合は、まず、PAM を DAG の別のサーバーに移動する必要があります。 PAM は、データベース コピー間でのアクティブの指定の移動をすべて制御します (特定のタイミングでは、1 つのコピーのみアクティブにすることが可能で、そのコピーはマウントまたはマウント解除が可能です)。 PAM は、ローカル データベースの障害およびローカル インフォメーション ストアの障害の検出といった、ローカル システム上の SAM 役割の機能も実行します。

SAM は、Active Manager クライアント コンポーネント (クライアント アクセスやトランスポート サービスなど) を実行している Exchange の他のコンポーネントに、メールボックス データベースのアクティブ コピーをホストするサーバーに関する情報を提供します。 SAM は、ローカル データベースとローカル インフォメーション ストアのエラーを検出します。 データベースがレプリケートされている場合は、PAM にフェールオーバーの開始を要求することで、エラーに対応します。 SAM はフェールオーバーのターゲットを決定せず、PAM 内のデータベースの場所の状態も更新しません。 アクティブなデータベース コピーの場所の状態にアクセスして、受信したデータベースのアクティブ なコピーに対するクエリに応答します。

注:

Exchange 2013 はクラスター化されたアプリケーションではありません。 代わりに、クラスター、グループ、クラスター ネットワーク (ハートビート)、ノード管理、クラスター レジストリ、およびいくつかの制御コード関数のために、clusapi.dll に実装されたクラスター ライブラリ関数を使用します。 さらに、アクティブ マネージャーは、アクティブ データとパッシブ データ、およびマウントされたデータなど、クラスター データベース内 (別名、クラスター レジストリ) の現在のメールボックス データベース情報を格納します。 情報は直接クラスター データベースに格納されますが、その他のコンポーネントによって直接アクセスされることはありません。

Exchange 2013 では、Microsoft Exchange レプリケーション サービスによって、マウントされているすべてのデータベースの正常性が定期的に監視されます。 また、I/O エラーや障害がないか、Extensible Storage Engine (ESE) も監視します。 このサービスで障害を検出すると、アクティブ マネージャーに通知されます。 その後、アクティブ マネージャーは、マウントする必要があるデータベース コピーと、アクティブ マネージャーがそのデータベースのマウントに必要とする機能を決定します。 さらに、メールボックス データベースのアクティブなコピー (データベースの最後にマウントされたコピーに基づく) を追跡し、クライアントが接続されているクライアント アクセス サーバーに追跡結果情報を提供します。

最適なコピー選択

レプリケートされたメールボックス データベースのアクティブ コピーへのアクセスを妨げるエラーが発生した場合、Active Manager では、アクティブ化する影響を受けるデータベースのパッシブ コピーを最適に選択することで、障害から回復するためのいくつかの手順を実行します。 このプロセスは、Exchange 2010 で最適なコピー選択 (BCS) と呼ばれ、Exchange 2013 では最適なコピーとサーバーの選択 (BCSS) と呼ばれるようになりました。 この通常のプロセスは、次の順序で発生します。

  1. 管理可用性またはアクティブ マネージャーが障害を検出するか、または管理者がターゲットレス スイッチオーバーを開始します。

  2. PAM がBCSS の内部アルゴリズムを実行します。

  3. 最後のログのコピー試行 (ACLL) と呼ばれるプロセスが発生します。これにより、障害または切り替えの前に、アクティブなデータベース コピーをホストしていたサーバーから欠落しているログ ファイルのコピーが試行されます。

  4. ACLL プロセスが完了すると、データベースのコピーをホストしているメールボックス サーバーの AutoDatabaseMountDial の値が、アクティブ化されるデータベースのコピー キューの長さと比較されます。 この時点で、以下のいずれかの状態となります。

    • 不足しているログ ファイルの数は 、AutoDatabaseMountDial の値以下です。この場合、手順 5 が発生します。

    • 不足しているログ ファイルの数が AutoDatabaseMountDial の値を超えています。この場合、Active Manager は次に最適な使用可能なコピーがある場合にアクティブ化しようとします。

  5. PAM は、リモート プロシージャ コール (RPC) を使用して Microsoft Exchange Information Store にマウント要求を発行します。 この時点で、以下のいずれかの状態となります。

    • データベースがマウントされ、クライアントが利用できる状態になります。

    • データベースがマウントされず、PAM が次に最適なコピーがあれば、それに対してステップ 3 および 4 を実行します。

Exchange 2010 では、BCS プロセスが各データベース コピーの複数の側面を評価して、アクティブ化する最良のコピーを判別しました。 これらには次のようなものがあります。

  • キューの長さをコピー

  • 再生キューの長さ

  • データベースの状態

  • コンテンツ インデックスの状態

Exchange 2013 では、Active Manager は同じ BCS のチェックとフェーズをすべて実行しますが、正常性状態の順序を減らす制約の使用も含まれるようになりました。 具体的には、BCSS には、Exchange 2013 の組み込みのマネージド可用性監視コンポーネントの一部であるいくつかの新しい正常性チェックが含まれています。 Active Manager によって実行される新しいチェックは 4 つあります (実行順に一覧表示されます)。

  1. すべての正常: すべての監視コンポーネントが正常な状態にある影響を受けるデータベースのコピーをホストしているサーバーを確認します。

  2. 正常な状態まで: 影響を受けるデータベースのコピーをホストしているサーバーが、正常な状態で標準優先度のすべての監視コンポーネントを持っていることを確認します。

  3. ソースよりすべて: 影響を受けるコピーをホストしている現在のサーバーよりも優れた状態の監視コンポーネントを持つ、影響を受けるデータベースのコピーをホストしているサーバーをチェックします。

  4. ソースと同じ: 影響を受けるコピーをホストしている現在のサーバーと同じ状態の監視コンポーネントを持つ、影響を受けるデータベースのコピーをホストしているサーバーを確認します。

モニタリング コンポーネント (たとえば、フェールオーバー レスポンダー) によってトリガーされたフェールオーバーの結果として BCSS が起動されると、ターゲット サーバーのコンポーネントの正常性がフェールオーバーが発生したサーバーよりも高くなければならないという追加の必須制約が適用されます。 たとえば、Outlook Web Appの障害によってフェールオーバー レスポンダー経由でフェールオーバーがトリガーされた場合、BCSS は、Outlook Web Appが正常な影響を受けるデータベースのコピーをホストするサーバーを選択する必要があります。

最適なコピー選択プロセス

(プロトコルエラーではなく) データベースエラーに関して、Exchange 2013 の Active Manager は Exchange 2010 と同じチェックを実行します。 Active Manager は、アクティブ化の候補となる可能性のあるデータベース コピーの一覧を作成することで、最適なコピー選択プロセスを開始します。 到達不能なデータベース コピー、または管理上アクティブ化がブロックされているデータベース コピーは、選択プロセスでは無視され使用されません。 リストの順序は 、AutoDatabaseMountDial の値によって異なります。

  • データベースのコピーをホストするすべてのサーバー以外Losslessの値で AutoDatabaseMountDial が構成されている場合、Active Manager はコピー キューの長さを主キーとして使用して結果のリストを並べ替えます。 計算は (コピーから見た) LastLogInspected に基づくため、コピーの一覧は LastLogInspected の最大値 (コピー キューの長さが最短のコピー) から降順で並べ替えられます。 必要に応じて、Active Manager は、2 つ以上のパッシブ コピーのコピー キューの長さが同一の場合にタイ ブレーク条件となる二次キーとしてアクティブ化の優先順位を使用し、2 回目の並べ替えを実行します。 アクティブ化の優先順位の値が最も小さいコピーが、一覧でより上位の優先順位となります。

  • AutoDatabaseMountDial が、データベースのコピーをホストするすべてのサーバーで のLossless値で構成されている場合、アクティブ化優先の値を主キーとして使用して、結果のリストが昇順で並べ替えられます。 さらに、管理者が対象を指定せずにロスレス サーバーまたはデータベースのスイッチオーバーを実行した場合も、Active Manager は、主キーとしてアクティブ化の優先順位の値を使用して結果の一覧を昇順に並べ替えます。

次に、アクティブ マネージャーは、状態が Healthy、DisconnectedAndHealthy、DisconnectedAndResynchronizing、または SeedingSource のメールボックス データベース コピーを一覧から探し、順序に関する 10 個の条件セットを使用して、一覧上の各コピーがアクティブ化できるかどうかを評価します。 アクティブ マネージャーは、アクティブ化の候補が次の 1 番目の条件セットに合うどうかを判断します。

  • Healthy 状態のコンテンツのインデックスを持っている。

  • コピー キューの長さが 10 ログ ファイル未満。

  • 再生キューの長さが 50 ログ ファイル未満。

最初の条件セットを満たすデータベース コピーがない場合、Active Manager は 2 番目の条件セットを満たすデータベース コピーの検索を試みます。

  • クロール状態のコンテンツのインデックスを持っている。

  • コピー キューの長さが 10 ログ ファイル未満。

  • 再生キューの長さが 50 ログ ファイル未満。

2 番目の条件セットを満たすデータベース コピーがない場合、Active Manager は 3 番目の条件セットを満たすデータベース コピーの検索を試みます。

  • Healthy 状態のコンテンツのインデックスを持っている。

  • 再生キューの長さが 50 ログ ファイル未満。

3 番目の条件セットを満たすデータベース コピーがない場合、Active Manager は 4 番目の条件セットを満たすデータベース コピーの検索を試みます。

  • クロール状態のコンテンツのインデックスを持っている。

  • 再生キューの長さが 50 ログ ファイル未満。

4 番目の条件セットを満たすデータベース コピーがない場合、Active Manager は 5 番目の条件セットを満たすデータベース コピーの検索を試みます。

  • 再生キューの長さが 50 ログ ファイル未満。

5 番目の条件セットを満たすデータベース コピーがない場合、Active Manager は 6 番目の条件セットを満たすデータベース コピーの検索を試みます。

  • Healthy 状態のコンテンツのインデックスを持っている。

  • コピー キューの長さが 10 ログ ファイル未満。

6 番目の条件を満たすデータベース コピーがない場合、Active Manager は 7 番目の条件セットを満たすデータベース コピーの検索を試みます。

  • クロール状態のコンテンツのインデックスを持っている。

  • コピー キューの長さが 10 ログ ファイル未満。

7 番目の条件セットを満たすデータベース コピーがない場合、Active Manager は 8 番目の条件セットを満たすデータベース コピーの検索を試みます。

  • Healthy 状態のコンテンツのインデックスを持っている。

8 番目のすべての条件セットを満たすデータベース コピーがない場合、Active Manager は、9 番目の条件セットを満たすデータベース コピーの検索を試みます。

  • クロール状態のコンテンツのインデックスを持っている。

9 番目の条件セットを満たすデータベース コピーがない場合、Active Manager は、状態が正常、DisconnectedAndHealthy、DisconnectedAndResynchronizing、SeedingSource (条件の 10 番目のセット) のデータベース コピーをアクティブ化しようとします。 この 10 番目の条件セットに合うデータベース コピーが見つからない場合は、データベース コピーを自動的にアクティブ化することはできません。

1 つ以上の条件セットを満たす 1 つ以上のコピーが配置されると、ACLL プロセスが実行され、元のソースから潜在的な新しいアクティブ コピーにログ ファイルがコピーされます。 ACLL プロセスが完了すると、PAM はマウント要求を発行し、データベースがマウントされ、クライアントが使用できるようになります。または、データベースがマウントせず、PAM は次に最適なコピー (使用可能な場合) を検索します。