15.12. レプリケーションを使用した削除されたエントリーの管理
エントリーが削除されると、すぐにデータベースから削除されません。代わりに、tombstone エントリーに変換されます。これは、レプリケーションのサーバーで使用されるバックアップエントリーを使用して、特定の競合 (孤立したエントリー) を解決します。tombstone エントリーは、変更した DN (追加された nsTombstone オブジェクトクラス) を持つ元のエントリーですが、属性はインデックスから削除されます。
廃棄は無限に保持されません。パージジョブは、指定した間隔で定期的に実行します (
nsDS5ReplicaTombstonePurgeInterval
属性の設定)。パージは古い tombstone エントリーを削除します。tombstone エントリーは、指定の期間 (nsDS5ReplicaPurgeDelay
属性で設定) に保存されます。tombstone エントリーが遅延期間よりも古い場合が、次のパージジョブで復元します。
パージ遅延とパージの間隔は、cn=replica,cn=replicated suffix,cn=mapping tree,cn=config 設定エントリーでレプリカエントリーに設定されます。レプリケーションのパージ設定を定義する場合、2 つの考慮事項があります。
- パージ操作は、特にサーバーが多くの削除操作を処理する場合に時間がかかりません。パージの間隔が低すぎるか、サーバーのリソースを過剰に消費してパフォーマンスに影響を及ぼす可能性があります。
- サプライヤーは、tombstone エントリーなどの変更情報を使用して、初期化後に Prime レプリケーションを実行します。コンシューマーを効果的に再初期化し、レプリケーションの競合を解決するには、変更のバックログが十分にある必要があります。パージ遅延 (tombstone エントリーの経過時間) を低く設定しすぎないでください。または、レプリケーションの競合の解決に必要な情報が失われる可能性があります。レプリケーショントポロジーの長いレプリケーションスケジュールよりもわずかに長くパージ遅延を設定します。たとえば、最長のレプリケーションの間隔が 24 時間の場合は、tombstone エントリーを 25 時間保持します。これにより、コンシューマーを初期化するのに十分な変更履歴が確保され、異なるサプライヤーに保存されているデータが乖離するのを防ぐことができます。
dsconf replication set コマンドを使用する場合、
--repl-tombstone-purge-interval=seconds
オプションは nsDS5ReplicaTombstonePurgeInterval
属性を設定し、--repl-purge-delay=seconds
オプションは nsDS5ReplicaPurgeDelay
属性を設定します。
たとえば、tombstone パージ間隔を 43200 (12 時間) に設定し、レプリカパージの遅延を 90000 (25 時間) に設定するには、以下を実行します。
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication set \ --repl-tombstone-purge-interval=43200 --repl-purge-delay=90000
注記
tombstone エントリーおよび状態情報をすぐにクリーンアップするには、非常に小さい値を
nsDS5ReplicaTombstonePurgeInterval
属性および nsDS5ReplicaPurgeDelay
属性に設定します。どちらの属性も値が秒単位で設定されているため、パージ操作をほぼ即座に開始することができます。
警告
常にパージ期間を使用して、データベースから tombstone エントリーを消去します。tombstone エントリーを手動で削除しないでください。