OpenLDAP多主复制
我目前正在四个节点上测试OpenLDAP多主复制,并且我遇到了一些问题。OpenLDAP多主复制
我遵循本教程:setup-openldap-multi-master-replication-centos-7,我成功配置了四节点多主复制。
如果我有所有节点活着,一切正常,数据在所有四个节点之间复制。即使我停止一个/两个/三个节点,只在生命节点上进行一些更改,数据会在节点重新启动时复制到节点。
但问题是,如果我停止并在节点ldap1,ldap2和ldap3上启动slapd服务,而我在节点ldap4上做了一些“多个”更改。
我的一个场景,在那里我有问题: - 一切都是同步 在一个节点上我在LDAP
for ((i=1; i<=5000; i++)); do
> addUser.ldif
echo "
dn: uid=ldaptest$i,ou=People,dc=test,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: ldaptest
uid: ldaptest
uidNumber: 9988
gidNumber: 100
homeDirectory: /home/ldaptest
loginShell: /bin/bash
gecos: LDAP Replication Test User
userPassword: {crypt}x
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
" >> addUser.ldif
ldapadd -x -w xxxxx-D "cn=Manager,dc=test,dc=com" -f addUser.ldif
done
所有用户现在在所有的DB启动脚本,用于接入用户。
然后在一个节点上我删除用户启动脚本:
for ((i=1; i<=5000; i++)); do
echo $i
ldapdelete -w xxxxx-D "cn=Manager,dc=test,dc=com" -x "uid=ldaptest$i,ou=People,dc=test,dc=com"
done
在那个时候,我停止/启动/停止/开始等三个节点的slapd服务。当脚本完成删除时,ldap数据库不再同步。
命令ldapsearch -x cn=ldaptest -b dc=test,dc=com |grep numEntries
回报:
ldap1: numEntries: 648
ldap4: numEntries: 0 (node where script was running)
ldap3: numEntries: 5
ldap2 numEntries: 24
这种行为是正常的LDAP或也许是有毛病我的配置?
过程与教程中的过程相同,我只是为复制添加了其他olcSyncRepl条目。喜欢的东西:
[[email protected] bkal]# cat ldap04_2.ldif
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=004
provider=ldap://192.168.26.180:389/
bindmethod=simple
binddn="cn=Manager,dc=test,dc=com"
credentials=iskratel
searchbase="dc=test,dc=com"
scope=sub
schemachecking=on
type=refreshAndPersist
retry="30 5 300 3"
interval=00:00:01:00
-
[[email protected] bkal]# ldapadd -Y EXTERNAL -H ldapi:/// -f ldap04_2.ldif
我的第一印象是,LDAP多主复制,如果当我们插入或LDAP数据库删除数据节点重启并不十分可靠。
我们使用OpenLDAP多主节点的经验是,它具有2个ldap节点的可靠性。有3个(可能还有更多的节点)复制出现一些小的压力。我们可以用Apache JMeter作为测试工具重现这一点。主要删除行为给了问题。
对于2个节点,Apache JMeter测试完全不会造成任何问题,复制时最多可添加8000个条目,随后在测试计划中添加,读取,更改和删除操作。
感谢您的确认Obout OpenLDAP多主复制与更多的两个节点。在经历了OpenLDAP的不佳体验之后,我们开始使用“389 Directory Server”进行测试,结果更好。 – rtmktl