----- "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.
Regards, Buchan