[Gluster-users] Client vs Server Quorum
Ravishankar N
ravishankar at redhat.com
Sun Oct 11 06:27:15 UTC 2015
On 10/11/2015 03:53 AM, Lindsay Mathieson wrote:
> I'm unclear as to the distinction between the two, but my guess:
>
> - Quorum is only relevant to replica volumes
Client quorum is applicable only to replica volumes. Server quorum is
applicable to all volumes.
> - It is p[referable to have a odd number of replicas and a minimum of 3
>
Right.
> Client Quorum;
> - Client is the fuse client or gfapi driver
True. Also in the gluster nfs server when you use nfs mounts. Client
quorum is implemented in the AFR translator. So it comes into play
wherever this xlator is loaded.
> - Quorum check is performed by the client
More specifically the AFR xlator.
> - if the check fails, the client will fail writes
Right. AFR will fail the writes with EROFS.
> * is there a timeout involved or does it fail immediately?
If an ongoing write did not succeed on the necessary number of bricks
due to brick disconnect, that FOP will fail with EROFS. Also, subsequent
writes will also fail with the same error until quorum is restored (i.e.
client connects to the bricks again). So yes, it is pretty much immediate.
> - Quorum is determined by how many active bricks the client can see
> * As determined by quorum-type and/or quorum-count
> - Bricks remain up
True. Unless the brick process actually went down.
> - Datastore remains up
Not sure if you are referring to other bricks, in which case yes.
>
> Server Quorum:
> - Server is the brick process (glusterd?)
Not glusterd but the brick process i.e glusterfsd.
The implementation of server quorum is in glusterd though.
> - enabled with server-quorum-type=server
> - Quorum check is performed by the server
Right.
> - Quorum is determined by how many active bricks the server can see
It's more like how many peers the glusterd on each node can see. Have a
look at "How to Test" section in
http://www.gluster.org/community/documentation/index.php/Features/Server-quorum
> - If quorum fails
> * brick is brought down
Correct. By glusterd.
> * datastore remains up
>
>
> In both cases bricks which remain part of a quorum can still be
> written to, whereas bricks which are isolated are readonly, or down
> altogether and will be healed once quorums returns. In theory this
> will prevent split brain problems.
>
>
Yes.
> Question:
> - Which is better, server or client quorums?
You can still end up in split-brain of the files stored in the volume
if sever quorum is enabled. Sever quorum is more useful to avoid
conflicts in volume configuration since it also disallows volume set
commands, peer probe etc when not in quorum. Client quorum is better if
you want to avoid split-brains of files present in the volume.
> - Can you safely enable both? recommended?
>
IMHO, client-quorum is enough. In case of dist-rep volumes, it acts on
only those replica sets where quorum is not met making only that replica
pair EROFS. Server quorum outright kills the bricks, not even allowing
read access. But yes, you can enable both.
> thanks,
> --
> Lindsay
>
>
> _______________________________________________
> Gluster-users mailing list
> Gluster-users at gluster.org
> http://www.gluster.org/mailman/listinfo/gluster-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gluster.org/pipermail/gluster-users/attachments/20151011/cbd3608a/attachment.html>
More information about the Gluster-users
mailing list