Skip to content

Commit

Permalink
Add yast cluster qdevice section
Browse files Browse the repository at this point in the history
  • Loading branch information
tahliar committed Oct 10, 2024
1 parent 8528940 commit f91880c
Show file tree
Hide file tree
Showing 3 changed files with 158 additions and 3 deletions.
Binary file added images/src/png/yast_cluster_qdevice.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions xml/ha_qdevice-qnetd.xml
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,8 @@
</listitem>
<listitem>
<para>
A different physical network than the one that &corosync; uses.
It is recommended for &qdevice; to reach the &qnet; server.
It is recommended for &qdevice; to reach the &qnet; server via a
different physical network than the one that &corosync; uses.
Ideally, the &qnet; server should be in a separate rack than the
main cluster, or at least on a separate PSU and not in the same
network segment as the Corosync ring or rings.
Expand Down Expand Up @@ -231,7 +231,7 @@
</step>
<step>
<para>
Enable the &productname; using the command listed in
Enable &productname; using the command listed in
<command>SUSEConnect --list-extensions</command>.
</para>
</step>
Expand Down
155 changes: 155 additions & 0 deletions xml/ha_yast_cluster.xml
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,17 @@
</important>
</listitem>
</varlistentry>
<varlistentry>
<term>&corosync; &qdevice; (optional but recommended for clusters with an even number of nodes)</term>
<listitem>
<para>
Allows you to configure &qdevice; as a client of a &qnet; server to
participate in quorum decisions. This is recommended for clusters with
an even number of nodes, and especially for two-node clusters.
For details, see <xref linkend="sec-ha-installation-setup-qdevice"/>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Security (optional but recommended)</term>
<listitem>
Expand Down Expand Up @@ -596,6 +607,150 @@
</procedure>
</sect1>

<sect1 xml:id="sec-ha-installation-setup-qdevice">
<title>Configuring an arbitrator for quorum decisions</title>
<para>
&qdevice; and &qnet; participate in quorum decisions. With assistance from
the arbitrator <systemitem class="daemon">corosync-qnetd</systemitem>,
<systemitem class="daemon">corosync-qdevice</systemitem> provides a
configurable number of votes, allowing a cluster to sustain more node
failures than the standard quorum rules allow. We recommend deploying
<systemitem class="daemon">corosync-qnetd</systemitem> and
<systemitem class="daemon">corosync-qdevice</systemitem> for clusters
with an even number of nodes, and especially for two-node clusters.
For more information, see <xref linkend="cha-ha-qdevice"/>.
</para>
<itemizedlist>
<title>Requirements</title>
<listitem>
<para>
Before you configure &qdevice;, you must set up a &qnet; server.
See <xref linkend="sec-ha-qdevice-setup-qnetd"/>.
</para>
</listitem>
</itemizedlist>
<procedure xml:id="pro-ha-installation-setup-qdevice">
<title>Configuring &qdevice; and &qnet;</title>
<step>
<para>
Start the &yast; cluster module and switch to the
<guimenu>&corosync; &qdevice;</guimenu> category.
</para>
</step>
<step>
<para>
Activate <guimenu>Enable &corosync; &qdevice;</guimenu>.
</para>
</step>
<step>
<para>
In the <guimenu>&qnet; server host</guimenu> field, enter the IP address
or host name of the &qnet; server.
</para>
</step>
<step>
<para>
Select the mode for <guimenu>TLS</guimenu>:
</para>
<itemizedlist>
<listitem>
<para>
Use <guimenu>off</guimenu> if TLS is not required and should not be tried.
</para>
</listitem>
<listitem>
<para>
Use <guimenu>on</guimenu> to attempt to connect with TLS, but connect without TLS
if it is not available.
</para>
</listitem>
<listitem>
<para>
Use <guimenu>required</guimenu> to make TLS mandatory. &qdevice; will exit with
an error if TLS is not available.
</para>
</listitem>
</itemizedlist>
</step>
<step>
<para>
Select the <guimenu>Heuristics Mode</guimenu>:
</para>
<itemizedlist>
<listitem>
<para>
Use <guimenu>off</guimenu> to disable heuristics.
</para>
</listitem>
<listitem>
<para>
Use <guimenu>on</guimenu> to run heuristics on a regular basis, as set by the
<guimenu>Heuristics Interval</guimenu>.
</para>
</listitem>
<listitem>
<para>
Use <guimenu>sync</guimenu> to only run heuristics during startup, when cluster
membership changes, and on connection to &qnet;.
</para>
</listitem>
</itemizedlist>
</step>
<step>
<para>
If you set the <guimenu>Heuristics Mode</guimenu> to <guimenu>on</guimenu>
or <guimenu>sync</guimenu>, add your heuristics commands to the
<guimenu>Heuristics Executables</guimenu> list:
</para>
<substeps>
<step>
<para>
Select <guimenu>Add</guimenu>. A new window opens.
</para>
</step>
<step>
<para>
Enter an <guimenu>Execute Name</guimenu> for the command.
</para>
</step>
<step>
<para>
Enter the command in the <guimenu>Execute Script</guimenu> field. This can be a
single command or the path to a script, and can be written in any language
such as Shell, Python, or Ruby.
</para>
</step>
<step>
<para>
Select <guimenu>OK</guimenu> to close the window.
</para>
</step>
</substeps>
</step>
<step>
<para>
Confirm your changes.
</para>
</step>
</procedure>
<figure xml:id="fig-ha-installation-setup-qdevice">
<title>&yast; <guimenu>Cluster</guimenu>&mdash;&corosync; &qdevice;</title>
<mediaobject>
<imageobject role="fo">
<imagedata fileref="yast_cluster_qdevice.png" width="100%"/>
</imageobject>
<imageobject role="html">
<imagedata fileref="yast_cluster_qdevice.png" width="75%"/>
</imageobject>
<textobject role="description">
<phrase>The &corosync; &qdevice; screen shows the settings for configuring &qdevice;.
The <guimenu>Enable &corosync; &qdevice;</guimenu> check box is activated,
and the cursor is in the <guimenu>&qnet; server host</guimenu> field.</phrase>
</textobject>
</mediaobject>
</figure>
</sect1>

<sect1 xml:id="sec-ha-installation-setup-security">
<title>Defining authentication settings</title>
<para>
Expand Down

0 comments on commit f91880c

Please sign in to comment.