[DRBD-cvs] svn commit by phil - r2136 - trunk/documentation - A bit
of work on the documentation.
drbd-cvs at lists.linbit.com
drbd-cvs at lists.linbit.com
Thu Apr 6 16:51:32 CEST 2006
Author: phil
Date: 2006-04-06 16:51:31 +0200 (Thu, 06 Apr 2006)
New Revision: 2136
Modified:
trunk/documentation/drbd.conf.sgml
trunk/documentation/drbdadm.sgml
trunk/documentation/drbdsetup.sgml
Log:
A bit of work on the documentation.
Modified: trunk/documentation/drbd.conf.sgml
===================================================================
--- trunk/documentation/drbd.conf.sgml 2006-04-06 11:39:24 UTC (rev 2135)
+++ trunk/documentation/drbd.conf.sgml 2006-04-06 14:51:31 UTC (rev 2136)
@@ -1,6 +1,6 @@
<!DOCTYPE RefEntry PUBLIC "-//Davenport//DTD DocBook V3.0//EN">
<refentry>
-<docinfo><date>15 Apr 2001</date></docinfo>
+<docinfo><date>06 April 2006</date></docinfo>
<refmeta>
<refentrytitle>drbd.conf</refentrytitle>
@@ -16,46 +16,49 @@
<title>Introduction</title>
<para>
The file <option>/etc/drbd.conf</option> is read by
- <option>/etc/init.d/drbd</option> and
- <option>/etc/ha.d/resource.d/drbddisk</option>
- which are included in the DRBD distribution.
+ <option>drbdaddm</option>.
</para>
<para>
The file format was designed as to allow to have
a verbatim copy of the file on both nodes of the cluster.
It is highly recommended to do so in order to keep your configuration
manageable. The file <option>/etc/drbd.conf</option> should be the same on both nodes of the cluster. Changes to <option>/etc/drbd.conf</option> do not apply
- immediately.
+ immediately.
<example>
<title>A small drbd.conf file</title>
<programlisting>
-resource drbd0 {
- protocol C;
- incon-degr-cmd "halt -f";
-
- on thost1 {
- device /dev/drbd1;
- disk /dev/hda7;
- address 10.1.1.31:7789;
- meta-disk internal;
- }
-
- on thost2 {
- device /dev/drbd1;
- disk /dev/hda7;
- address 10.1.1.32:7789;
- meta-disk internal;
- }
+global { usage-count yes; }
+common { syncer { rate 10M; } }
+resource r0 {
+ protocol C;
+ net {
+ cram-hmac-alg sha1;
+ shared-secret "FooFunFactory";
+ }
+ on thost1 {
+ device /dev/drbd1;
+ disk /dev/hda7;
+ address 10.1.1.31:7789;
+ meta-disk internal;
+ }
+ on thost2 {
+ device /dev/drbd1;
+ disk /dev/hda7;
+ address 10.1.1.32:7789;
+ meta-disk internal;
+ }
}
</programlisting>
</example>
- In this example there is a single DRBD resource (called drbd0) which uses
+ In this example there is a single DRBD resource (called r0) which uses
protocol C for the connection between its devices.
The device which runs
on host <replaceable>thost1</replaceable> uses
<replaceable>/dev/drbd1</replaceable> as devices for its application, and
<replaceable>/dev/hda7</replaceable> as low level storage for the data.
The IP addresses are used to specify the networking interfaces to use.
+ An eventually running resyncprocess should use about 10MByte/second of IO
+ bandwith.
</para>
<para>
There may be multiple resource sections in a single drbd.conf file.
@@ -113,8 +116,8 @@
<term><option>global</option></term>
<listitem><para>
Configures some global parameters. Currently only
- <option>minor-count</option>, <option>dialog-refresh</option>
- and <option>disable-ip-verification</option>
+ <option>minor-count</option>, <option>dialog-refresh</option>,
+ <option>disable-ip-verification</option> and <option>usage-count</option>
are allowed here. You may only have one global section, preferably
as the first section.
</para>
@@ -122,6 +125,19 @@
</varlistentry>
<varlistentry>
+ <term><option>common</option></term>
+ <listitem><para>
+ All resources interhit the options set in this section.
+ The common section might have a
+ a <option>startup</option>,
+ a <option>syncer</option>,
+ a <option>handlers</option>,
+ a <option>net</option> and a <option>disk</option> section.
+ </para>
+ </listitem>
+</varlistentry>
+
+<varlistentry>
<term><option>resource <replaceable>name</replaceable></option></term>
<listitem><para>
Configures a DRBD resource.
@@ -130,9 +146,9 @@
and may have
a <option>startup</option>,
a <option>syncer</option>,
+ a <option>handlers</option>,
a <option>net</option> and a <option>disk</option> section.
Required parameter in this section: <option>protocol</option>.
- Optional parameter: <option>incon-degr-cmd</option>.
</para>
</listitem>
</varlistentry>
@@ -175,7 +191,10 @@
<option>sndbuf-size</option>, <option>timeout</option>,
<option>connect-int</option>, <option>ping-int</option>,
<option>max-buffers</option>, <option>max-epoch-size</option>,
- <option>ko-count</option>, <option>on-disconnect</option>.
+ <option>ko-count</option>, <option>allow-two-primaries</option>,
+ <option>cram-hmac-alg</option>, <option>shared-secret</option>,
+ <option>after-sb-0pri</option>, <option>after-sb-1pri</option>,
+ <option>after-sb-2pri</option>
</para>
</listitem>
</varlistentry>
@@ -202,10 +221,23 @@
<manvolnum>8</manvolnum></citerefentry> for detailed description
of this section's parameters.
Optional parameters:
- <option>rate</option>, <option>group</option>, <option>al-extents</option>.
+ <option>rate</option>, <option>after</option>, <option>al-extents</option>.
</para>
</listitem>
</varlistentry>
+
+<varlistentry>
+ <term><option>handlers</option></term>
+ <listitem><para>
+ In this section can define handlers (executables) that are executed
+ by the DRBD system in response to certain events.
+ Optional parameters:
+ <option>pri-on-incon-degr</option>, <option>pri-lost-after-sb</option>,
+ <option>outdate-peer</option>.
+ </para>
+ </listitem>
+</varlistentry>
+
</variablelist>
</refsect2>
@@ -253,6 +285,19 @@
</varlistentry>
<varlistentry>
+ <term><option>usage-count <replaceable>val</replaceable></option></term>
+ <listitem>
+ <para>Please participate in
+ <ulink url="http://usage.drbd.org">
+ <citetitle>DRBD's online usage counter</citetitle></ulink>.
+ The most convenient way to do so
+ is to set this option to <option>yes</option>. Valid options are:
+ <option>yes</option>, <option>no</option> and <option>ask</option>.
+ </para>
+ </listitem>
+</varlistentry>
+
+<varlistentry>
<term><option>protocol <replaceable>prot-id</replaceable></option></term>
<listitem>
<para>On the TCP/IP link the specified <replaceable>protocol</replaceable>
@@ -365,6 +410,42 @@
</varlistentry>
<varlistentry>
+ <term><option>fencing <replaceable>fencing_policy</replaceable></option></term>
+ <listitem><para>
+ Under <option>fencing</option> we understand preventative
+ measures to avoid situations where both nodes are primary
+ and disconnected (AKA split brain).
+ </para>
+ <para>Valid fencing policies are:</para>
+ <variablelist>
+ <varlistentry><term><option>dont-care</option></term>
+ <listitem><para>
+ This is the default policy. No fencing actions are untertaken.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>resource-only</option></term>
+ <listitem><para>
+ If a node becomes a disconnected primary it tries to outdate
+ the peer's disk. This is done by calling the outdate-peer
+ handler. The handler is supposed to reach the other node over
+ alternative communication pathes and call 'drbdadm outdate
+ res' there.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>resource-and-stonith</option></term>
+ <listitem><para>
+ If a node becomes a disconnected primary it freezes all
+ its IO operations and calls its outdate-peer handler. The
+ outdate-peer hander is supposed to reach the peer over
+ alternative communicaton pathes and call 'drbdadm outdate
+ res' there. In case it can not reach the peer it should
+ stonith the peer. IO is resumed as soon as the situation
+ is resolved. In case your handler fails you can resume
+ IO with the <option>resume-io</option> command.
+ </para></listitem></varlistentry>
+ </variablelist>
+ </listitem>
+</varlistentry>
+
+<varlistentry>
<term><option>sndbuf-size <replaceable>size</replaceable></option></term>
<listitem><para>
<replaceable>size</replaceable> is size of the TCP socket send buffer.
@@ -427,35 +508,121 @@
</varlistentry>
<varlistentry>
- <term><option>ko-count <replaceable>count</replaceable></option></term>
+ <term><option>allow-two-primaries</option></term>
<listitem><para>
- In case the secondary node fails to complete a single write request
-for <replaceable>count</replaceable> times the
-<replaceable>timeout</replaceable>, it is expelled from the cluster.
-(I.e. the primary node goes into StandAlone mode.)
-The default is 0, which disables this feature.
+ With this option set you might make both nodes primary. You only should
+ use this options if you use a shared storage file system on top of
+ DRBD. At the time of writing the only ones are: OCFS2 and GFS. If you
+ use this option with any other filesystem you are goint to crash your
+ nodes and to corrupt your data!
</para></listitem>
</varlistentry>
<varlistentry>
- <term><option>on-disconnect <replaceable>handler</replaceable></option></term>
+ <term><option>cram-hmac-alg</option></term>
<listitem><para>
- When the connection to the peer is lost, DRBD can either
- go into stand alone mode, try to reconnect to the peer or
- freeze all further IO requests (think of an NFS hard mount).
- Valid handler specifiers are <option>stand_alone</option>,
- <option>reconnect</option> and <option>freeze_io</option>.
- The default handler is <option>reconnect</option>.
- </para>
- <para><option>stand_alone</option>: Do not reconnect, go into
- StandAlone state.</para>
- <para><option>reconnect</option>: Try to reconnect.</para>
- <para><option>freeze_io</option>: Try to reconnect, but freeze all
- IO until the connection is established again.</para>
- </listitem>
+ You need to specifying the HMAC algorithm to enable peer authentication
+ at all. It is strongly enouraged to use peer authentication. The HMAC
+ algorithm which will be used for the challenge response authentication
+ of the peer. You might specify any digest algorithm that is named in
+ /proc/crypto.
+ </para></listitem>
</varlistentry>
<varlistentry>
+ <term><option>shared-secret</option></term>
+ <listitem><para>
+ The shared secret used in peer authentication. May be up to 64 characters.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><option>after-sb-0pri </option><replaceable>policy</replaceable></term>
+ <listitem>
+ <para>
+ possible policies are:
+ </para>
+ <variablelist>
+ <varlistentry><term><option>disconnect</option></term>
+ <listitem><para>
+ No automatic resynchronisation, simply disconnect.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>discard-younger-primary</option></term>
+ <listitem><para>
+ Auto sync from the node that was primary before the split
+ brain situation happened.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>discard-older-primary</option></term>
+ <listitem><para>
+ Auto sync from the node that became primary as second during
+ the split brain situation.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>discard-least-changes</option></term>
+ <listitem><para>
+ Auto sync from the node that touched more blocks during the
+ split brain situation.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>discard-node-NODENAME</option></term>
+ <listitem><para>
+ Auto sync to the named node.
+ </para></listitem></varlistentry>
+ </variablelist>
+ </listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><option>after-sb-1pri </option><replaceable>policy</replaceable></term>
+ <listitem>
+ <para>
+ possible policies are:
+ </para>
+ <variablelist>
+ <varlistentry><term><option>disconnect</option></term>
+ <listitem><para>
+ No automatic resynchronisation, simply disconnect.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>consensus</option></term>
+ <listitem><para>
+ Discard the version of the secondary if the outcome
+ if the <option>after-sb-0pri</option> algorithm would also
+ destroy the current secondary's data. Otherwise disconnect.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>discard-secondary</option></term>
+ <listitem><para>
+ Discard the secondary's version.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>panic-primary</option></term>
+ <listitem><para>
+ Always honour the outcome of the <option>after-sb-0pri
+ </option> algorithm. In case it decides the the current
+ secondary has the right data, it panics the
+ current primary.
+ </para></listitem></varlistentry>
+ </variablelist>
+ </listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><option>after-sb-2pri </option><replaceable>policy</replaceable></term>
+ <listitem>
+ <para>
+ possible policies are:
+ </para>
+ <variablelist>
+ <varlistentry><term><option>disconnect</option></term>
+ <listitem><para>
+ No automatic resynchronisation, simply disconnect.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>panic</option></term>
+ <listitem><para>
+ Honour the outcome of the <option>after-sb-0pri</option>
+ policy and panic the other node.
+ </para></listitem></varlistentry>
+ </variablelist>
+ </listitem>
+</varlistentry>
+
+<varlistentry>
<term><option>wfc-timeout <replaceable>time</replaceable></option></term>
<listitem><para>Wait for connection timeout.
The init script <citerefentry><refentrytitle>drbd</refentrytitle>
@@ -493,13 +660,12 @@
</varlistentry>
<varlistentry>
- <term><option>group <replaceable>number</replaceable></option></term>
+ <term><option>after <replaceable>res-name</replaceable></option></term>
<listitem><para>
- Resynchronization of all devices in one group runs parallel.
- Groups are serialized in ascending order. You should avoid,
- that devices which lower devices share one and the same
- physical disk sync in parallel. The default group is 0. I.e. per
- default all devices sync parallel. Negative and positive numbers are allowed.
+ By default resynchronization of all devices would run in parallel.
+ By defining an sync-after dependency the resynchronisation of this
+ resource will start only if the resoruce <replaceable>res-name</replaceable>
+ is already in connected state (=finished its resynchronisation).
</para></listitem>
</varlistentry>
@@ -518,19 +684,32 @@
127. (Minimum: 7, Maximum: 3843)
</para>
</listitem>
-</varlistentry>
+<varlistentry>
+ <term><option>pri-on-incon-degr <replaceable>cmd</replaceable></option></term>
+ <listitem><para> This handler is called if the node is primary, degraded
+ and the local copy of the data is inconsistent.</para></listitem>
+ </varlistentry>
+
+<varlistentry>
+ <term><option>pri-lost-after-sb <replaceable>cmd</replaceable></option></term>
+ <listitem><para> The node is currently primary, but lost the after split
+ brain auto recovery procedure. As as consequence it should go away.
+ </para></listitem> </varlistentry>
+
+<varlistentry>
+ <term><option>outdate-peer <replaceable>cmd</replaceable></option></term>
+ <listitem><para> The handler is part of the <option>fencing</option>
+ mechanism. This handler is called in case the node needs to outdate the
+ peer's disk. It should use other communication pathes then DRBD's network
+ link. </para></listitem> </varlistentry>
+
</variablelist>
</refsect2>
</refsect1>
<refsect1>
-<title>Upgrade from DRBD Version 0.6.x</title>
-<simpara>...
-</simpara>
-</refsect1>
-<refsect1>
<title>Version</title>
-<simpara>This document is correct for version 0.7.15 of the DRBD distribution.
+<simpara>This document was revised version 8.0 of the DRBD distribution.
</simpara>
</refsect1>
<refsect1>
Modified: trunk/documentation/drbdadm.sgml
===================================================================
--- trunk/documentation/drbdadm.sgml 2006-04-06 11:39:24 UTC (rev 2135)
+++ trunk/documentation/drbdadm.sgml 2006-04-06 14:51:31 UTC (rev 2136)
@@ -31,9 +31,9 @@
<title>Description</title>
<para>
Drbdadm is the high level tool of the DRBD program suite. Drbdadm is to
- drbdsetup and drbdmeta what ifup/ifdown is to ifconfig. Drbdadm reads its
- configuration file and performs the specified commands by calling the drbdsetup
- program.
+ drbdsetup and drbdmeta what ifup/ifdown is to ifconfig. Drbdadm reads its
+ configuration file and performs the specified commands by calling the
+ drbdsetup and/or the drbdmeta program.
</para>
</refsect1>
<refsect1>
@@ -51,7 +51,7 @@
<replaceable>file</replaceable></term>
<listitem><para>
Specifies the configuration file drbdadm will use. If this parameter
- is not specified, drbdadm will look for <option>/etc/drbd-07.conf</option> and
+ is not specified, drbdadm will look for <option>/etc/drbd-08.conf</option> and
<option>/etc/drbd.conf</option>.
</para></listitem>
</varlistentry>
@@ -68,7 +68,8 @@
<replaceable>file</replaceable></term>
<listitem><para>
Specifies the full path to the drbdmeta program. If this option is
- omitted, drbdadm will look for /sbin/drbdmeta and ./drbdsetup.
+ omitted, drbdadm will look for <option>/sbin/drbdmeta</option> and
+ <option>./drbdsetup</option>.
</para></listitem>
</varlistentry>
</variablelist>
@@ -232,12 +233,53 @@
be used to check the configuration file for syntactical correctness.
</para></listitem>
</varlistentry>
+
+ <varlistentry>
+ <term>outdate</term>
+ <listitem><para>
+ Used to mark the node's data as outdated. Usually used by the
+ peer's oudate-peer handler.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>pause-sync</term>
+ <listitem><para>
+ Temporarily suspend an ongoing resynchronisation by setting the
+ local pause flag. Resync only progresses if neighter the local
+ nor the remote pause flag is set. It might be desirable to
+ postpone DRBD's resynchronisation after eventual
+ resynchronisation of the backing storage's RAID setup.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>resume-sync</term>
+ <listitem><para>
+ Unset the local sync pause flag.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>dstate</term>
+ <listitem><para>
+ Show the current state of the backing storeage devices. (local/peer)
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>hidden-commands</term>
+ <listitem><para>
+ Shows all on purpose undocumented commands.
+ </para></listitem>
+ </varlistentry>
+
</variablelist>
</refsect1>
<refsect1>
<title>Version</title>
<simpara>
- This document is correct for version 0.7.15 of the DRBD distribution.
+ This document is correct for version 8.0 the DRBD distribution.
</simpara>
</refsect1>
@@ -270,6 +312,8 @@
<manvolnum>8</manvolnum></citerefentry>
<citerefentry><refentrytitle>drbdsetup</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>drbdmeta</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>
<ulink url="http://www.drbd.org/">
<citetitle>DRBD Homepage</citetitle></ulink>
</para>
Modified: trunk/documentation/drbdsetup.sgml
===================================================================
--- trunk/documentation/drbdsetup.sgml 2006-04-06 11:39:24 UTC (rev 2135)
+++ trunk/documentation/drbdsetup.sgml 2006-04-06 14:51:31 UTC (rev 2136)
@@ -22,7 +22,8 @@
<arg choice="req"><replaceable>meta_data_index</replaceable></arg>
<arg>-d<arg choice="req"><replaceable>size</replaceable></arg></arg>
<arg>-e<arg choice="req"><replaceable>err_handler</replaceable></arg></arg>
- <arg>-b</arg>
+ <arg>-f<arg choice="req"><replaceable>fencing_policy</replaceable></arg></arg>
+
</cmdsynopsis>
<cmdsynopsis>
<command>drbdsetup</command>
@@ -160,6 +161,16 @@
<arg choice="req"><replaceable>device</replaceable></arg>
<arg choice="req">show</arg>
</cmdsynopsis>
+ <cmdsynopsis>
+ <command>drbdsetup</command>
+ <arg choice="req"><replaceable>device</replaceable></arg>
+ <arg choice="req">suspend-io</arg>
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <command>drbdsetup</command>
+ <arg choice="req"><replaceable>device</replaceable></arg>
+ <arg choice="req">resume-io</arg>
+ </cmdsynopsis>
</refsynopsisdiv>
<refsect1>
@@ -233,19 +244,43 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><option>-b</option>,
- <option>--split-brain-fix</option></term>
+ <term><option>-f</option>,
+ <option>--fencing <replaceable>fencing_policy</replaceable></option></term>
<listitem>
<para>
- With that options set a primary node that looses contact to its
- its peer tries to outdate the peer. (This communication
- may happen over alternative communication pathes, see
- the <option>outdate-peer</option> handler). An outdated node
- refuses to become primary (although that can be overruled
- by an administrator).
- This mechanism helps to circumvent after split brain
- situations before they happen.
+ Under <option>fencing</option> we understand preventative
+ measures to avoid situations where both nodes are primary
+ and disconnected (AKA split brain).
</para>
+ <para>
+ Valid fencing policies are:
+ </para>
+
+ <variablelist>
+ <varlistentry><term><option>dont-care</option></term>
+ <listitem><para>
+ This is the default policy. No fencing actions are untertaken.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>resource-only</option></term>
+ <listitem><para>
+ If a node becomes a disconnected primary it tries to outdate
+ the peer's disk. This is done by calling the outdate-peer
+ handler. The handler is supposed to reach the other node over
+ alternative communication pathes and call 'drbdadm outdate
+ res' there.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>resource-and-stonith</option></term>
+ <listitem><para>
+ If a node becomes a disconnected primary it freezes all
+ its IO operations and calls its outdate-peer handler. The
+ outdate-peer hander is supposed to reach the peer over
+ alternative communicaton pathes and call 'drbdadm outdate
+ res' there. In case it can not reach the peer it should
+ stonith the peer. IO is resumed as soon as the situation
+ is resolved. In case your handler fails you can resume
+ IO with the <option>resume-io</option> command.
+ </para></listitem></varlistentry>
+ </variablelist>
</listitem>
</varlistentry>
</variablelist>
@@ -414,7 +449,7 @@
</varlistentry>
<varlistentry>
<term><option>-A</option>,
- <option>--asb-0p-policy </option><replaceable>asb-0p-policy</replaceable></term>
+ <option>--after-sb-0pri </option><replaceable>asb-0p-policy</replaceable></term>
<listitem>
<para>
possible policies are:
@@ -449,7 +484,7 @@
<varlistentry>
<term><option>-B</option>,
- <option>--asb-1p-policy </option><replaceable>asb-1p-policy</replaceable></term>
+ <option>--after-sb-1pri </option><replaceable>asb-1p-policy</replaceable></term>
<listitem>
<para>
possible policies are:
@@ -482,7 +517,7 @@
<varlistentry>
<term><option>-C</option>,
- <option>--asb-2p-policy </option><replaceable>asb-2p-policy</replaceable></term>
+ <option>--after-sb-2pri </option><replaceable>asb-2p-policy</replaceable></term>
<listitem>
<para>
possible policies are:
@@ -737,7 +772,7 @@
<para>
Temporarily suspend an ongoing resynchronisation by setting the local
pause flag. Resync only progresses if neighter the local nor the
- remote pause flag is set.It might be desirable to postpone DRBD's
+ remote pause flag is set. It might be desirable to postpone DRBD's
resynchronisation after eventual resynchronisation of the backing
storage's RAID setup.
</para>
@@ -753,8 +788,7 @@
<para>
Mark the data on the local backing storage as outdated. An outdated
device refuses to become primary. This is used in conjuction with
- <option>split-brain-fix</option> and by the peer's outdate-peer
- handler.
+ <option>fencing</option> and by the peer's outdate-peer handler.
</para>
</refsect2>
<refsect2>
@@ -776,6 +810,23 @@
<replaceable>device</replaceable>.
</para>
</refsect2>
+ <refsect2>
+ <title>suspend-io</title>
+ <para>
+ This command is of no apparent use and just provided for the sake
+ of completeness.
+ </para>
+ </refsect2>
+ <refsect2>
+ <title>resume-io</title>
+ <para>
+ In the the outdate-peer handler fails to stonith the peer node,
+ and your <option>fencing</option> policy is set to
+ resource-and-stonith, you can unfreeze IO operations with this
+ command.
+ </para>
+ </refsect2>
+
</refsect1>
<refsect1>
<title>Examples</title>
More information about the drbd-cvs
mailing list