[Gluster-users] geo-replicated Master Master cluster

Joe Julian joe at julianfamily.org
Wed Nov 28 08:34:11 UTC 2012


On 11/26/2012 03:44 AM, Zohair Raza wrote:
> Understand your point, by the time I also tried with NFS like 
> clustering but didn't help
>
> There is master-master geo replication planned in 3.4 
> http://www.gluster.org/community/documentation/index.php/Planning34
>
> I think it is for the same purpose, has anyone got an idea on it?
>
> Regards,
> Zohair Raza
>
> On Mon, Nov 26, 2012 at 2:58 PM, Robert Hajime Lanning 
> <lanning at lanning.cc <mailto:lanning at lanning.cc>> wrote:
>
>     On 11/25/12 23:26, Zohair Raza wrote:
>
>         Hi,
>
>         Thanks for reply,
>
>         Can you please elaborate more on the last line, I understand
>         that read
>         will have no issues. I tried implementing a replicated volume
>         but the
>         problem is gluster starts uploading the file to node2 while
>         copying for
>         example if I have a 500MB file in site1 which is being copied
>         from a LAN
>         machine to node1 copies at the speed of my internet link which
>         I want to
>         get copied at much faster speed (in MBps) as it is LAN.
>
>         Isn't there any way by which I can set synchronization speed
>         or set
>         gluster to sync after the file is copied?
>
>
>     All the smarts are in the client.
>
>     If you have a replica count of 2, then when a client is writing,
>     it is writing to 2 bricks at the same time.  There is no such
>     thing as queuing for later sync.
>
>     What happens if a client at site A is writing to the same file as
>     a client at site B?  If you have a delayed write to a remote site,
>     how do you solve write conflicts?  You would need to completely
>     understand the file format and it's transactional state, so that
>     the 2 separate writes can be merged without corrupting the file.
>
>     If there is a conflict, there is no way to notify the process that
>     was writing, because the write would have already returned as
>     successful, since it was queued for later execution on the file.
>
>     The only way to solve this, is to have synchronized locks and
>     synchronized writes.  It needs to behave like a local filesystem
>     with 2 processes writing.
>
>     Geo-replication solves this by saying one site is the master and
>     all writes happen there.  The other site is a replica of the
>     master, period.  This gives you a single source of truth about
>     file state and no conflicts to mediate.
>
>     For a database with ACID transactions and atomic data structures,
>     you can design the data and data structures for multi-master
>     replication. You can state that the latest update of an atomic
>     structure wins, then design your application around that.  For a
>     filesystem, you can't, as you do not have visibility into the
>     structure of the files.
>
>     The commercial NAS systems that have multi-master capabilities, do
>     it at the block level (not file) and do it synchronously.
>
>     I currently do not know of a way to implement a multi-master
>     asynchronous network filesystem, without introducing the
>     possibility of file corruption.
>
>
I wrote up about the first third of why what you're asking to do is 
difficult on my blog at 
http://www.joejulian.name/blog/why-replicated-filesystems-are-hard/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-users/attachments/20121128/0d8cc7d4/attachment.html>


More information about the Gluster-users mailing list