OpenLDAP 无法停止,但启动正常,但状态显示为 slapd 已停止

OpenLDAP 无法停止,但启动正常,但状态显示为 slapd 已停止

我们在 RHel 5.3 上运行 openldap 2.3.43。我们的 LDAP 服务器最近表现不稳定

1.当您发出命令 service ldap restart 时,它无法停止,但它“似乎”可以正常启动

2.然而,运行命令服务 ldap status 后,它显示 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.

任何帮助将不胜感激。

答案1

您在打开文件时遇到问题/var/log/ldap/accesslog/id2entry.bdb,该文件是 ldap 数据库的一部分。

您可以尝试以下步骤:

1) 在正常情况下,ldap 的数据库位于 /var/lib/ldap 之类的位置(但我安装了 Ubuntu)。你没有更改数据库的目录吗(你可以在 /etc/ldap/slapd.conf 或 /etc/ldap/slap.d/* 中的某个位置看到它,它是一个名为的参数directory)尝试搜索文件 id2entry.dbd 的真实位置并在配置文件的正确位置使用。

2) 您的文件 id2entry.dbd 是否可供 openldap 读写?请检查此文件的权限。

3)如果您的数据库位于正确的位置并具有适当的权限,请尝试使用此命令修复 ldap 的数据库:

/usr/sbin/slapd_db_recover -v -h /var/lib/ldap

(/var/lib/ldap 是放置 id2entry.dbd 文件的目录)。

相关内容