13.2. 大規模な変更ログの手動によるサイズ縮小
レプリケーション変更ログのトリミングが有効になっていない場合など、特定の状況では、変更ログが過度に大きなサイズに増大する可能性があります。これを修正するには、変更ログのサイズを手動で減らすことができます。
この手順では、dc=example,dc=com 接尾辞の変更ログをトリミングする方法を説明します。サプライヤーでこの手順を実行します。
前提条件
-
dc=example,dc=com接尾辞のレプリケーションを有効にしている。
手順
(オプション) 変更ログのサイズを表示します。
dc=example,dc=com接尾辞のバックエンドデータベースを特定します。#
dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix listdc=example,dc=com (userroot)括弧内の名前は、対応する接尾辞のデータを保存するバックエンドデータベースです。
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
変更ログサイズを縮小した後にパラメーターをリセットできるようにするには、対応するパラメーターの現在の値を表示して書き留めます。
#
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出力に特定の属性が表示されない場合、ディレクトリーサーバーはデフォルト値を使用します。
一時的に、トリミングに関連するパラメーターを減らします。
#
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重要パフォーマンス上の理由から、短い間隔設定を永続的に使用しないでください。
-
--trim-intervalパラメーターに設定した時間が経過するのを待ちます。 変更ログを圧縮して、ディスク領域を再度確保します。
#
dsconf -D "cn=Directory Manager" ldap://server.example.com backend compact-db --only-changelog変更ログパラメーターを、一時的に減らす前の値にリセットします。
#
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