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

Re: Troubleshooting synchronization



Hi Howard!

>> MirrorMode relies on an external frontend to direct all updates to a single
>> provider. There is no difference within the OpenLDAP code between MirrorMode
>> and MultiMaster; the difference is entirely external, based on your deployment.

So when you say: "We recommend not to use MMR", you're not saying don't
use code section X of openldap but use code section Y, but you're
basically saying: Do not send different updates to different providers
at the same time, right?

In other words: If I would configure MMR between say 3 nodes but I would
make sure that only one of them will receive updates at a time while on
the other two there will only be read operations, then I have MirrorMode?

Is that right?

>> for new updates; in refreshAndPersist mode it will keep an LDAP session open
>> and receive updates as they occur.

Could I query a provider to show me the current open sessions held by
the consumers?

When is refreshOnly and when is refreshAndPersist recommended?

I was always confused in the documentation, as it says: sncrepl is
entirely a client side technology and then it says you have the option
to either pull or push updates. Now this becomes a bit clearer to me.
Thanks for that.

Regards,
Torsten

Howard Chu schrieb:
> Torsten Schlabach (Tascel eG) wrote:
>> 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.
> 
> Pretty much, yes. We use the term "provider", not "master".
> 
>> 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
>> guess?
> 
> There is no additional thread. In refreshOnly mode it will periodically ask
> for new updates; in refreshAndPersist mode it will keep an LDAP session open
> and receive updates as they occur.
> 
>> 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?
> 
> N servers are each a provider; any of them can be consumers of any number of
> the other providers. Full NxN connectivity is not a requirement, nor does it
> scale well.
> 
>> 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.
> 
> MirrorMode relies on an external frontend to direct all updates to a single
> provider. There is no difference within the OpenLDAP code between MirrorMode
> and MultiMaster; the difference is entirely external, based on your deployment.
> 
>> 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?
> 
> Error messages related to connect failures, retries, etc.
> 
>> 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?
> 
> Yes, use ldapsearch -E sync. See the ldapsearch(1) manpage.
>