OpenLDAP起動不具合・Berkeley DBの破損?

仕事で使っているLinux(CentOS5.2)を週1回フルバックアップ時に再起動しているのだけど、昨日の再起動時にうまくOSが起動しなかったようである。

見てみると、どうやらOpenLDAPのslapdが起動しようとして止まっている様子・・・。

bdb_db_open: unclean shutdown detected; attempting recovery.

と出てしまっていて、ここから先のデーモンの起動に進んでいかないようだ。

Berkeley DB(bdbファイル)が破損するとこうなるという情報を目にした。OS起動時にslapdを自動起動するようにしていると、ここでOSの起動がストップしてしまうとのこと。今回はこれに該当したようだ。とりあえず起動時にinteractive startupを使い、slapdを起動しないでOSを起動した。

その後、以下のコマンドを実行すると無事slapdが起動できるようになりました。

# slapd_db_recover -v -h /var/lib/ldap

あとは同じことが起きても極力他のサービスが止まらないようにslapdの起動順序を後ろのほうにするのもいいかも?こうなってしまった原因はわからないまま。

以下のページを参考にさせていただきました。
http://blog.livedoor.jp/super_he2000live/archives/51252402.html
http://mizomemo.blogspot.com/2008/07/ldap.html