mirror_corosync-qdevice/man/corosync-qdevice-tool.8
Jan Friesse fbc34f3b05 qnet: Add support for keep active partition vote
This patch adds qdevice-net part of keep active partition tie breaker
functionality. It's enabled by default.

When tie happens prefer partition with members of
previously active (quorate) partition. This is hard-coded
behavior of LMS algorithm so this setting affects only
FFSplit algorithm. By default it is disabled for backwards
compatibility.

This solves problem with FFSplit when node A (with lowest id) is killed,
node B gets vote and then node A starts up and creates single node
membership and gets vote.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
2020-10-27 17:22:46 +01:00

132 lines
4.4 KiB
Groff

.\"/*
.\" * Copyright (C) 2016-2020 Red Hat, Inc.
.\" *
.\" * All rights reserved.
.\" *
.\" * Author: Jan Friesse <jfriesse@redhat.com>
.\" *
.\" * This software licensed under BSD license, the text of which follows:
.\" *
.\" * Redistribution and use in source and binary forms, with or without
.\" * modification, are permitted provided that the following conditions are met:
.\" *
.\" * - Redistributions of source code must retain the above copyright notice,
.\" * this list of conditions and the following disclaimer.
.\" * - Redistributions in binary form must reproduce the above copyright notice,
.\" * this list of conditions and the following disclaimer in the documentation
.\" * and/or other materials provided with the distribution.
.\" * - Neither the name of Red Hat, Inc. nor the names of its
.\" * contributors may be used to endorse or promote products derived from this
.\" * software without specific prior written permission.
.\" *
.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH COROSYNC-QDEVICE-TOOL 8 2020-10-27
.SH NAME
corosync-qdevice-tool \- corosync-qdevice control interface.
.SH SYNOPSIS
.B "corosync-qdevice-tool [-Hhsv] [-p qdevice_ipc_socket_path]"
.SH DESCRIPTION
.B corosync-qdevice-tool
is a frontend to the internal corosync-qdevice IPC. Its main purpose is to show important
information about the current internal state of
.B corosync-qdevice.
.SH OPTIONS
.TP
.B -H
Properly shutdown the
.B corosync-qdevice
process
.TP
.B -h
Display a short usage text
.TP
.B -s
Display the status of the
.B corosync-qdevice
process. The output is described in its own section below.
.TP
.B -v
Display more verbose output for the
.B -s
option.
.TP
.B -p
Path to the
.B corosync-qdevice
communication socket.
.SH STATUS COMMAND OUTPUT
.nf
Qdevice information
-------------------
Model: Net
Node ID: 1
HB interval: 10000ms
Sync HB interval: 30000ms
Configured node list:
0 Node ID = 1
Heuristics: Enabled
Ring ID: 1.a00000000021b48
Membership node list: 1
Quorate: Yes
Quorum node list:
0 Node ID = 1, State = member
Expected votes: 2
Last poll call: 2016-06-24T17:05:20 (cast vote)
Qdevice-net information
----------------------
Cluster name: Cluster
QNetd host: localhost:5403
Connect timeout: 8000ms
HB interval: 8000ms
VQ vote timer interval: 5000ms
TLS: Supported
Algorithm: Fifty-Fifty split
Tie-breaker: Node with lowest node ID
KAP Tie-breaker: Enabled
Poll timer running: Yes (cast vote)
State: Connected
Heuristics result: Pass (regular: Pass, membership: Fail, connect: Fail)
TLS active: Yes (client certificate sent)
Connected since: 2016-06-24T17:02:35
Echo reply received: 2016-06-24T17:05:15
.fi
The output is split into a generic qdevice section and a model specific section.
Most of the items are just taken from corosync.conf file. It's helpful to note that the
.I Membership node list
is the membership list of the current node and should match the quorum node list.
.I Last poll call
is the timestamp (in iso format) of the last call to the votequorum_qdevice_poll
function.
For model net, it's good to check the
.I Poll timer running
state. Internally, model net supports 3 states. Not voting (when
.I Poll timer running
is No, which means
.B corosync-qdevice
is waiting for
.B corosync-qnetd
to reply), voting (without cast vote, it means that the
.B corosync-qnetd
algorithm decides that the current node shouldn't get a vote) and voting (with cast vote).
.SH SEE ALSO
.BR corosync-qnetd (8)
.BR corosync-qdevice (8)
.SH AUTHOR
Jan Friesse
.PP