要把2台LDAP server配置成mirror mode,互相replicate,需要满足以下几个条件:
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/mod_syncprov.ldif -W
/etc/openldap/mod_syncprov.ldif 文件内容如下:
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: syncprov.la
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/syncprov.ldif -W
/etc/openldap/syncprov.ldif 文件内容如下:
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpCheckpoint: 100 10
olcSpSessionLog: 100
以上两步需要分别在两个LDAP的节点执行
A节点(eg:172.16.10.121)
ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/ldap01.ldif -W
/etc/openldap/ldap01.ldif文件内容如下:
dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1 #此处两个节点不能相同
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSyncRepl
olcSyncRepl: rid=001
provider=ldap://172.16.10.122:389 #此处为另一个主节点的ip和openldap的端口号
bindmethod=simple
binddn="cn=Manager,dc=esgyn,dc=local"
credentials=traf123 #此处就是172.16.10.122节点的rootpw,此处只能使用明文
searchbase="dc=esgyn,dc=local"
filter="(objectClass=*)"
scope=sub
schemachecking=off
attrs="*,+"
type=refreshAndPersist
retry="5 5 300 +"
interval=00:00:01:00
-
add: olcMirrorMode
olcMirrorMode: TRUE
-
add: olcDbIndex
olcDbIndex: entryUUID eq
-
add: olcDbIndex
olcDbIndex: entryCSN eq
B节点(eg:172.16.10.122)
ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/ldap02.ldif -W
/etc/openldap/ldap02.ldif文件内容如下:
dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 2 #此处两个节点不能相同
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSyncRepl
olcSyncRepl: rid=001
provider=ldap://172.16.10.121:389 #此处为另一个主节点的ip和openldap的端口号
bindmethod=simple
binddn="cn=Manager,dc=esgyn,dc=local"
credentials=traf123 #此处就是172.16.10.121节点的rootpw,此处只能使用明文
searchbase="dc=esgyn,dc=local"
filter="(objectClass=*)"
scope=sub
schemachecking=off
attrs="*,+"
type=refreshAndPersist
retry="5 5 300 +"
interval=00:00:01:00
-
add: olcMirrorMode
olcMirrorMode: TRUE
-
add: olcDbIndex
olcDbIndex: entryUUID eq
-
add: olcDbIndex
olcDbIndex: entryCSN eq
到此OpenLDAP HA的配置就完成了,可以在两个节点分别增加用户,查看配置是否成功。
修改日志配置文件,在/etc/rsyslog.conf文件中添加下列语句:
local4.* /var/log/ldap.log
然后重启服务 service rsyslog restart
ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/loglevel.ldif -W
/etc/openldap/loglevel.ldif文件内容如下:
dn: cn=config
changetype: modify
add: olcLoglevel
olcLogLevel: 256
service slaps stop
yum remove openldap-servers openldap-clients
rm -rf /etc/openldap/slapd.d/*
rm -rf /var/lib/ldap/*
如果将/etc/openldap全部删除,在下次重新安装openldap的时候可能存在问题。