2017-03-16 54 views
1

我目前正在四个节点上测试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数据库删除数据节点重启并不十分可靠。

回答

2

我们使用OpenLDAP多主节点的经验是,它具有2个ldap节点的可靠性。有3个(可能还有更多的节点)复制出现一些小的压力。我们可以用Apache JMeter作为测试工具重现这一点。主要删除行为给了问题。

对于2个节点,Apache JMeter测试完全不会造成任何问题,复制时最多可添加8000个条目,随后在测试计划中添加,读取,更改和删除操作。

+0

感谢您的确认Obout OpenLDAP多主复制与更多的两个节点。在经历了OpenLDAP的不佳体验之后,我们开始使用“389 Directory Server”进行测试,结果更好。 – rtmktl