【问题标题】:syncrepl syncing but not updatingsyncrepl 同步但不更新
【发布时间】:2011-06-29 19:16:22
【问题描述】:

问题描述

有两个 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

【问题讨论】:

  • 我遇到了同样的问题,这是因为我没有导入架构(在本例中为 samba.schema)。消费者将同步直到具有 samba 属性的记录并停止,以后不会进行任何更新。也许您的与此有关?

标签: openldap


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-19
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    相关资源
    最近更新 更多