这是我slapd.conf
在 server01 上的配置:
serverID 1
# database section
# syncrepl directive
syncrepl rid=002
provider=ldap://192.168.100.193
bindmethod=simple
binddn="cn=admin,dc=example,dc=local"
credentials=123
searchbase="dc=example,dc=local"
schemachecking=on
type=refreshAndPersist
retry="60 +"
overlay syncprov
syncprov-checkpoint 50 1
syncprov-sessionlog 50
mirrormode on
这是我在slapd.conf
server02 上的配置:
serverID 2
# database section
# syncrepl directive
syncrepl rid=002
provider=ldap://192.168.100.139
bindmethod=simple
binddn="cn=admin,dc=example,dc=local"
credentials=123
searchbase="dc=example,dc=local"
schemachecking=on
type=refreshAndPersist
retry="60 +"
mirrormode on
然后使用slaptest
命令生成配置文件(slaptest -f config-file -F /etc/ldap/slapd.d/)
并用两个服务器路径中的默认文件替换它们/etc/ldap/slapd.d
。
然后重新启动 slapd 服务,一切正常。但是当我向两个服务器添加条目时,它们不会相互同步数据。
完成这些步骤后,我尝试捕获数据包并发现它们找到了另一台服务器的所有条目。
附言:抱歉我的英语不好
答案1
这是在我的场景中有效的答案:
复制/usr/share/slapd/slapd.conf
并添加以下配置:
第一服务器:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
moduleload back_mdb
moduleload accesslog.la
moduleload syncprov.la
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
serverID 1
syncrepl rid=001
provider=ldap://<second-server>
bindmethod=simple
binddn="cn=admin,dc=part,dc=local"
credentials=123
searchbase="dc=part,dc=local"
scope=sub
schemachecking=on
type=refreshAndPersist
retry="60 +"
mirrormode on
秒服务器:
与上面的类似,只需编辑serverID
。然后瞧......