hello,
I haven't tried full (config + data) replication from a multimaster setup, but I think that doing so, the slave would become a master like the other from which it replicate, wouldn't it? cc-ing the list to have the opinion of the real experts :-)
by the way, as I write this, I recall an advice from Michael Ströder: if the slaves are to replicate everything from the masters, why wouldn't you make them masters like the others? multi-master replication also work for more than two masters.
best regards, Jephté Clain
2016-04-01 18:32 GMT+04:00 Jussi Sallinen jussi@synack.fi:
Ah,
This is two multimaster servers so I guess that approach doesn't work, as it's meant for master/slave?
-- -Jussi Sallinen | UNIX System Administrator jussi@synack.fi | Syn Ack +358 40 700 7600 | Helsinki, Finland
On 1.4.2016, at 11.08, Jephte Clain jephte.clain@univ-reunion.fr wrote:
hello,
one more thing: make sure to have the proper syncprov overlay AND syncrepl directive pointing to the master slapd on the master, at least on olcDatabase={0}config and olcDatabase={1}mdb (or whatever is the first database that contains the data), e.g:
dn: olcDatabase={0}config,cn=config olcSyncrepl: {0}rid=0 provider="ldap://master/" searchbase=cn=config ... olcUpdateRef: ldap://master/ ...
dn: olcOverlay={0}syncprov,olcDatabase={0}config,cn=config ...
dn: olcDatabase={1}mdb,cn=config olcSuffix: dc=univ-reunion,dc=fr olcSyncrepl: {0}rid=1 provider="ldap://master/" searchbase=dc=univ-reunion,dc=fr olcUpdateRef: ldap://master/ ...
dn: olcOverlay={0}syncprov,olcDatabase={1}mdb,cn=config ...
the syncrepl directive does nothing on the master, but as this configuration is replicated on the slave, the slave knows it has to replicate from the master (I hope it's clear enough)
2016-04-01 11:06 GMT+04:00 Jussi Sallinen jussi@synack.fi:
Hi,
Thank you for the reply! That's what I thought could be the answer.
I will now need to try out how this works with our actual database dc=synack,dc=fi
Basicly since this will be a new replica without even the dcDomain object in the initial database it should pick up all the data from existing multimaster replica (empty database is without csn etc and contains no update timestamp).
-- -Jussi Sallinen | UNIX System Administrator jussi@synack.fi | Syn Ack +358 40 700 7600 | Helsinki, Finland
On 1.4.2016, at 8.27, Jephte Clain jephte.clain@univ-reunion.fr wrote:
Le 01/04/2016 01:26, Jussi Sallinen a écrit :
Hi,
How you managed to get this working or did you come up with a workaround: http://www.openldap.org/lists/openldap-technical/201201/msg00205.html
I have a similar situation where I'm doing a reprovision of my 2nd multimaster replica virtualhost and adding base config etc. with ldapadd (we build it from scratch with Ansible during reprovisioning). After the new multimaster replica comes up it has newer timestamps than the current up & running replica from where this new one is supposed to replicate everything as we use ldapadd during the reprovision phase with Ansible.
hello,
after you create the seed replica, you just have to "touch" the master to ensure the timestamp on the master is newer than on the replica.
As the seed configuration only contains 3 objects: cn=config, olcDatabase={-1}frontend,cn=config and olcDatabase={0}config,cn=config, I do it that way:
$ ldapmodify -H ldap://master ...credentials... <<EOF dn: cn=config changetype: modify
dn: olcDatabase={-1}frontend,cn=config changetype: modify
dn: olcDatabase={0}config,cn=config changetype: modify EOF
best regards, Jephté Clain
-- *Jephté CLAIN | Développeur, Intégrateur d'applications* Service Systèmes d'Information Direction des Systèmes d'Information http://dsi.univ-reunion.fr Tél: +262 262 93 86 31 tel:+262262938631 || Gsm: +262 692 29 58 24 tel:+262692295824 www.univ-reunion.fr http://www.univ-reunion.fr || Facebook http://www.facebook.com/pages/Universit%C3%A9-de-La-R%C3%A9union-OFFICIEL/197176816990430 || Twitter http://twitter.com/univ_reunion
-- Jephté CLAIN | Développeur, Intégrateur d'applications Service Système d'Information Direction des Systèmes d'Information Tél: +262 262 93 86 31 || Gsm: +262 692 29 58 24