2017-03-16 10 views
1

現在、4ノードでOpenLDAPマルチマスターレプリケーションをテストしていますが、ほとんど問題はありません。OpenLDAPマルチマスターレプリケーション

私はこのチュートリアルに従います:setup-openldap-multi-master-replication-centos-7と私は、4ノードマルチマスターレプリケーションの設定に成功しました。

すべてのノードが有効な場合、すべて正常に動作し、データは4つのノード間で複製されます。 1/2/3ノードを停止しても、ライフノードだけで変更を加えても、データはノードに複製されます。

ノードldap1、ldap2、ldap3でslapdサービスを停止して開始すると問題が発生しますが、ノードldap4でいくつかの「複数の」変更を行います。

私は問題を抱えて私のシナリオの一つ:私は、スクリプトを起動する1つのノードで は、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に今ある - すべてが同期されます。私は、ユーザーを削除するためのスクリプトを起動1つのノード上で次に

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 

その時に私は/停止が開始/停止/他の3つのノード上の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 DBにデータを削除しながら、ノードが再起動された場合、そのLDAPのマルチマスター・レプリケーションは、非常に信頼性がない、です。

答えて

2

OpenLDAPマルチマスタでの私たちの経験は、2つのLDAPノードで信頼できることです。 3つの(おそらくより多くのノード)レプリケーションは少しストレスの下で間違っています。結果的にApache JMeterをテストツールとして再現することができました。主に削除アクションは問題をもたらしました。

2ノードの場合、Apache JMeterテストでは、最大8000エントリの負荷でレプリケーションを行っても問題は発生しませんでした。その後、testplanのアクションとして追加、読み取り、変更、削除されました。

+0

2つ以上のノードを持つOpenLDAPマルチマスターレプリケーションをご利用いただきありがとうございます。 OpenLDAPの悪い経験の後、私たちは "389 Directory Server"でテストを開始し、結果ははるかに優れています。 – rtmktl

関連する問題