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