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

Reply via email to