Christine Caulfield wrote . . . +On 13/07/10 15:19, Sampathkumar, Kishore wrote: +> I had another follow-up question. +> +> Without any quorum provider (say, testquorum, votequorum), the cluster +> is always is ?quorate?. I observe that this is the ?default? behavior. +> +> Now, when a quorum provider like testquorum sets the quorum to +> ?inquorate? (see below), what is the expected behavior? Do all the +> MCAST messages sent by/to this Node (on which quorum is ?inquorate?) fail? +> +> As an aside, ?testquorum? seems to set only the local node quorum to +> ?inquorate?. The other node is unaffected! +> +> Thanks, +> +> - Kishore +> +> *From:* Sampathkumar, Kishore +> *Sent:* Tuesday, July 13, 2010 10:49 AM +> *To:* [email protected] +> *Subject:* What does the quorum service really do when it has no +> linkage to groups/nodes? +> +> The following are the entries I have made towards the end of +> /etc/corosync/corosync.conf: +> +> service { +> +> name: corosync_quorum +> +> ver: 0 +> +> } +> +> quorum { +> +> provider: testquorum +> +> } +> +> I then ran the following: +> +> [r...@localhost tools]# ./corosync-quorumtool -s +> +> Version: 1.2.3 +> +> Nodes: 0 +> +> Ring ID: 0 +> +> Quorum type: testquorum +> +> Quorate: No +> +> [r...@localhost tools]# ./corosync-cpgtool +> +> Group Name PID Node ID +> +> CPG1\x00 +> +> 25398 846833856 (192.168.121.50) +> +> 2302 1064937664 (192.168.121.63) +> +> I want to tie the quorum to a specific ?group? (in the above example +> CPG1). How do I do that? The API?s for quorum declared in +> include/corosync/quorum.h do not have any reference to any CPG. +> +> So, what is the quorum expected to represent then? Quorum of Nodes in +> Ring 0? If so, how? How does a programmer ?use? the quorum API?s then? +> + +Quorum is a property of the whole cluster. Some internal corosync services +check it, most don't. That's because they need to keep working during a quorum +transition. It's the job of applications what need to know quorum to check it +for themselves. + +The quorum API is quite basic, it just tells you whether the cluster has +quorum or not, and a list of nodeids. quorum providers (like votequorum) have +more API calls layered onto that to provide extra information as to how quorum +has been calculated. An application that just needs to know quorum state +should use the basic quorum_ API calls so that it will work regardless of +which quorum provider is loaded. + +testquorum is a test module ... it's not meant to be used in production :-) + +Chrissie
Today, the quorum API reports that the cluster has quorum, but the list of nodeids is empty. Is this what is expected when there are no quorum providers? If I include votequorum as the quorum provider, but don't use any of the API's provided by votequorum, will I see the quorum state as well as the list of nodeids that form the quorum in the cluster? My point is, when we say the cluster has quorum, should one obtain the nodes that form the quorum from the quorum API's? If not, how else? Thanks, - Kishore From: Sampathkumar, Kishore Sent: Tuesday, July 13, 2010 7:50 PM To: '[email protected]' Subject: RE: What does the quorum service really do when it has no linkage to groups/nodes? I had another follow-up question. Without any quorum provider (say, testquorum, votequorum), the cluster is always is "quorate". I observe that this is the "default" behavior. Now, when a quorum provider like testquorum sets the quorum to "inquorate" (see below), what is the expected behavior? Do all the MCAST messages sent by/to this Node (on which quorum is "inquorate") fail? As an aside, "testquorum" seems to set only the local node quorum to "inquorate". The other node is unaffected! Thanks, - Kishore From: Sampathkumar, Kishore Sent: Tuesday, July 13, 2010 10:49 AM To: [email protected] Subject: What does the quorum service really do when it has no linkage to groups/nodes? The following are the entries I have made towards the end of /etc/corosync/corosync.conf: service { name: corosync_quorum ver: 0 } quorum { provider: testquorum } I then ran the following: [r...@localhost tools]# ./corosync-quorumtool -s Version: 1.2.3 Nodes: 0 Ring ID: 0 Quorum type: testquorum Quorate: No [r...@localhost tools]# ./corosync-cpgtool Group Name PID Node ID CPG1\x00 25398 846833856 (192.168.121.50) 2302 1064937664 (192.168.121.63) I want to tie the quorum to a specific "group" (in the above example CPG1). How do I do that? The API's for quorum declared in include/corosync/quorum.h do not have any reference to any CPG. So, what is the quorum expected to represent then? Quorum of Nodes in Ring 0? If so, how? How does a programmer "use" the quorum API's then? Thanks, - Kishore
_______________________________________________ Openais mailing list [email protected] https://lists.linux-foundation.org/mailman/listinfo/openais
