Is it possible to get posix locks in a high availability configuration with glusterfs? Specifically, is it sufficient to have locking enabled on the server side below the AFR layer? |glusterfsd....| |.......glusterfs client.. [u1]---[u1-lock]---+ :=:--afr0--+ [u3]---[u3-lock]---+ | +----client/unify----- [u2]---[u2-lock]---+ | | :=:--afr0--+ | [u4]---[u4-lock]---+ | | [u5-ns]--------------------------+ Here is part of the server configuration ... volume u1 type storage/posix option directory /glusterfs/u1/export end-volume volume u2 type storage/posix option directory /glusterfs/u2/export end-volume volume u1-lock type features/posix-locks subvolumes u1 end-volume volume u2-lock type features/posix-locks subvolumes u2 end-volume I have a bad feeling that in a race condition, half of the clients will check the locks on one brick while the other half will check the other brick ... and that simultaneous transactions may be quite happy with getting one out of two flocks, or only release one of the two when they are done ... &:-)
Krishna Srinivas
2008-Oct-20 10:51 UTC
[Gluster-users] Posix locks AFR and high availability
Andrew, Yes it should work safely. posix-locks can beloaded just above storage/posix. Let us know if it does not work the correct way. Krishna On Mon, Oct 20, 2008 at 3:30 PM, Andrew McGill <list2008 at lunch.za.net> wrote:> Is it possible to get posix locks in a high availability configuration > with glusterfs? > > Specifically, is it sufficient to have locking enabled on the server side > below the AFR layer? > > > |glusterfsd....| |.......glusterfs client.. > > > [u1]---[u1-lock]---+ > :=:--afr0--+ > [u3]---[u3-lock]---+ | > +----client/unify----- > [u2]---[u2-lock]---+ | | > :=:--afr0--+ | > [u4]---[u4-lock]---+ | > | > [u5-ns]--------------------------+ > > Here is part of the server configuration ... > > volume u1 > type storage/posix > option directory /glusterfs/u1/export > end-volume > > volume u2 > type storage/posix > option directory /glusterfs/u2/export > end-volume > > volume u1-lock > type features/posix-locks > subvolumes u1 > end-volume > > volume u2-lock > type features/posix-locks > subvolumes u2 > end-volume > > I have a bad feeling that in a race condition, half of the clients will check > the locks on one brick while the other half will check the other brick ... > and that simultaneous transactions may be quite happy with getting one out of > two flocks, or only release one of the two when they are done ... > > &:-) > > _______________________________________________ > Gluster-users mailing list > Gluster-users at gluster.org > http://zresearch.com/cgi-bin/mailman/listinfo/gluster-users >