Hi,
I've red replication documentation many times, and also many related mailing list threads. Some aspects are still not clear. So:
1. Can Mirror Mode be setup across more than 2 servers, say 3 mirrors?
I found one thread saying that mirror can only be setup for 2 master servers: http://www.openldap.org/lists/openldap-software/200801/msg00046.html
2. How Mirror Mode of 2 servers differs in configuration comparing to N-Way Multi-Master of 2 servers?
I don't see difference in setting up Mirror vs N-Way, both should have syncprov and syncrepl, both should have ServerID and MirrorMode TRUE, what am I missing?
As far as I can see there is no difference in configuration. The only distinction I can see is the "use case", as N-Way supposed to accept writes on all Masters, but Mirror only on one at a time.
This is not clearly stated anywhere, so do they really differ only in proxy/balancer in front of Mirrors?
If so, why can't I do 3 Mirrors with proxy/balancer in front?
3. It is clearly stated in the docs that in Mirror Mode one can't use Delta-syncrepl. Can it be used in N-Way Multi-Master?
There are posts saying Delta-syncrepl is not supported in Multi-Master: http://www.openldap.org/lists/openldap-devel/200708/msg00139.html http://www.openldap.org/lists/openldap-technical/201104/msg00241.html
4. In Mirror mode, can I use UpdateRef on one mirror to direct writes to another so proxy/balancer will become not required?
As far as I can see there is no difference in configuration. The only distinction I can see is the "use case", as N-Way supposed to accept writes on all Masters, but Mirror only on one at a time.
There are configuration differences (see the Admin Guide for the needed snippets; N-Way requires MirrorMode and then some) but yes, MirrorMode requires writes to go to only one node at a time.
This is not clearly stated anywhere, so do they really differ only in proxy/balancer in front of Mirrors?
Well I'd say that's a pretty big difference, wouldn't you? :)
If so, why can't I do 3 Mirrors with proxy/balancer in front?
You can have multiple replicas, you just have to ensure writes only go to the current master.
В Птн, 08/02/2013 в 09:47 -0500, John Madden пишет:
As far as I can see there is no difference in configuration. The only distinction I can see is the "use case", as N-Way supposed to accept writes on all Masters, but Mirror only on one at a time.
There are configuration differences (see the Admin Guide for the needed snippets; N-Way requires MirrorMode and then some) but yes, MirrorMode requires writes to go to only one node at a time.
I've re-red those sections of docs two more times, still don't see the difference
This is not clearly stated anywhere, so do they really differ only in proxy/balancer in front of Mirrors?
Well I'd say that's a pretty big difference, wouldn't you? :)
Sure, this is a big difference if you look at it as on Deployment/Usage case scenarios.
And, as the proxy/balancer for Mirror mode could be setup separately, I would think of Mirror mode as of identical configuration to N-Way Multi-Master, plus a separate/combined proxy/balancer.
It would be very helpful if somebody can confirm that Mirror mode and N-Way Multi-Master setups are identical in *configuration* not counting proxy/ballancer. I would be thankful for pointers on the difference in setups if that if not true.
If so, why can't I do 3 Mirrors with proxy/balancer in front?
You can have multiple replicas, you just have to ensure writes only go to the current master.
So, Mirror mode can be setup across more than 2 Servers?
--On Friday, February 08, 2013 8:12 PM +0200 Покотиленко Костик casper@meteor.dp.ua wrote:
В Птн, 08/02/2013 в 09:47 -0500, John Madden пишет:
As far as I can see there is no difference in configuration. The only distinction I can see is the "use case", as N-Way supposed to accept writes on all Masters, but Mirror only on one at a time.
There are configuration differences (see the Admin Guide for the needed snippets; N-Way requires MirrorMode and then some) but yes, MirrorMode requires writes to go to only one node at a time.
I've re-red those sections of docs two more times, still don't see the difference
There is no configuration difference at this point. I think there was one initially ages ago. The only difference between MMR and mirror-mode MMR is that in the latter case, writes only go to a single master instead of any master in the cluster.
In all cases, I strongly advise using delta-syncrepl based MMR with the most current OpenLDAP release (2.4.33).
--Quanah
--
Quanah Gibson-Mount Sr. Member of Technical Staff Zimbra, Inc A Division of VMware, Inc. -------------------- Zimbra :: the leader in open source messaging and collaboration
В Птн, 08/02/2013 в 11:07 -0800, Quanah Gibson-Mount пишет:
--On Friday, February 08, 2013 8:12 PM +0200 Покотиленко Костик casper@meteor.dp.ua wrote:
В Птн, 08/02/2013 в 09:47 -0500, John Madden пишет:
As far as I can see there is no difference in configuration. The only distinction I can see is the "use case", as N-Way supposed to accept writes on all Masters, but Mirror only on one at a time.
There are configuration differences (see the Admin Guide for the needed snippets; N-Way requires MirrorMode and then some) but yes, MirrorMode requires writes to go to only one node at a time.
I've re-red those sections of docs two more times, still don't see the difference
There is no configuration difference at this point. I think there was one initially ages ago. The only difference between MMR and mirror-mode MMR is that in the latter case, writes only go to a single master instead of any master in the cluster.
In all cases, I strongly advise using delta-syncrepl based MMR with the most current OpenLDAP release (2.4.33).
Quanah, thanks alot, this clears up things.
Maybe somebody comment on number 4 from my initial post:
- In Mirror mode, can I use UpdateRef on one mirror to direct writes
to another so proxy/balancer will become not required?
Покотиленко Костик wrote:
В Птн, 08/02/2013 в 11:07 -0800, Quanah Gibson-Mount пишет:
--On Friday, February 08, 2013 8:12 PM +0200 Покотиленко Костик casper@meteor.dp.ua wrote:
В Птн, 08/02/2013 в 09:47 -0500, John Madden пишет:
As far as I can see there is no difference in configuration. The only distinction I can see is the "use case", as N-Way supposed to accept writes on all Masters, but Mirror only on one at a time.
There are configuration differences (see the Admin Guide for the needed snippets; N-Way requires MirrorMode and then some) but yes, MirrorMode requires writes to go to only one node at a time.
I've re-red those sections of docs two more times, still don't see the difference
There is no configuration difference at this point. I think there was one initially ages ago. The only difference between MMR and mirror-mode MMR is that in the latter case, writes only go to a single master instead of any master in the cluster.
In all cases, I strongly advise using delta-syncrepl based MMR with the most current OpenLDAP release (2.4.33).
Quanah, thanks alot, this clears up things.
Maybe somebody comment on number 4 from my initial post:
- In Mirror mode, can I use UpdateRef on one mirror to direct writes
to another so proxy/balancer will become not required?
Of course not. Updateref is ignored in mirrormode. As it must be, because otherwise the server would never be able to accept writes at all, which would make it useless for failover.
--On Friday, February 08, 2013 10:00 PM +0200 Покотиленко Костик casper@meteor.dp.ua wrote:
Maybe somebody comment on number 4 from my initial post:
- In Mirror mode, can I use UpdateRef on one mirror to direct writes
to another so proxy/balancer will become not required?
No.
--Quanah
--
Quanah Gibson-Mount Sr. Member of Technical Staff Zimbra, Inc A Division of VMware, Inc. -------------------- Zimbra :: the leader in open source messaging and collaboration
There is no configuration difference at this point. I think there was one initially ages ago. The only difference between MMR and mirror-mode MMR is that in the latter case, writes only go to a single master instead of any master in the cluster.
"Writes only go to one master in the cluster." What happens if they don't? If I DNS round-robin a pair of systems and MirrorMode them, what happens?
In other words, if N-Way supports two masters writing while MM does not, how can it not have a different configuration?
I seem to remember MirrorMode being very easy to set up yet N-Way taking significantly more time but looking back at the docs I think that's just a matter of the syncrepl setups taking a bit of effort.
John
--On Friday, February 08, 2013 5:56 PM -0500 John Madden jmadden@ivytech.edu wrote:
There is no configuration difference at this point. I think there was one initially ages ago. The only difference between MMR and mirror-mode MMR is that in the latter case, writes only go to a single master instead of any master in the cluster.
"Writes only go to one master in the cluster." What happens if they don't? If I DNS round-robin a pair of systems and MirrorMode them, what happens?
Then they aren't mirror mode, and any persistent client is going to be writing to whatever master it first connected to. DNS round-robin will never guarantee you are in mirror mode.
In other words, if N-Way supports two masters writing while MM does not, how can it not have a different configuration?
It has nothing to do with configuration of MMR, which I think is the point you're missing. It has purely to do with configuring it so only one master ever takes writes at a given time. With writes only ever going to one master, you have a 100% guarantee you'll never get a conflict between two masters. Which you essentially get with delta-syncrepl MMR anyway.
I seem to remember MirrorMode being very easy to set up yet N-Way taking significantly more time but looking back at the docs I think that's just a matter of the syncrepl setups taking a bit of effort.
Correct. A replica can only talk to a single "master". If you set up mirror mode, then the replica can purely talk to the load-balance name, and never have an issue if one of the masters in the cluster goes down.
--Quanah
--
Quanah Gibson-Mount Sr. Member of Technical Staff Zimbra, Inc A Division of VMware, Inc. -------------------- Zimbra :: the leader in open source messaging and collaboration
In other words, if N-Way supports two masters writing while MM does not, how can it not have a different configuration?
It has nothing to do with configuration of MMR, which I think is the point you're missing. It has purely to do with configuring it so only one master ever takes writes at a given time. With writes only ever going to one master, you have a 100% guarantee you'll never get a conflict between two masters. Which you essentially get with delta-syncrepl MMR anyway.
Exactly, I definitely missed that. The Admin Guide alludes to these being distinct configurations by the way they're bulleted out but the difference is actually in the architecture outside of OpenLDAP. Thanks for that clarification.
What I've designed is a two-node cluster each running a proxy that talks to the local backend over IPC and fails over to the other node over TCP if via the meta backend. This becomes Nway because clients are being distributed via DNS. (The proxies fail between the nodes, the backend slapd's do not.)
John
openldap-technical@openldap.org