quorum in a two-node cluster with pacemaker
I have two node active-passive cluster.
Clusters_from_Scratch
If a cluster splits into two (or more) groups of nodes that can no
longer communicate with each other (aka. partitions), quorum is used
to prevent resources from starting on more nodes than desired, which
would risk data corruption. A cluster has quorum when more than half
of all known nodes are online in the same partition
By the above definition, a two-node cluster would only have quorum
when both nodes are running. This would make the creation of a
two-node cluster pointless, but corosync has the ability to treat
two-node clusters as if only one node is required for quorum. The pcs
cluster setup command will automatically configure two_node: 1 in
corosync.conf, so a two-node cluster will "just work".
Here's my config:

So how can the cluster now decide which one has quorum?
pacemaker corosync
add a comment |
I have two node active-passive cluster.
Clusters_from_Scratch
If a cluster splits into two (or more) groups of nodes that can no
longer communicate with each other (aka. partitions), quorum is used
to prevent resources from starting on more nodes than desired, which
would risk data corruption. A cluster has quorum when more than half
of all known nodes are online in the same partition
By the above definition, a two-node cluster would only have quorum
when both nodes are running. This would make the creation of a
two-node cluster pointless, but corosync has the ability to treat
two-node clusters as if only one node is required for quorum. The pcs
cluster setup command will automatically configure two_node: 1 in
corosync.conf, so a two-node cluster will "just work".
Here's my config:

So how can the cluster now decide which one has quorum?
pacemaker corosync
add a comment |
I have two node active-passive cluster.
Clusters_from_Scratch
If a cluster splits into two (or more) groups of nodes that can no
longer communicate with each other (aka. partitions), quorum is used
to prevent resources from starting on more nodes than desired, which
would risk data corruption. A cluster has quorum when more than half
of all known nodes are online in the same partition
By the above definition, a two-node cluster would only have quorum
when both nodes are running. This would make the creation of a
two-node cluster pointless, but corosync has the ability to treat
two-node clusters as if only one node is required for quorum. The pcs
cluster setup command will automatically configure two_node: 1 in
corosync.conf, so a two-node cluster will "just work".
Here's my config:

So how can the cluster now decide which one has quorum?
pacemaker corosync
I have two node active-passive cluster.
Clusters_from_Scratch
If a cluster splits into two (or more) groups of nodes that can no
longer communicate with each other (aka. partitions), quorum is used
to prevent resources from starting on more nodes than desired, which
would risk data corruption. A cluster has quorum when more than half
of all known nodes are online in the same partition
By the above definition, a two-node cluster would only have quorum
when both nodes are running. This would make the creation of a
two-node cluster pointless, but corosync has the ability to treat
two-node clusters as if only one node is required for quorum. The pcs
cluster setup command will automatically configure two_node: 1 in
corosync.conf, so a two-node cluster will "just work".
Here's my config:

So how can the cluster now decide which one has quorum?
pacemaker corosync
pacemaker corosync
edited Feb 22 at 22:53
Jeff Schaller
43.4k1160140
43.4k1160140
asked Feb 22 at 21:09
blablatraceblablatrace
698
698
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
There is no deciding:
two_node: 1
Enables two node cluster operations (default: 0).
The "two node cluster" is a use case that requires special consideration. With a standard two node cluster, each node with a single vote, there are 2 votes in the cluster. Using the simple majority calculation (50% of the votes + 1) to calculate quorum, the quorum would be 2. This means that the both nodes would always have to be alive for the cluster to be quorate and operate.
Enabling two_node: 1, quorum is set artificially to 1.
The above is from the man page for votequorum (or available locally in section 5).
Also pertinent:
The way it works is that in the event of a network outage both nodes race in an attempt to fence each other and the first to succeed continues in the cluster. The system administrator can also associate a delay with a fencing agent so that one node can be given priority in this situation so that it always wins the race.
See also: New quorum features in Corosync 2 by Christine Caulfield.
So what could I possibly do in terms of split-brain protection ?
– blablatrace
Feb 23 at 6:47
1
Have a fencing mechanism: clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/…
– Jeff Schaller
Feb 23 at 10:17
But does fencing not take care of misbehaving / unresponsive nodes ? I mean in a two node cluster (active-passive) I don't want pacemaker to fence one of the nodes just because there are only 2 nodes. Wouldn't I need quorum first to deal with the quorum so to say problem first and later one fencing ? Just asking, as I am very new to that topic and might confuse basic terminology in first please.
– blablatrace
Feb 23 at 15:26
1
quorum is forced to 1 so that a 2-node cluster can operate. If a node becomes unresponsive, that's a job for the fencing mechanism.
– Jeff Schaller
Feb 23 at 20:08
1
... the first to succeed continues in the cluster ...
– Jeff Schaller
Feb 24 at 0:04
|
show 2 more comments
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f502400%2fquorum-in-a-two-node-cluster-with-pacemaker%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
There is no deciding:
two_node: 1
Enables two node cluster operations (default: 0).
The "two node cluster" is a use case that requires special consideration. With a standard two node cluster, each node with a single vote, there are 2 votes in the cluster. Using the simple majority calculation (50% of the votes + 1) to calculate quorum, the quorum would be 2. This means that the both nodes would always have to be alive for the cluster to be quorate and operate.
Enabling two_node: 1, quorum is set artificially to 1.
The above is from the man page for votequorum (or available locally in section 5).
Also pertinent:
The way it works is that in the event of a network outage both nodes race in an attempt to fence each other and the first to succeed continues in the cluster. The system administrator can also associate a delay with a fencing agent so that one node can be given priority in this situation so that it always wins the race.
See also: New quorum features in Corosync 2 by Christine Caulfield.
So what could I possibly do in terms of split-brain protection ?
– blablatrace
Feb 23 at 6:47
1
Have a fencing mechanism: clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/…
– Jeff Schaller
Feb 23 at 10:17
But does fencing not take care of misbehaving / unresponsive nodes ? I mean in a two node cluster (active-passive) I don't want pacemaker to fence one of the nodes just because there are only 2 nodes. Wouldn't I need quorum first to deal with the quorum so to say problem first and later one fencing ? Just asking, as I am very new to that topic and might confuse basic terminology in first please.
– blablatrace
Feb 23 at 15:26
1
quorum is forced to 1 so that a 2-node cluster can operate. If a node becomes unresponsive, that's a job for the fencing mechanism.
– Jeff Schaller
Feb 23 at 20:08
1
... the first to succeed continues in the cluster ...
– Jeff Schaller
Feb 24 at 0:04
|
show 2 more comments
There is no deciding:
two_node: 1
Enables two node cluster operations (default: 0).
The "two node cluster" is a use case that requires special consideration. With a standard two node cluster, each node with a single vote, there are 2 votes in the cluster. Using the simple majority calculation (50% of the votes + 1) to calculate quorum, the quorum would be 2. This means that the both nodes would always have to be alive for the cluster to be quorate and operate.
Enabling two_node: 1, quorum is set artificially to 1.
The above is from the man page for votequorum (or available locally in section 5).
Also pertinent:
The way it works is that in the event of a network outage both nodes race in an attempt to fence each other and the first to succeed continues in the cluster. The system administrator can also associate a delay with a fencing agent so that one node can be given priority in this situation so that it always wins the race.
See also: New quorum features in Corosync 2 by Christine Caulfield.
So what could I possibly do in terms of split-brain protection ?
– blablatrace
Feb 23 at 6:47
1
Have a fencing mechanism: clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/…
– Jeff Schaller
Feb 23 at 10:17
But does fencing not take care of misbehaving / unresponsive nodes ? I mean in a two node cluster (active-passive) I don't want pacemaker to fence one of the nodes just because there are only 2 nodes. Wouldn't I need quorum first to deal with the quorum so to say problem first and later one fencing ? Just asking, as I am very new to that topic and might confuse basic terminology in first please.
– blablatrace
Feb 23 at 15:26
1
quorum is forced to 1 so that a 2-node cluster can operate. If a node becomes unresponsive, that's a job for the fencing mechanism.
– Jeff Schaller
Feb 23 at 20:08
1
... the first to succeed continues in the cluster ...
– Jeff Schaller
Feb 24 at 0:04
|
show 2 more comments
There is no deciding:
two_node: 1
Enables two node cluster operations (default: 0).
The "two node cluster" is a use case that requires special consideration. With a standard two node cluster, each node with a single vote, there are 2 votes in the cluster. Using the simple majority calculation (50% of the votes + 1) to calculate quorum, the quorum would be 2. This means that the both nodes would always have to be alive for the cluster to be quorate and operate.
Enabling two_node: 1, quorum is set artificially to 1.
The above is from the man page for votequorum (or available locally in section 5).
Also pertinent:
The way it works is that in the event of a network outage both nodes race in an attempt to fence each other and the first to succeed continues in the cluster. The system administrator can also associate a delay with a fencing agent so that one node can be given priority in this situation so that it always wins the race.
See also: New quorum features in Corosync 2 by Christine Caulfield.
There is no deciding:
two_node: 1
Enables two node cluster operations (default: 0).
The "two node cluster" is a use case that requires special consideration. With a standard two node cluster, each node with a single vote, there are 2 votes in the cluster. Using the simple majority calculation (50% of the votes + 1) to calculate quorum, the quorum would be 2. This means that the both nodes would always have to be alive for the cluster to be quorate and operate.
Enabling two_node: 1, quorum is set artificially to 1.
The above is from the man page for votequorum (or available locally in section 5).
Also pertinent:
The way it works is that in the event of a network outage both nodes race in an attempt to fence each other and the first to succeed continues in the cluster. The system administrator can also associate a delay with a fencing agent so that one node can be given priority in this situation so that it always wins the race.
See also: New quorum features in Corosync 2 by Christine Caulfield.
answered Feb 22 at 22:53
Jeff SchallerJeff Schaller
43.4k1160140
43.4k1160140
So what could I possibly do in terms of split-brain protection ?
– blablatrace
Feb 23 at 6:47
1
Have a fencing mechanism: clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/…
– Jeff Schaller
Feb 23 at 10:17
But does fencing not take care of misbehaving / unresponsive nodes ? I mean in a two node cluster (active-passive) I don't want pacemaker to fence one of the nodes just because there are only 2 nodes. Wouldn't I need quorum first to deal with the quorum so to say problem first and later one fencing ? Just asking, as I am very new to that topic and might confuse basic terminology in first please.
– blablatrace
Feb 23 at 15:26
1
quorum is forced to 1 so that a 2-node cluster can operate. If a node becomes unresponsive, that's a job for the fencing mechanism.
– Jeff Schaller
Feb 23 at 20:08
1
... the first to succeed continues in the cluster ...
– Jeff Schaller
Feb 24 at 0:04
|
show 2 more comments
So what could I possibly do in terms of split-brain protection ?
– blablatrace
Feb 23 at 6:47
1
Have a fencing mechanism: clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/…
– Jeff Schaller
Feb 23 at 10:17
But does fencing not take care of misbehaving / unresponsive nodes ? I mean in a two node cluster (active-passive) I don't want pacemaker to fence one of the nodes just because there are only 2 nodes. Wouldn't I need quorum first to deal with the quorum so to say problem first and later one fencing ? Just asking, as I am very new to that topic and might confuse basic terminology in first please.
– blablatrace
Feb 23 at 15:26
1
quorum is forced to 1 so that a 2-node cluster can operate. If a node becomes unresponsive, that's a job for the fencing mechanism.
– Jeff Schaller
Feb 23 at 20:08
1
... the first to succeed continues in the cluster ...
– Jeff Schaller
Feb 24 at 0:04
So what could I possibly do in terms of split-brain protection ?
– blablatrace
Feb 23 at 6:47
So what could I possibly do in terms of split-brain protection ?
– blablatrace
Feb 23 at 6:47
1
1
Have a fencing mechanism: clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/…
– Jeff Schaller
Feb 23 at 10:17
Have a fencing mechanism: clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/…
– Jeff Schaller
Feb 23 at 10:17
But does fencing not take care of misbehaving / unresponsive nodes ? I mean in a two node cluster (active-passive) I don't want pacemaker to fence one of the nodes just because there are only 2 nodes. Wouldn't I need quorum first to deal with the quorum so to say problem first and later one fencing ? Just asking, as I am very new to that topic and might confuse basic terminology in first please.
– blablatrace
Feb 23 at 15:26
But does fencing not take care of misbehaving / unresponsive nodes ? I mean in a two node cluster (active-passive) I don't want pacemaker to fence one of the nodes just because there are only 2 nodes. Wouldn't I need quorum first to deal with the quorum so to say problem first and later one fencing ? Just asking, as I am very new to that topic and might confuse basic terminology in first please.
– blablatrace
Feb 23 at 15:26
1
1
quorum is forced to 1 so that a 2-node cluster can operate. If a node becomes unresponsive, that's a job for the fencing mechanism.
– Jeff Schaller
Feb 23 at 20:08
quorum is forced to 1 so that a 2-node cluster can operate. If a node becomes unresponsive, that's a job for the fencing mechanism.
– Jeff Schaller
Feb 23 at 20:08
1
1
... the first to succeed continues in the cluster ...– Jeff Schaller
Feb 24 at 0:04
... the first to succeed continues in the cluster ...– Jeff Schaller
Feb 24 at 0:04
|
show 2 more comments
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f502400%2fquorum-in-a-two-node-cluster-with-pacemaker%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown