尝试在 2 个独立的服务器上设置 2 个 OpenLDAP 实例的“镜像模式”。但由于新添加的指令,slapd 无法启动。以下是 /var/log/ldap.log 中的错误消息:
/etc/openldap/slapd.conf: line 127: unknown directive <syncprov-checkpoint> inside backend database definition.
下面是环境:
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)
# rpm -qa | grep openldap
openldap-devel-2.4.40-13.el7.x86_64
openldap-2.4.40-13.el7.x86_64
openldap-servers-2.4.40-13.el7.x86_64
openldap-clients-2.4.40-13.el7.x86_64
# ps -ef | grep slapd
root 2224 1 0 Feb17 ? 00:00:10 slapd
以下是服务器上 /etc/openldap/slapd.conf 文件中的同步部分:
# Load dynamic backend modules:
# Module syncprov.la is now statically linked with slapd and there
# is no need to load it here
modulepath /usr/lib64/openldap
...
# enable monitoring
#database monitor
# allow onlu rootdn to read the monitor
#access to *
# by dn.exact="cn=Administrator,dc=example,dc=com" read
# by * none
syncprov-checkpoint 100 10
syncprov-sessionlog 100
serverID 1
syncrepl rid=001
provider=ldap://10.1.10.19
bindmethod=simple
binddn="cn=Administrator,dc=example,dc=com"
credentials=ldap
searchbase="dc=example,dc=com"
schemachecking=on
type=refreshAndPersist
retry="60 +"
mirrormode on
loglevel -1
答案1
这个问题今天我自己解决了。事实证明,“syncprov.la”的评论是“不小心”错误添加的。不知道是谁以及为什么。
重新阅读手册并在两台服务器上添加“moduleloadsyncprov.la”后,问题解决。
难怪没有人提出同样的问题。