[Date Prev][Date Next] [Chronological] [Thread] [Top]

Troubleshooting synchronization

Hi all!

I am currently trying to chase some problems in an n-way multi-master
setup with three servers. We have used the instructions at


as our guidance and we are using OpenLDAP version 2.4.11.

The result we see currently is that replication works only partially,
with some strange errors here and there.

As I believe it will be pointless to post all our cn=config LDIF here
and explain scenarios which work and those which don't, I thought it
would be more productive to double-check that I have correctly
understand what I *should* be seeing happen on my systems and how I can
properly monitor this. My problem may be that I still need to learn how
to properly monitor my slapd.

To begin with, I would just ask for confirmation of my proper
understanding of the documentation:

1. A master server is a server which is using the syncprov overlay
(servers/slapd/overlays/syncprov.c). This overlay will do little more
than just provide a synchronization cookie (CSN) which consumers may ask
for to find out what needs to get replicated and what not.

2. A consumer server is a server in which an additional thread is
running which will query the master(s) in a given interval to ask for
updated and if any, get them over the wire and into the local copy of
the database. This synchronization thread is servers/slapd/syncrepl.c I

3. An N-Way Multi-Master setup is a setup in which N servers are each a
master and any of the others is a consumer of all other masters?

I am I right up to here?

So what I fail to understand is:

1. What is the difference between Mirror Mode and N-Way Multi-Master?
Especially given that in N-Way Multi-Master, have to set olcMirrorMode
to TRUE.

2. Given that I have added a 'Sync' value to the olcLogLevel attribute,
what would be the "health check" information I should be watching in the
log for to see that replication is attempted as expected.

3. What problems should I be watching for in the logs?

4. Could I for example manually ask a master (using some ldapsearch
statement, pretending I was the consumer) what the master thinks which
entries I would have to update?