我正在尝试在 Red Hat 7 上使用 OpenLDAP 设置 LDAP 多主复制(对 LDAP 的了解很少)。
作为第一阶段,我已经安装了 syncprov:
# ldif format
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: syncprov.la
并启用:
# ldif format
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100
我尝试使用简单绑定作为同步方法来创建 syncrepl 条目,如下所示(我想我可以稍后切换到 TLS):
# ldif format
dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=134 provider=ldap://ws2/ bindmethod=simple searchbase="dc=tcs,dc=local" type=refreshAndPersist interval=00:00:00:10 retry="5 5 300 5" timeout=1
add: olcMirrorMode
olcMirrorMode: TRUE
(“ws1”和“ws2”是隔离的本地 LAN 上的两台服务器。)
我知道这是可能的为了让服务器能够互相访问,因为我可以使用 ldapsearch 从另一台服务器连接到其中任意一台服务器,例如:
admin@ws1$ ldapsearch -x -H ldap://ws2/ -LLL "(objectClass=posixAccount)" dn
dn: uid=testuser1,ou=People,dc=tcs,dc=local
# ...
但他们似乎从未真正同步过他们的数据,而且我找不到任何原因。
如果我已经确定基本 LDAP 通信正常,但没有发生复制,我该如何排除 syncrepl 功能的故障?