ハードウェアまたはアプリケーションで障害が発生したあと、同期されたディレクトリソースの一部にあるバックアップからデータを回復しなければならない場合があります。
ただし、データ回復の完了後、同期を通常どおり進行できることを保証するために、追加の手順を実行する必要があります。
コネクタは通常、メッセージキューに伝播された最後の変更についての情報を維持します。
コネクタ状態と呼ばれるこの情報は、コネクタがそのディレクトリソースから読み出す必要がある後続の変更を特定するために使用されます。同期されるディレクトリソースのデータベースがバックアップから復元される場合、コネクタ状態がすでに有効でなくなっている可能性があります。
Active Directory および Windows NT 用の Windows ベースのコネクタも内部データベースを維持します。データベースは、同期されるデータソースのコピーです。このデータベースは、接続されたデータソースのどの部分が変更されたかを特定するために使用されます。接続された Windows ソースがバックアップから復元された時点で、内部データベースは有効ではなくなります。
一般に、回復されたデータソースを再読み込みする目的には idsync resync コマンドを使用できます。
パスワードを同期する目的には、1 つの例外を除いて再同期は使用できません。Directory Server 内のパスワードを無効にするために、-i ALL_USERS オプションを使用できます。これは、再同期データソースが Windows の場合に可能な方法です。また、SUL リストには Active Directory システムのみを含める必要があります。
ただし、すべての状況で idsync resync コマンドを使用できるとは限りません。
次に説明する手順のいずれかを実行する前に、同期が停止していることを確認してください。
同期設定に応じて、適切な修飾子設定を指定して idsync resync コマンドを使用します。resync 操作のターゲットとしては、回復されるディレクトリソースを使用します。
回復されるデータソースが同期の送信先である場合、双方向の同期のときと同じ手順に従うことができます。
回復されるデータソースが同期のソースである場合、回復されるディレクトリソースの再読み込みには引き続き idsync resync を使用できます。Identity Synchronization for Windows の設定で、同期フローの設定を変更する必要はありません。idsync resync コマンドでは、-o Windows|Sun オプションを使用して、設定されたフローとは無関係に同期フローを設定することができます。
例として、次のシナリオを考えます。
Directory Server と Active Directory の間で、双方向の同期が設定されています。
Microsoft Active Directory サーバーのデータベースを、バックアップから回復する必要があります。
Identity Synchronization for Windows では、この Active Directory ソースは SUL AD に対して設定されます。
変更、作成、および削除の双方向同期は、この Active Directory ソースと Sun Directory Server ソースの間で設定されます。
同期を停止します。
idsync stopsync -w - -q - |
Active Directory ソースを再同期します。また、変更、作成、および削除を再同期します。
idsync resync -c -x -o Sun -l AD -w - -q - |
同期を再開します。
idsync startsync -w - -q - |
以降の手順は、特定のディレクトリソースに対応します。
Active Directory をバックアップから復元できる場合は、双方向または単方向の同期について説明した節の手順に従います。
ただし、重大な障害が発生したあとは、使用するドメインコントローラの変更が必要になる場合があります。この場合、Active Directory コネクタの設定を更新するため、次の手順に従います。
Identity Synchronization for Windows 管理コンソールを起動します。
Configuration タブを選択します。「ディレクトリソース」ノードを展開します。
適切な Active Directory ソースを選択します。
「コントローラの編集」をクリックし、新しいドメインコントローラを選択します。
選択したドメインコントローラを、ドメインの NT PDC FSMO ロール所有者にします。
構成を保存します。
Active Directory コネクタが動作しているホストで、Identity Synchronization サービスを停止します。
ServerRoot/isw-hostname/persist/ADPxxx の下にある、ディレクトリを除くすべてのファイルを削除します。ここで、xxx は Active Directory コネクタ ID の数字部分です。
たとえば、Active Directory コネクタ ID が CNN100 の場合、この数字は 100 です。
Active Directory コネクタが動作しているホストで、Identity Synchronization サービスを開始します。
単方向または双方向の同期について説明した節に示されている同期フローに従い、手順を進めます。
旧バージョン形式の更新履歴ログデータベースと、同期されるユーザーがいるデータベースのどちらか一方または両方が、重大な障害によって影響を受ける可能性があります。
旧バージョン形式の更新履歴ログデータベースの場合
旧バージョン形式の更新履歴ログデータベースで、Directory Server コネクタが処理できない変更が発生した可能性があります。旧バージョン形式の更新履歴ログデータベースの復元に意味があるのは、バックアップに未処理の変更が含まれる場合に限られます。ServerRoot/isw-hostname/persist/ADPxxx/accessor.state ファイル内の最新のエントリを、バックアップ内の最後の changenumber と比較します。accessor.state の値がバックアップ内の changenumber 以上である場合は、データベースを復元しないでください。その代わりに、データベースを再作成してください。
旧バージョン形式の更新履歴ログデータベースが再作成されたあとで、必ず idsync prepds を実行してください。別の方法として、Identity Synchronization for Windows 管理コンソールの「ディレクトリソース」ウィンドウで「Directory Server の準備」をクリックします。
Directory Server コネクタは、旧バージョン形式の更新履歴ログデータベースが再作成されたことを検出し、警告メッセージをログに出力します。このメッセージは無視しても安全です。
同期対象データベースの場合
同期対象データベースのバックアップが利用できない場合、Directory Server コネクタを再インストールする必要があります。
同期対象データベースをバックアップから復元できる場合は、双方向または単方向の同期について説明した節の手順に従います。