第4章 BDB ロック数の調整
Directory Server インスタンスが Berkeley Database (BDB) を使用する場合、ロックメカニズムによって、同時に実行できる Directory Server プロセスのコピー数が制御されます。たとえば、インポートジョブ中に Directory Server は、/run/lock/dirsrv/slapd-instance_name/imports/
ディレクトリーにロックを設定し、ns-slapd
(Directory Server) プロセスや別のインポートまたはエクスポート操作が実行されないようにします。
サーバーが使用可能なロックを使い果たした場合、ディレクトリーサーバーは次のエラーを /var/log/dirsrv/slapd-instance_name/errors
ファイルに記録します。
libdb: Lock table is out of available locks
libdb: Lock table is out of available locks
ただし、ディレクトリーサーバーのデフォルト設定では、サーバーがロックを使い果たしないようにして、データの破損を回避しようとします。詳細は、Avoiding data corruption by monitoring free database locks を参照してください。
4.1. 空き BDB データベースロックを監視してデータ破壊を回避する リンクのコピーリンクがクリップボードにコピーされました!
Berkeley Database (BDB) ロックが不足すると、データが破損する可能性があります。これを回避するために、Directory Server は、デフォルトで、残りの空きロック数を 500 ミリ秒間隔で監視し、アクティブなデータベースロックの数が 90% 以上の場合、Directory Server はすべての検索を停止します。
以下の手順により、間隔が 600
ミリ秒に変更され、しきい値が 85
% に変更されます。
設定した間隔が長すぎると、次の監視チェックが行われる前にサーバーのロックが不足する可能性があります。間隔が短すぎると、サーバーが遅くなる可能性があります。
前提条件
- Directory Server インスタンスは BDB を使用する。
手順
間隔としきい値を設定します。
dsconf instance_name backend config set --locks-monitoring-enabled on --locks-monitoring-pause 600 --locks-monitoring-threshold 85
# dsconf instance_name backend config set --locks-monitoring-enabled on --locks-monitoring-pause 600 --locks-monitoring-threshold 85
Copy to Clipboard Copied! Toggle word wrap Toggle overflow インスタンスを再起動します。
dsctl instance_name restart
# dsctl instance_name restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ロックモニタリング設定を表示します。
dsconf -D "cn=Directory Manager" ldap://supplier.example.com backend config get | grep "nsslapd-db-locks-monitoring"
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com backend config get | grep "nsslapd-db-locks-monitoring" nsslapd-db-locks-monitoring-enabled: on nsslapd-db-locks-monitoring-threshold: 85 nsslapd-db-locks-monitoring-pause: 600
Copy to Clipboard Copied! Toggle word wrap Toggle overflow