rsync for WAN replication (active/active)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 17 March 2011 17:08, Mohit Anchlia <mohitanchlia at gmail.com> wrote:
> Thanks! I was going to trigger it through cron say every 10 mts. if
> rsync is not currently running.
>
> Regarding point 3) I thought of it also! I think this problem cannot
> be solved even when using bricks. If someone is editing 2 files at the
> same time only one will win (always). Only way we can avoid this is
> through application making sure that customer accessing the file can't
> go to 2 sites simulatneously. But I agree this scenario is the most
> complicated of all.

This is a different issue; with gluster locking solves it (obviously
the application has to know how to handle locks). Also, and I don't
know if gluster supports this, some systems support byte range file
locks, so both sites can write to the same file at the same time.

The scenario I was trying to describe was a race condition between the
rsync processes clobbering your files. I don't think this race
condition is removed by using the --temp-dir option (although it
probably decreases the window by a large amount). But if you don't run
the sync process whilst the remote site is sync'ing to you, then it's
not a problem.

> I was planning to use --temp-dir option (not tested it). Also I think
> rsync first copies the file as temporary files and then moves it.

I just thought of another problem; which is that in the worst case you
might require twice the amount of storage to sync your data (1x for
the old data, 1x for the new data).

> In our case rsync will not handle deletes. If we want to delete any
> files it will be done manually.
-- 
Jonathan Barber <jonathan.barber at gmail.com>


[Index of Archives]     [Gluster Development]     [Linux Filesytems Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux