Hello, list.

I'm experiencing synchronization problem with my ldap provider-consumer
setup.
Both nodes are running OpenLDAP 2.4.38 (using mdb backend) at x86_64
under Linux 3.7.10.

Both servers synchronize their time with one NTP server, so clocks are in
sync.

I have cn=dhcp,dc=my,dc=org containter which I would like to replicate to
openldap
consumer.

Consumer uses old-fasioned slapd.conf file:
# [... include, acl and logging settings skipped ...]

rootdn        "cn=root,dc=my,dc=org"
rootpw        [ skipped ]

index    objectClass    eq
index    entryCSN    eq
index    entryUUID    eq
index    dlzHostname    eq
index    dlzZoneName    eq
index    dlzIPAddr    eq
index    dlzType        eq
index    dhcpHWAddress    eq
index    cn        eq,approx,sub

syncrepl    rid=1
...
syncrepl    rid=2
    provider=ldap://172.20.20.207
    type=refreshAndPersist
    interval=00:00:01:00
    retry="60 +"
    searchbase="cn=dhcp,dc=my,dc=org"
    filter="(objectClass=*)"
    scope=sub
    schemachecking=off
    bindmethod=simple
    binddn="uid=dhcpd,ou=services,dc=my,dc=org"
    credentials="[ skipped ]"

Problem is that not all changes (adding new objects and changing attributes
of existing
objects) are replicated from master to consumer.  I make change on master
by hand, but
I do not see log entries on consumer that changed attribute was replicated.

LDAP provider setup (uses online configuartion):
dn: olcDatabase={1}mdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {1}mdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=my,dc=org
olcAddContentAcl: FALSE
olcLastMod: TRUE
olcLimits: {0}group/groupOfNames/member="cn=ldap
admins,ou=groups,dc=my,dc=org" size=unlimited
olcLimits: {1}group/groupOfNames/member="cn=ldap
admins,ou=groups,dc=my,dc=org" time=unlimited
olcLimits:
{2}group/groupOfNames/member="cn=admins,ou=mail,ou=groups,dc=my,dc=org"
size=unlimited
olcLimits:
{3}group/groupOfNames/member="cn=replicators,ou=groups,dc=my,dc=org"
size=unlimited time=unlimited

User uid=dhcpd,ou=services,dc=my,dc=org is member of group
cn=replicators,ou=groups,dc=my,dc=org.
dn: cn=Replicators,ou=Groups,dc=my,dc=org
cn: Replicators
member: uid=dhcpd,ou=services,dc=my,dc=org

Indices on master server:
olcDbIndex: dhcpHWAddress,dhcpClassData eq

ACL for cn=dhcp,dc=my,dc=org container (I have only one ACL entry, that
mentions cn=dhcp,dc=my,dc=org):
...
olcAccess: {15}to dn.subtree="cn=dhcp,dc=my,dc=org"
  by group/groupOfNames/member.exact="cn=dhcp
readers,ou=dhcp,ou=groups,dc=my,dc=org" read
  by group/groupOfNames/member.exact="cn=dhcp
writers,ou=dhcp,ou=groups,dc=my,dc=org" write
...

dn: cn=dhcp readers,ou=dhcp,ou=Groups,dc=my,dc=org
cn: dhcp readers
objectClass: groupOfNames
objectClass: top
member: uid=dhcpd,ou=Services,dc=my,dc=org

So for now I checked following:
1. Clocks on both server (both are in sync)
2. ACL for replication DN (replication user is able to read all needed
data).
3. Size and time limits for replication DN (replication user has no limits
on operations).
4. Schema (objectClasses and attrubutes) on both servers (both nodes use
same schemas).
5. Disable indices on consumer server for replicated attributes from
cn=dhcp,dc=my,dc=org container (not helped)

What else I can check?

BTW, I would be pleased if someone give somekind of systematic approach for
troubleshooting OpenLDAP replication issues.

Reply via email to