我目前正在四個節點上測試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數據庫刪除數據節點重啓並不十分可靠。
感謝您的確認Obout OpenLDAP多主複製與更多的兩個節點。在經歷了OpenLDAP的不佳體驗之後,我們開始使用「389 Directory Server」進行測試,結果更好。 – rtmktl