13.2. 大規模な変更ログの手動によるサイズ縮小

レプリケーション変更ログのトリミングが有効になっていない場合など、特定の状況では、変更ログが過度に大きなサイズに増大する可能性があります。これを修正するには、変更ログのサイズを手動で減らすことができます。

この手順では、dc=example,dc=com 接尾辞の変更ログをトリミングする方法を説明します。サプライヤーでこの手順を実行します。

前提条件

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

手順

  1. (オプション) 変更ログのサイズを表示します。

    1. dc=example,dc=com 接尾辞のバックエンドデータベースを特定します。

      # dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix list
      dc=example,dc=com (userroot)

      括弧内の名前は、対応する接尾辞のデータを保存するバックエンドデータベースです。

    2. userroot バックエンドの変更ログファイルのサイズを表示します。

      # ls -lh /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db
      -rw-------. 1 dirsrv dirsrv 517M Jul  5 12:58 /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db
  2. 変更ログサイズを縮小した後にパラメーターをリセットできるようにするには、対応するパラメーターの現在の値を表示して書き留めます。

    # 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: 300

    出力に特定の属性が表示されない場合、ディレクトリーサーバーはデフォルト値を使用します。

  3. 一時的に、トリミングに関連するパラメーターを減らします。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --max-age "300s" --max-entries 500 --trim-interval 60
    重要

    パフォーマンス上の理由から、短い間隔設定を永続的に使用しないでください。

  4. --trim-interval パラメーターに設定した時間が経過するのを待ちます。
  5. 変更ログを圧縮して、ディスク領域を再度確保します。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com backend compact-db --only-changelog
  6. 変更ログパラメーターを、一時的に減らす前の値にリセットします。

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

検証

  • 変更ログのサイズを表示します。

    # ls -lh /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db
    -rw-------. 1 dirsrv dirsrv 12M Jul  5 12:58 /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db