gluster-devel
[Top][All Lists]
Advanced

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

[Gluster-devel] Fwd: Change in glusterfs[master]: afr: add volume-specif


From: John Mark Walker
Subject: [Gluster-devel] Fwd: Change in glusterfs[master]: afr: add volume-specific quorum calculation
Date: Thu, 3 Jan 2013 14:41:11 -0500 (EST)

Thought some of you might want to see this. I keep promising myself that I'll 
make an easy way for the code contributor to do this (send to the -devel list)

-JM


----- Forwarded Message -----
From: "Jeff Darcy (Code Review)" <address@hidden>
Sent: Thursday, January 3, 2013 2:28:04 PM
Subject: Change in glusterfs[master]: afr: add volume-specific quorum 
calculation

Jeff Darcy has uploaded a new change for review.

Change subject: afr: add volume-specific quorum calculation
......................................................................

afr: add volume-specific quorum calculation

Volume quorum is mostly the same as the current cluster quorum - same triggers,
same calculations, same actions - except that it only counts servers which have
an interest in a volume.  Interest comes from either having a brick for that
volume or from being named as an arbiter via the cluster.arbiter option on the
volume.  An arbiter has no data for the volume it arbitrates, but can break
quorum ties when there are only two servers with bricks for the volume.

One can enable volume quorum by setting the cluster.server-quorum-type option
to be "volume-server" (instead of just "server" which enables cluster-wide
quorum).  Note that cluster.server-quorum-ratio works for volume quorum the
same as for cluster quorum, including the fact that it's set on the "all"
pseudo-volume and is thus applicable for all volumes instead of having
per-volume values.

As an example, consider a cluster with three volumes on five servers, as
follows:

        volume X has bricks on servers A and B
        volume Y is like X, but with C as an arbiter
        volume Z has bricks on servers A, D, and E

Now server A fails.  Volume X no longer has quorum, so its remaining bricks (on
B) are shut down.  Volume Y *does* have quorum, thanks to the arbiter, so it
continues to function.  Volume Z has quorum even without an arbiter, so it also
stays up.  If server B or C were to fail at this point, volume Y would lose
quorum with only 1/3 interested servers, while volume Z would remain up with
2/3.

Change-Id: I6e982dd7e697e6eb20590c07e10cbf0b54473b27
Signed-off-by: Jeff Darcy <address@hidden>
---
M xlators/cluster/afr/src/afr.c
M xlators/mgmt/glusterd/src/glusterd-utils.c
M xlators/mgmt/glusterd/src/glusterd-volgen.c
M xlators/mgmt/glusterd/src/glusterd.h
4 files changed, 145 insertions(+), 34 deletions(-)


  git pull ssh://git.gluster.org/glusterfs refs/changes/63/4363/1
--
To view, visit http://review.gluster.org/4363
To unsubscribe, visit http://review.gluster.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6e982dd7e697e6eb20590c07e10cbf0b54473b27
Gerrit-PatchSet: 1
Gerrit-Project: glusterfs
Gerrit-Branch: master
Gerrit-Owner: Jeff Darcy <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]