第13章 レプリケーション変更ログのトリミング

Directory Server の changelog は、受け取ったおよび処理された変更の一覧を管理します。これには、クライアントの変更やレプリケーションパートナーから受け取った変更が含まれます。

デフォルトでは、Directory Server は 7 日より古い変更ログエントリーを削除します。ただし、次のように設定できます。

  • nsslapd-changelogmaxage パラメーター: 変更ログのエントリーの最大期間
  • nsslapd-changelogmaxentries パラメーター: 変更ログにおけるレコードの合計数。

これらの設定の少なくとも 1 つを有効にした場合、ディレクトリーサーバーはデフォルトで 5 分ごとに変更ログをトリミングします (nsslapd-changelogtrim-interval)。

トリミング設定が有効であっても、どのレコードも、その後に作成されたレコードも、トポロジー内のすべてのサーバーに正常にレプリケートされるまで、changelog に残ります。レプリケーショントポロジーからサプライヤーを削除する の説明に従ってトポロジーからサプライヤーを削除すると、ディレクトリーサーバーはこのサプライヤーのすべての更新を他のサーバーの変更ログから削除します。

13.1. コマンドラインを使用したレプリケーション変更ログトリミングの設定

ディレクトリーサーバーは、デフォルトで 7 日より古い変更ログエントリーを削除します。ただし、ディレクトリーサーバーがエントリーを削除するまでの時間を設定できます。エントリー数が設定値を超えた場合にエントリーを自動的に削除するようにディレクトリーサーバーを設定することもできます。

本セクションでは、dc=example,dc=com 接尾辞の変更ログのトリミングを設定する方法を説明します。

注記

Red Hat は、最大エントリー数ではなく、最長期間を設定することを推奨します。最長期間は、cn=replica,cn=suffixDN,cn=mapping tree,cn=config エントリーの nsDS5ReplicaPurgeDelay パラメーターに設定されたレプリケーションパージ遅延と一致する必要があります。

サプライヤーでこの手順を実行します。

前提条件

  • dc=example,dc=com 接尾辞のレプリケーションを有効にしている。

手順

  1. 変更ログのトリミングを設定します。

    • 変更ログエントリーの最長期間を設定するには、以下を入力します。

      # dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --max-age "4w"

      このコマンドは、最長期間を 4 週間に設定します。パラメーターは、以下の単位をサポートします。

      • s (S) (秒)
      • m (M) (分)
      • h (H) (時間)
      • d (D) (日)
      • w (W) (週)
    • エントリーの最大数を設定するには、以下を入力します。

      # dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --max-entries "100000"

      このコマンドは、変更ログのエントリーの最大数を 100,000 に設定します。

  2. デフォルトでは、Directory Server は変更ログを 5 分 (300 秒) ごとにトリミングします。別の間隔を設定するには、以下を入力します。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --trim-interval 600

    このコマンドは、間隔を 10 分 (600 秒) に設定します。

検証

  • 接尾辞の変更ログ設定を表示します。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com replication get-changelog --suffix "dc=example,dc=com"
    dn: cn=changelog,cn=userroot,cn=ldbm database,cn=plugins,cn=config
    cn: changelog
    nsslapd-changelogmaxage: 4w
    nsslapd-changelogtrim-interval: 600
    ...

    このコマンドは、デフォルトとは異なるパラメーターのみを表示します。