我们在RHel 5.3上运行openldap 2.3.43。我们的LDAP服务器最近运行起来不正常
1.当您发出命令服务ldap重新启动但它“似乎”开始OK时它停止
2.运行命令服务ldap状态后,显示slapd停止
我已经查看了ldap.log文件,唯一值得一提的错误是
Jun 25 22:11:14 myldapserver slapd[11593]: daemon IPv6 socket() errno=7 Jun25 22:11:15 myldapserver slapd[11598]: bdb(cn=accesslog):file id2entry.bdb (meta pgno =0) has LSN [1}[900784] Jun25 22:11:15 myldapserver slapd[11598]: bdb(cn=accesslog):end of log is [1][956] Jun25 22:11:15 myldapserver slapd[11598]: bdb(cn=accesslog):/var/log/ldap/accesslog/id2entry.bdb:unexpected file or format Jun25 22:11:15 myldapserver slapd[11598]: bdb_db_opendb_open(cn=accesslog):/var/log/ldap/accesslog/id2entry.bdb) failed: Invalid argument (22) Jun25 22:11:15 myldapserver slapd[11598]: bdb(cn=accesslog):Unknown locker ID :0 Jun25 22:11:15 myldapserver slapd[11598]: Jun25 22:11:15 myldapserver slapd[11598]: backend_startup_one: bi_db_open failed! (22) Jun25 22:11:15 myldapserver slapd[11598]: bd_db_close: alock close failed! Jun 25 22:11:15 myldapserver slapd[11598]: slapd stopped. Jun 25 22:11:15 myldapserver slapd[11598]: connections_destroy: nothing to destroy.
任何帮助将不胜感激。
您有问题打开文件/var/log/ldap/accesslog/id2entry.bdb ,这是ldap的数据库的一部分。
你可以尝试这些步骤:
1)在正常情况下,ldap的数据库是/ var / lib / ldap(但我已安装Ubuntu)的某处。 你没有更改数据库的目录(你可以在/etc/ldap/slapd.conf或者/etc/ldap/slap.d/*中的某个目录中看到它,它是一个名为directory的参数)尝试search真正的位置文件id2entry.dbd的文件,并在configuration文件的权利的地方使用。
2)您的文件id2entry.dbd是否可以通过openldap进行读取和写入? 检查此文件的权限。
3)如果您的数据库位于正确的位置并且拥有适当的权限,请尝试使用以下命令修复ldap的数据库:
/usr/sbin/slapd_db_recover -v -h /var/lib/ldap
(/ var / lib / ldap是目录,其中放置了id2entry.dbd文件)。