People,
I
am currently trying to setup a multi-master ldap setup. The setup is running on
CentOS 5.1 with kernel 2.6.18-53.el5. In this setup I have migrated the UNIX authentication
files using MigrationTools and everything worked fine. When I am trying to
setup the replication I am encountering a strange behavior. The initial synchronization
was performed by copying /var/lib/ldap directory when openldap was shutdown. On
starting both nodes query each other and everything seems operating correctly.
When I perform a change on either node, the node performs the local change
however it is not propagated on the other node and in the /var/log/ldap.log I
get the following message:
When ever the change is made on ldap1 it reports:
Jan 23 10:10:43 ldap1 slapd[5787]: null_callback : error
code 0x10
Jan 23 10:10:43 ldap1 slapd[5787]: syncrepl_updateCookie:
rid=002 be_modify failed (16)
When ever the change is made on ldap2 it reports:
Jan 23 10:40:31 ldap2 slapd[5677]: null_callback : error
code 0x10
Jan 23 10:40:31 ldap2 slapd[5677]: syncrepl_updateCookie:
rid=002 be_modify failed (16)
Setup details:
cd /root/ldap_inst
tar xvzf db-4.6.21.tar.gz
tar xvzf openldap-2.4.7.tgz
cd db-4.6.21
cd build_unix/
../dist/configure --prefix=/usr
make clean (as root)
make (as root)
cd /usr/share/libtool/libltdl
configure --prefix=/usr
make
make install (as root)
cd /root/ldap_install/openldap-2.4.7
./configure --prefix=/usrd
/usr/share/libtool/libltdl./configure --prefix=/usr --sysconfdir=/etc
--libexecdir=/usr/sbin --mandir=/usr/share/man --with-tls
--without-cyrus-sasl -enable-modules -enable-bdb=mod
-enable-hdb=mod -enable-ldap=mod --enable-crypt
make depend
make
make install (as root)
This procedure was completed on two nodes, namely ldap1 and
ldap2. This slapd.conf of each nodes is as follows:
Ldap1:
cat /etc/openldap/slapd.conf | grep -v ^# | grep -v ^$
include
/etc/openldap/schema/core.schema
include
/etc/openldap/schema/cosine.schema
include
/etc/openldap/schema/inetorgperson.schema
include
/etc/openldap/schema/nis.schema
include
/etc/openldap/schema/misc.schema
allow bind_v2
pidfile
/var/run/slapd.pid
argsfile
/var/run/slapd.args
modulepath /usr/sbin/openldap
moduleload back_bdb.la
TLSCipherSuite HIGH:MEDIUM:+TLSv1:+SSLv2:+SSLv3
TLSCACertificateFile /etc/openldap/cacert.pem
TLSCertificateFile /etc/openldap/slapd-cert-ldap1.pem
TLSCertificateKeyFile /etc/openldap/slapd-key-ldap1.pem
serverID
1 ldap://ldap1:389/
serverID
2 ldap://ldap2:389/
database bdb
suffix
"dc=linuxldap,dc=org"
rootdn
"cn=Manager,dc=linuxldap,dc=org"
rootpw
secret
directory /var/lib/ldap
checkpoint 128 15
cachesize 10000
dncachesize 5000
idlcachesize 30000
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
index
objectClass,entryUUID,entryCSN eq
#syncRepl rid=001
#
provider=ldap://ldap1:389
#
binddn="cn=Manager,dc=linuxldap,dc=org"
#
bindmethod=simple
#
credentials=secret
#
searchbase="dc=linuxldap,dc=org"
#
type=refreshOnly
#
interval=00:00:00:05
#
retry="5 5 300 5"
# timeout=1
syncRepl rid=002
provider=ldap://ldap2:389
binddn="cn=Manager,dc=linuxldap,dc=org"
bindmethod=simple
credentials=secret
searchbase="dc=linuxldap,dc=org"
type=refreshOnly
interval=00:00:00:05
retry="5 5 300 5"
timeout=1
mirrormode true
sockbuf_max_incoming 5000
sockbuf_max_incoming_auth 5000
database monitor
Ldap2:
cat /etc/openldap/slapd.conf | grep -v ^# | grep -v ^$
include
/etc/openldap/schema/core.schema
include
/etc/openldap/schema/cosine.schema
include
/etc/openldap/schema/inetorgperson.schema
include
/etc/openldap/schema/nis.schema
include
/etc/openldap/schema/misc.schema
allow bind_v2
pidfile
/var/run/slapd.pid
argsfile
/var/run/slapd.args
modulepath /usr/sbin/openldap
moduleload back_bdb.la
TLSCipherSuite HIGH:MEDIUM:+TLSv1:+SSLv2:+SSLv3
TLSCACertificateFile /etc/openldap/cacert.pem
TLSCertificateFile /etc/openldap/slapd-cert-ldap1.pem
TLSCertificateKeyFile /etc/openldap/slapd-key-ldap1.pem
serverID
1 ldap://ldap1:389/
serverID
2 ldap://ldap2:389/
database bdb
suffix
"dc=linuxldap,dc=org"
rootdn
"cn=Manager,dc=linuxldap,dc=org"
rootpw
secret
directory /var/lib/ldap
checkpoint 128 15
cachesize 10000
dncachesize 5000
idlcachesize 30000
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
index
objectClass,entryUUID,entryCSN eq
syncRepl rid=001
provider=ldap://ldap1:389
binddn="cn=Manager,dc=linuxldap,dc=org"
bindmethod=simple
credentials=secret
searchbase="dc=linuxldap,dc=org"
type=refreshOnly
interval=00:00:00:05
retry="5 5 300 5"
timeout=1
#syncRepl rid=002
#
provider=ldap://ldap2:389
#
binddn="cn=Manager,dc=linuxldap,dc=org"
#
bindmethod=simple
#
credentials=secret
#
searchbase="dc=linuxldap,dc=org"
#
type=refreshOnly
#
interval=00:00:00:05
#
retry="5 5 300 5"
# timeout=1
mirrormode true
sockbuf_max_incoming 5000
sockbuf_max_incoming_auth 5000
database monitor
Regards,
Kenneth Penza