[Linux-cluster] strange GFS problem

Daniel Phillips phillips at redhat.com
Thu Jun 16 04:26:51 UTC 2005


On Wednesday 15 June 2005 09:41, Igor wrote:
> > Eventually you should be able to combine gnbd with
> > cluster mirroring
> > to do this sort of thing.  Not possible yet, though.
>
> Rats.
>
> What if I do this:
>
> Two machines alice (HDs 1 & 2) & bob (HDs 3 & 4).
>
> I gnbd export 2 to bob and 4 to alice.  Then I LVM
> mirror 2 & 4 on both alice & bob.  Then GFS on top of
> that.
>
> Will that work?

You did not say anything about drives 1 and 3.  I presume they play no 
part in your example.

GFS is expected to prevent the race where the same block is written at 
the same time by both bob and alice, which otherwise could result in 
the corresponding block on 2 and 4 being different after both mirrored 
writes have completed.

So your arrangement is ok as long as resynchronization is never needed.  
Resynchronization IO is done by a daemon that GFS knows nothing about, 
so GFS cannot possibly prevent racy writes in this case.

Without resynchronization, a mirror is not very useful.  You might still 
get some benefit from read balancing if that were implemented (it is 
not) but as others have pointed out, you really need to use a proper 
cluster mirror when it becomes available, or ddraid.  Both of these are 
designed to handle the above synchronization issue and other cluster 
synchronization related to initialization and dirty region logging.

Regards,

Daniel




More information about the Linux-cluster mailing list