この手順には、次のコンポーネントが必要です。
Active Directory Synchronization Failure プロセス。 Active Directory リソースで、「On Synchronization Failure Process」Active Directory リソース属性によって定義されます。
Active Directory Recovery Collector タスク
Active Directory Failover タスク
Active Directory のアクティブな同期に関する「On Synchronization Failure Process」リソース属性は、同期失敗時に実行されるプロセスの名前を指定します。デフォルトでは、このリソース属性の値は空です。
この属性は、Identity Manager 管理者に、Active Directory 同期失敗の発生時にプロセスを実行できる機能を提供します。
リソース属性で指定されたプロセスは、失敗時にリソースによって起動されます。同期失敗の発生を知らせる電子メールを Active Directory 管理者に送信するプロセスを起動するようにしてください。電子メールの本文に、アダプタのポーリングメソッドから返されたエラーメッセージを含むこともあります。
また、指定されたエラーが発生したときに、管理者による承認を得てから、同期フェイルオーバータスクを自動的に呼び出すビジネスプロセスを設計することもできます。
ネイティブプロセスでは次の引数を使用できます。
引数 |
説明 |
---|---|
resourceName |
失敗が発生したリソースを識別します |
resultErrors |
ポーリングメソッドから返されたエラーを示す文字列を一覧表示します |
failureTimestamp |
失敗が発生した時刻を示します |
Identity Manager 管理者インタフェースの「タスクスケジュール」ページで、Active Directory Recovery Collector タスクをスケジュールして起動できます。このプロセスは、リソースオブジェクトインタフェースを使用して各ドメインコントローラの rootDSE オブジェクトと交信します。タスクのスケジュールによって、ドメインコントローラからデータが収集される頻度が決まります。
このタスクは、リソース復元情報を収集し、ADSyncRecovery_resourceName という名前の設定オブジェクトに格納します。この設定オブジェクトを拡張した GenericObject には各ドメインコントローラで収集された HighestCommittedUSN とタイムスタンプ (ミリ秒単位) のリストが格納されます。
資格各実行中に、このタスクは HighestCommittedUSN の古い値を復元データから除去します。daysToKeepUSNS 引数で、このデータを格納する期間を設定できます。
引数 |
説明 |
---|---|
resourceName |
Identity Manager がバックアップデータを収集する Active Directory リソースを指定します。 |
backupDCs |
復元データについて問い合わせる完全修飾ドメインコントローラホスト名を一覧表示します。このリストには元のホストを含めることができるので、含めるようにしてください。これにより、Identity Manager がリソースの処理を継続する必要がある場合、Identity Manager はソースリソースホストを含めることができます。 グローバルカタログとの同期をとる場合は、このリストのバックアップホストがグローバルカタログと見なされます。 |
daysToKeepUSNS |
Identity Manager にデータを格納する日数を指定します (デフォルトでは 7 日)。 |
このタスクは、失敗が発生したリソースと IAPI オブジェクトが、代替ドメインコントローラと usnChanged 開始ポイントを使用するように再設定します。タスク入力フォームに、格納されたフェイルオーバーデータから、指定されたホストで利用可能な usn-changed 時間が表示されます。
いくつかのエラーから、フェイルオーバーが適している状況を識別できます。フェイルオーバータスクの自動呼出しで発生する可能性がある問題の一例に、java.net.UnknownHostException エラーメッセージがあります。このメッセージで示されるエラーは、少なくとも次の 2 つの理由で発生することがあります。
一時的なルーティングの問題により、ゲートウェイマシンからホストに到達できない。
ホストに到達できず、予定された休止によりその後 8 時間ホストが停止される。
Active Directory フェイルオーバーを用いて問題を解決するには、次の 2 つの方法のどちらかを使用できます。
手動モード。問題が発生したときに、どのバックアップドメインコントローラと USN を使用するかを管理者が指定します。これは、Identity Manager インタフェースからタスクを実行している場合にのみ利用できるモードです。
半自動モード。半自動モードでは、フェイルオーバー解決プロセスを半自動化できます。半自動モードでは、タスクは収集されたデータを使用して、使用する最適なバックアップドメインコントローラと USN を特定します。タスクは、以下の計算式で算出される TargetTimestamp の値を超えない範囲でもっとも近い収集ポイントを探します。
ここで、TargetTimestamp = (FailureTimestamp - replicationTime) です。
半自動モードは、Identity Manager 管理者インタフェースからは利用できません。
特定のエラーに半自動フェイルオーバーの起動が適していると判断した場合は、次のタスク引数を設定します。(エラー時ワークフローは、Active Directory 同期フェイルオーバータスクを起動する必要があります。)これらの引数を設定することにより、失敗が発生したリソースと IAPI オブジェクトが、代替ドメインコントローラと usnChanged 開始ポイントを使用するように再設定されます。
引数 |
説明 |
---|---|
resourceName |
失敗が発生した場所を名前またはリソース ID によって特定します。 |
autoFailover |
自動フェイルオーバーを設定するかどうかを指定します。true に設定します。 |
failureTimestamp |
失敗が発生した時刻を示します。この値は、onSync エラープロセスから取得されます。 |
replicationTime |
Active Directory 環境でデータをレプリケートするための最長時間 (時間単位) を指定します。 |
処理を継続するドメインコントローラおよび開始ポイントとなる保存された HighestCommittedUSN 番号を手動で指定するには、次の引数を指定します。
引数 |
説明 |
---|---|
resourceName |
失敗が発生したリソースの名前または ID を指定します。 |
backupDC |
同期プロセスを開始するホストの名前を指定します。 |
usnDate |
収集されたデータから収集された HighestCommittedUSN の変更値に関連付けるために使われるタイムスタンプです。これは、半自動モードで targetTime が計算されるのと同じように計算されます。 |
restartActiveSync |
新しいドメインコントローラへの切り替えが完了したあとに Active Sync を起動するかどうかを指定します。 |
Active Directory Recovery Collector タスクでは、使用されている値に基づいて LDAPHostname リソース属性値か GlobalCatalog リソース属性値のどちらかが更新されます。サブドメイン検索リソース属性が true に設定されていて、グローバルカタログ属性の値が空でない場合は、グローバルカタログサーバー属性が変更されます。それ以外の場合は、LDAPHostname がバックアップドメインコントローラの名前に変更されます。
Active Directory Recovery Collector タスクでは、次回の実行時に調べる変更を Active Directory リソースアダプタに知らせるために、IAPI オブジェクトも更新されます。このタスクでは、lastUpdated 属性値と lastDeleted 属性値の両方の HighCommitedUSN 値が更新されます。