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

Re: Multimaster ldap related questions

----- "Mike Cannady" <mike.cannady@htcinc.net> wrote:

> I have implemented a multi-master two node ldap with openldap 2.4.22
> and Berkely DB 4.8.26 on Redhat enterprise 5.4 with several readonly
> replicas off of the masters.
> I have a need to add several optional attributes to a schema and
> probably should upgrade to 2.4.24 as well.  If this was a
> single-master
> server, it would be easy to do; just slapcat the ldap store, update
> software, change schema, slapadd the ldap store back, and resume
> slapd.

Why would you need to slapcat/slapadd to "add several optional attributes" 

> I'm not sure how to do that with multi-master.  One reason for using
> multi-master was if one master was down, the other would keep
> running.
> One should be able to upgrade one server, have it catch up with the
> changes that the other master had done while the first master is down
> and then repeat for the 2nd master.

Well, it would apply if you weren't modifying data offline on the 1st master.

> Is this possible?  Has anyone
> done
> this and how was it done?
> I know in the near future, a high-level branch on my DIT will be
> purged
> and bulk reloaded.

I can't think of a strategy where a bulk load will have neither:
-write downtime
-inconsistency (changes made in the window between the bulk generation and the startup of the server after import will be lost)

You aren't clear which of these you want/prefer/require.

> I have tested the load with a test setup of
> multi-master ldap.  If I do it via ldapadd, it takes over 6 hours to
> load.  With slapadd (and slapd down) it only takes 25 minutes plus
> the
> time for the other master to get up-to-date.

What is tool-threads set to? Which interesting slapadd options (e.g. -q) did you use?

> Is there any way that I
> can speed-up the update with ldapadd?

ldapadd will never be as fast as slapadd.

> I have pieces of my slapd.conf
> for the 1st master at the end of this email. 
> Slapadd has two options that appear to be needed when dealing with
> multi-master or replicate nodes.  The first is the "-S sid" option,
> the
> second is "-w".  I'm a little confused what is used where.  If you
> are
> doing a dump and restore operation (slapcat, delete database,
> slapadd)
> the only option you need is the "-w" option?  If you are adding new
> entries offline then do both options need to be specified?

Adding, *or* modifying.

> Is there a multi-master best practice quide somewhere?

A good start is to never lie to slapd. If you have changed the contents of an entry, the entryCSN should not be retained.

I also prefer to avoid non-restore bulk-loading.