syncrepl同步但不更新

时间:2011-06-29 19:16:23

标签: openldap

问题描述

有两个openldap服务器:“provider”和“consumer”。提供商工作正常,消费者可以使用stunnel在localhost:1000访问。

如果使用空数据库启动使用者,它会自动同步提供者的数据库并且工作正常。

但是如果稍后在提供者身上发生了某些变化,那么它就无法传达给消费者。


配置

更改域名,编辑密码。提供商上有一个用于同步的ldapsync帐户。

提供商

Debian GNU / Linux 5.0

OpenLDAP:slapd 2。4。11(2010年7月23日21:37:26)

$ less /etc/ldap/slapd.conf
[...]
moduleload      syncprov.la
[...]
overlay syncprov
syncprov-checkpoint 10 60
syncprov-sessionlog 1000

消费

Debian GNU / Linux 5.0

OpenLDAP:slapd 2。4。11(2010年7月24日08:14:20)

$ less /etc/ldap/slapd.conf
[...]
syncrepl rid=123
  provider=ldap://localhost:1000
  type=refreshAndPersist
  interval=00:00:05:00
  searchbase="dc=mydomain,dc=com"
  scope=sub
  schemachecking=off
  bindmethod=simple
  binddn="cn=ldapsync,ou=Roles,dc=mydomain,dc=com"
  credentials=<***REDACTED***>

到目前为止我尝试了什么?

我的工作主要基于:http://www.openldap.org/doc/admin22/syncrepl.html

我已尝试type=refreshOnly而不是type=refreshAndPersist

1 个答案:

答案 0 :(得分:1)

Syncrepl在搜索请求中使用“cookie”。如果“cookie”与提供者数据库中的“contextCSN:”相同,则返回0条记录。 在数据库中进行任何更新后 - “contextCSN:”必须由LDAP进程自动更改。但由于某些原因,它可能会挂起,例如,如果时钟不同步。您可以创建数据库的完全转储(通过“slapcat”)并检查字段“contextCSN:”