15.17.2. 大きな changelog のサイズを手動で縮小
レプリケーション changelog をトリムして、データベースのサイズが大きい場合に、短い期間で changelog サイズを手動で縮小します。
- changelog サイズを縮小した後にパラメーターをリセットできるようにするには、対応するパラメーターの現在の値を表示します。以下に例を示します。
# ldapsearch -x -D 'cn=Directory Manager' -W -b "cn=changelog5,cn=config" \ nsslapd-changelogmaxage nsslapd-changelogcompactdb-interval \ nsslapd-changelogtrim-interval nsslapd-changelogmaxage dn: cn=changelog5,cn=config nsslapd-changelogmaxage: 7d nsslapd-changelogcompactdb-interval: 2592000 nsslapd-changelogtrim-interval: 300
出力に表示されないパラメーターには設定されず、Directory Server はデフォルト値を使用します。デフォルト値は、Red 『Hat Directory Server の設定、コマンド、およびファイルリファレンス のパラメーターの説明を参照してください』。 - 以下のパラメーターの値を一時的に減らします。
# ldapmodify -D "cn=Directory Manager" -W -p 389 -h server.example.com -x dn: cn=changelog5,cn=config changetype: modify replace: nsslapd-changelogmaxage nsslapd-changelogmaxage: 3d - replace: nsslapd-changelogtrim-interval nsslapd-changelogtrim-interval: 30 - replace: nsslapd-changelogcompactdb-interval nsslapd-changelogcompactdb-interval: 300
この設定により、Directory Server は、次の 30 秒で (nsslapd-changelogtrim-interval
)、3 日 (nsslapd-changelogmaxage
) よりも古い changelog エントリーを削除します。 - Directory Server インスタンスを再起動して、
nsslapd-changelogcompactdb-interval
パラメーターの新しい値が有効になります。# systemctl restart dirsrv@instance
次のデータベースの更新後、nsslapd-changelogcompactdb-interval
パラメーターで設定した時間間隔内でデータベースが自動的に圧縮されます。 - 更新されたパラメーターを以前の値にリセットします。以下に例を示します。
# ldapmodify -D "cn=Directory Manager" -W -p 389 -h server.example.com -x dn: cn=changelog5,cn=config changetype: modify replace: nsslapd-changelogmaxage nsslapd-changelogmaxage: 7d - replace: nsslapd-changelogtrim-interval nsslapd-changelogtrim-interval: 300 - replace: nsslapd-changelogcompactdb-interval nsslapd-changelogcompactdb-interval: 2592000
重要パフォーマンス上の理由から、短い間隔設定を永続的に使用しないでください。 - Directory Server インスタンスを再起動します。
# systemctl restart dirsrv@instance