検索
連載

ものいわぬOpenLDAPサーバのログ管理OpenLDAPによるディレクトリサーバ運用(3)(2/3 ページ)

ユーザー情報や組織情報などを一元的に管理するディレクトリサーバは、企業システムの中で重要な役割を果たしています。オープンソースの「OpenLDAP」によるディレクトリサーバの構築方法を解説した前連載に続き、その運用方法を紹介していきます。(編集部)

PC用表示
Share
Tweet
LINE
Hatena

ログの削除

 次は、ログの削除について説明します。このログ削除を怠って運用を続けていると、肥大化したログがディスク領域を圧迫しかねないので注意が必要です。

 最も簡単なOpenLDAPサーバのログ削除は、ログローテートを利用する方法です。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 例えば、上記の例のように、/etc/logrotate.d/syslogファイルにローテーション対象としてOpenDLAPサーバのログファイル(ここでは、/var/log/ldap.log)を追加することで、CentOSでは、「毎週日曜日の朝4時過ぎに現行のファイルがローテーションされ、過去4世代分のファイルを保持し、それより古い世代のファイルは削除される」ようになります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

Berkeley DBのトランザクションログファイル

 実際のOpenLDAPサーバの運用においては、OpenLDAPサーバが出力するログのほか、エントリ情報を蓄積するバックエンドデータベースのログファイルについても考慮しておく必要があります。ここでは、OpenLDAPサーバがデフォルトで採用するバックエンドデータベースBerkeley DBを対象にして、ログファイルの管理方法を説明します。

 次の表は、OpenLDAPサーバのデータディレクトリに作成されるファイル一覧です。

ファイル名 役割
DB_CONFIG Berkeley DBの設定ファイル。Berkeley DBのホームディレクトリ(OpenLDAPの「datadir」以下)に配置する
__db.[00X] Berkeley DBのプロセス、スレッドが共有利用するメモリ領域(shared memory regions)を記録するファイル
alock OpenLDAPがBerkeley DBの重複利用や正常停止を管理するために利用するアクセスロック(Access LOCK)ファイル
dn2id.bdb、id2entry.bdb OpenLDAPのエントリ情報を蓄積するデータファイル。OpenLDAPではメインのデータファイルとなる
log.[000000000X] Berkeley DBのトランザクションログファイル。データの更新量に依存して増加。デフォルトのサイズは10Mbytes
[インデックス指定属性名].bdb OpenLDAPのインデックス情報を蓄積するデータファイル。インデックスを指定した属性ごとに作成される

 上記一覧中の、ファイル名が「log.」で始まり連番が付与されるファイルが、管理対象となるBerkeley DBのトランザクションログファイルです。

トランザクションログファイルの削除

 Berkeley DBのトランザクションログファイルの削除方法は、大きく分けて、

  • 管理者が手動で行う方法
  • Berkeley DBが自動で行う方法

の2つがあります。

 管理者が手動で削除を行う方法では、第2回で紹介したdb_archive -dコマンドを利用します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 トランザクションログファイルは、次の3つの条件を満たしている場合に削除が可能となります。ここで説明したdb_archive -dコマンドは、これら3つの条件を満たすファイルを選択したうえで削除できるコマンドです。

  1. 実行中のトランザクションに関連していない
  2. 新しいトランザクションログファイルが作成され、チェックポイントが実行されている
  3. Berkeley DBの実行環境で、唯一のトランザクションログファイルでない

 上記の例では、チェックポイントを明示的に実行し、更新内容をデータファイルへも書き出すことで、更新内容が、先行で書き込まれているトランザクションログファイルにのみ存在する状況をなくし、削除可能なトランザクションログファイルを増やしています。

 第2回で紹介した、定期的にトランザクションログファイルをバックアップディレクトリに退避するような運用を行っている場合は、退避する前に削除してしまわないよう、db_archive -dコマンドを実行するタイミングに注意が必要です。

 一方のBerkeley DBに自動で削除を行わせる方法では、Berkeley DBの設定ファイルであるDB_CONFIGファイルに“DB_LOG_AUTOREMOVE”フラグを指定します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 この方法では、Berkeley DBへ更新が発生し、トランザクションログファイルへの書き込みが行われた時点で、削除可能なファイルがあるかどうかの判断が行われます。この方法は、定期的にトランザクションログファイルを退避させる運用には向かないことに注意してください。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る