我已经实现了一对运行几个元数据库的openldap代理来合并和过滤AD DC群集。 当有一个服务不能正常工作时,我在客户端之间的问题上出现了一些问题。 一个例子是,当一个中央系统日志服务器closures,slapd无法发送日志,所以当打开TCP套接字时,进程不会响应,因为它正在等待清除系统日志消息的积压。 在这里,我曾经期望客户失败的第二台服务器,但他们没有,尽pipe报告说,他们连接到:
2011-10-10T11:45:01.220367+01:00 gibsvlin-mkt-product worker_nscd: nss_ldap: could not search LDAP server - Server is unavailable 2011-10-10T11:45:01.231725+01:00 gibsvlin-mkt-product worker_nscd: nss_ldap: could not search LDAP server - Server is unavailable 2011-10-10T11:45:01.235354+01:00 gibsvlin-mkt-product worker_nscd: nss_ldap: could not search LDAP server - Server is unavailable 2011-10-10T11:45:01.242156+01:00 gibsvlin-mkt-product worker_nscd: nss_ldap: reconnected to LDAP server ldap://10.5.10.117:389/ 2011-10-10T11:45:01.248505+01:00 gibsvlin-mkt-product worker_nscd: nss_ldap: could not search LDAP server - Server is unavailable
所以我们看到了备份服务器的“重新连接”信息,但似乎并没有从中获得任何信息。 如果我暂停虚拟机的虚拟化,所以没有TCP连接是可能的,那么一切都很好地失败。
感觉就像是在故障逻辑中有一个微妙的东西来sorting,但是我不能很好地调整它,假设这是解决scheme。 匹配的客户端ldap.conf显示如下:
scope sub ldap_version 3 nss_base_passwd dc=domain,dc=local?sub?&(uidNumber=*) nss_base_group dc=domain,dc=local?sub?&(gidNumber=*) nss_initgroups_ignoreusers root,ldap,dbus,xfs,haldaemon,nscd,nocpulse bind_timelimit 1 timelimit 5 idle_timelimit 5 nss_reconnect_tries 3 nss_reconnect_sleeptime 1 nss_reconnect_maxconntries 3 bind_policy soft uri ldap://10.3.110.117:389/ ldap://10.5.10.117:389/ base dc=bwinparty,dc=local nss_initgroups backlink pam_login_attribute uid ssl no
这似乎很奇怪,虽然nscd等连接到第二台服务器,我们无法login。以前bind_timelimit和时间限制都是5,这对我来说,如果它没有时间绑定,那么就没有时间了在所有timelimit窗口内的其他内容。 虽然没有改善被发现的调整。