クラスタ内での複製の仕組み
クラスタの複製は、スケジュール駆動型ではなくイベント駆動型です。データベースの変更を検出したクラスタレプリケータは、クラスタにある他のレプリカにその変更をただちにプッシュします。複製イベントのバックログがある場合は、他のクラスタサーバーにプッシュできるようになるまで、クラスタレプリケータがこれらのバックログをメモリに保存します。変更を送信する前に同じデータベースにさらに変更が発生すると、クラスタレプリケータはこれらの変更をプールしておき、あとでまとめて送信して処理時間を短縮します。
HCL Domino® では複製イベントがメモリのみに保存されるため、複製が成功するためには送信側サーバーと複製先サーバーが両方とも使用可能である必要があります。複製先サーバーが使用できない場合は、使用できるようになるまでイベントはメモリに保存されたままになります。クラスタレプリケータは、これらの複製イベントを定期的に複製先サーバーにプッシュしようとします。特定のデータベースの複製に問題がある場合、このプッシュ間隔は当初 1 時間ですが、時間の経過とともに長くなり、最長 1 日になります。
複製が終了する前に送信側サーバーがシャットダウンすると、メモリにある複製イベントは失われます。したがって、クラスタサーバーを再起動するときは、標準の REPLICA タスクを使用してクラスタのすべてのメンバーに対して必ず強制的に複製を即時実行する必要があります。データベースの同期が保たれるように、クラスタサーバー間の複製スケジュールを設定することをお勧めします。このスケジュールは、たとえば数時間間隔で複製といったものにします。
クラスタレプリケータが複製イベントをログファイルに記録するとき、複製の再実行を待っているイベントもすべて記録します。このログを使用して、現在同期していないデータベースや複製の障害となっているエラーを確認できます。エラーを修正し、複製が正常に終了すると、以後このエラー情報は記録されません。
複製式の実行は、クラスタレプリケータではなく、標準のレプリケータで行われます。これらの式の実行では CPU に相当の負荷がかかるため、クラスタ複製によるオーバーヘッドを最小限に抑えるために、クラスタレプリケータでは複製式を処理しないようにしています。したがって、選択複製を実行すると、選択式に一致しない文書がデータベースに一時的に存在することがあります。このような文書は、標準の複製を実行したときに Domino® によって削除されます。
クラスタ内の複製履歴
クラスタでは複製イベントが頻繁に発生するため、クラスタレプリケータは、データベース複製のたびにそのデータベースの複製履歴に対する読み込みや書き込みを行いません。複製が成功すると、履歴情報はメモリに保存されます。引き続いて成功した複製イベントが履歴情報に追加され、メモリに保存されます。クラスタレプリケータは、約 1 時間ごとに履歴情報をデータベースに転送します。
クラスタ内での個人フォルダの複製
標準複製では、フォルダ所有者のクライアントによる複製の場合を除き、個人フォルダとその内容は複製されません。ただし、クラスタの中では、個人フォルダはそのクラスタにある他のレプリカに複製されます。この動作によって、クライアントがフェイルオーバーするときは、アクセスするレプリカとは関係なくデータベースの内容が同じになります。クラスタの複製と標準の複製は両方ともクラスタ内の個人フォルダとその内容の複製をサポートしています。
個人フォルダにアクセスできるのは、そのフォルダの作成者またはクラスタにあるサーバーのみです。アクセス制御リスト (ACL) でユーザーの種類が「サーバー」または「サーバーグループ」と定義されたサーバーのみがデータベースにある個人フォルダにアクセスして複製できます。ACL で明示的に設定されていないサーバーは、個人フォルダを複製できません。