[Gluster-devel] calculating brick quorum from glusterd

Raghavendra Bhat rabhat at redhat.com
Wed Sep 25 10:07:34 UTC 2013


The patch has been sent for the review. http://review.gluster.org/#/c/5998/

Regards,
Raghavendra Bhat

On 09/17/2013 01:06 PM, Raghavendra Bhat wrote:
> The idea as of now is to make quorum check flexible instead of tying 
> to one
> particular command or function. Its because any cli command that wants 
> to check
> for quorum can make use of this aphttp://review.gluster.org/#/c/5998/i 
> and proceed.
>
> It is done such that a cli command can be implemented to get the 
> quorum status.
>
> * An independent method to get the information about the bricks from 
> all the
>   peers.
>
> * An inpenedent method to calculate the quorum (Its usually executed 
> in the
>   originator glusterd).
>
> The cli command to get the quorum status, and other glusterd commands 
> which want
> to do the quorum check (snapshot as of now) will make use of the above 
> apis.
>
> Note that whoever wants to make use of the quorum related APIs MUST 
> hold the
> cluster lock (might be changed to volume wide lock in future) and call 
> the above
> functions.
>
> Please provide inputs.
>
> Regards,
> Raghavendra Bhat
>
>
> On 09/12/2013 02:14 PM, Vijay Bellur wrote:
>> On 09/12/2013 11:24 AM, Raghavendra Bhat wrote:
>>>
>>> Hi,
>>>
>>> As of now whenever a cli command is executed, all the glusterds will 
>>> try
>>> to do the corresponding changes to their respective bricks. It would be
>>> better if glusterd can check whether the quorum (useful especially for
>>> afr replated operations) has been met, for some volume operations.
>>>
>>> One way to handle this is, in the stage phase of the op, when the
>>> originator glusterd will broadcast the stage op to all the glusterds,
>>> the remaining glusterds will send the information about whether the
>>> bricks running in that machine are up or not. The originator glusterd
>>> will collect the information sent by other glusterds and will check
>>> whether the quorum has been met or not.
>>>
>>> This can be used by some features such as snapshots where when snapshot
>>> cli command is issued, glusterd will fail the snapshot if quorum is not
>>> met.
>>
>> Volume topology aware quorum is useful for a few cases:
>>
>> 1. Bringing down bricks in a replica set if quorum is lost.
>>
>> 2. Refusing configuration changes that involve interactions with 
>> bricks if quorum is not available (as with snapshots).
>>
>> As such, it would be useful to have glusterd notify its peers when a 
>> brick goes offline or comes online. online/offline status could be 
>> maintained in volinfo of each glusterd and this information could be 
>> used to determine quorum availability. For the sake of simplicity, 
>> you can possibly make an assumption that all bricks associated with a 
>> node are offline if glusterd on that node is offline.
>>
>> In addition to this having a new interface/RPC to pull the brick 
>> information over instead of piggybacking on a different RPC would be 
>> better.
>>
>> -Vijay
>
>
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at nongnu.org
> https://lists.nongnu.org/mailman/listinfo/gluster-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-devel/attachments/20130925/bae300f8/attachment-0001.html>


More information about the Gluster-devel mailing list