[DRBD-cvs] svn commit by phil - r2639 - in trunk: documentation
scripts user - * Removed some traces of the
"disable-io-hints" option.
drbd-cvs at lists.linbit.com
drbd-cvs at lists.linbit.com
Thu Dec 21 15:31:35 CET 2006
Author: phil
Date: 2006-12-21 15:31:33 +0100 (Thu, 21 Dec 2006)
New Revision: 2639
Modified:
trunk/documentation/drbd.conf.sgml
trunk/scripts/drbd.conf
trunk/user/drbdadm_main.c
trunk/user/drbdadm_parser.h
trunk/user/drbdadm_scanner.fl
Log:
* Removed some traces of the "disable-io-hints" option.
* Updated the drbd.conf manpage.
Modified: trunk/documentation/drbd.conf.sgml
===================================================================
--- trunk/documentation/drbd.conf.sgml 2006-12-20 14:41:51 UTC (rev 2638)
+++ trunk/documentation/drbd.conf.sgml 2006-12-21 14:31:33 UTC (rev 2639)
@@ -161,7 +161,8 @@
<replaceable>host-name</replaceable> is mandatory and must match the
linux hostname (uname -n) of one of the nodes.
Required parameters in this section: <option>device</option>,
- <option>disk</option>, <option>address</option>, <option>meta-disk</option>.
+ <option>disk</option>, <option>address</option>, <option>meta-disk</option>,
+ <option>flexible-meta-disk</option>.
</para>
</listitem>
</varlistentry>
@@ -175,7 +176,7 @@
<manvolnum>8</manvolnum></citerefentry> for detailed description of
the parameters.
Optional parameter: <option>on-io-error</option>,
- <option>size</option>.
+ <option>size</option>, <option>fencing</option>, <option>use-bmbv</option>.
</para>
</listitem>
</varlistentry>
@@ -190,6 +191,7 @@
Optional parameters:
<option>sndbuf-size</option>, <option>timeout</option>,
<option>connect-int</option>, <option>ping-int</option>,
+ <option>ping-timeout</option>,
<option>max-buffers</option>, <option>max-epoch-size</option>,
<option>ko-count</option>, <option>allow-two-primaries</option>,
<option>cram-hmac-alg</option>, <option>shared-secret</option>,
@@ -233,7 +235,8 @@
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>.
+ <option>pri-lost</option>, <option>outdate-peer</option>,
+ <option>local-io-error</option>.
</para>
</listitem>
</varlistentry>
@@ -252,13 +255,10 @@
<replaceable>count</replaceable> may be a number from 1 to 255.
</para>
<para>Use <replaceable>minor-count</replaceable>
- if you want to define more resources later without reloading the DRBD kernel
- module. Per default the module loads with exactly as many devices as
- configured in this file. Built-in default for module is 2, and 8 for
- monolithic kernel. For monolithic kernel
- <replaceable>minor-count</replaceable> is ignored, and you have to pass a
- kernel boot parameter <replaceable>drbd.minor_count=count</replaceable> to
- change the default.</para>
+ if you want to define massively more resources later without reloading
+ the DRBD kernel
+ module. Per default the module loads with 11 more than you have currently
+ in your config but at least 32.
</listitem>
</varlistentry>
@@ -375,12 +375,18 @@
<varlistentry>
<term><option>meta-disk <replaceable>internal</replaceable></option></term>
- <term><option>meta-disk <replaceable>device
- [index]</replaceable></option></term>
+ <term><option>flexible-meta-disk <replaceable>internal</replaceable></option>
+ </term>
+ <term><option>meta-disk <replaceable>device [index]</replaceable></option>
+ </term>
+ <term><option>flexible-meta-disk <replaceable>device </replaceable></option>
+ </term>
<listitem><para>
- internal means, that the last 128 MB of the lower device are used to store
+ internal means, that the last part of the backing device are used to store
the meta-data. You must not use <replaceable>[index]</replaceable> with
- internal.
+ internal. Note: Regardless if you use the <option>meta-disk</option> or
+ the <option>flexible-meta-disk</option> keyword, it will always be of
+ the size needed for the remaining storage size.
</para>
<para>
You can use a single block <replaceable>device</replaceable> to store
@@ -389,6 +395,16 @@
for two different resources. In this case the meta-disk
would need to be at least 256 MB in size.
</para>
+
+ <para>
+ With the <option>flexible-meta-disk</option> keyword you specify
+ a block device as meta-data storage. You usually use this whith LVM,
+ which allows you to have many variable sized block devices.
+ The required size of the meta-disk block device is
+ 36kB + Backing-Storage-size / 32k. Round this number to the next 4kb
+ boundary up and you have the exact size.
+ Rule of the thumb: 32kByte per 1GByte of storage, round up to the next
+ MB.</para>
</listitem>
</varlistentry>
@@ -399,11 +415,13 @@
device reports io-error to the upper layers.
</para>
<para>
- <replaceable>handler</replaceable> may be pass_on, panic, or detach.
+ <replaceable>handler</replaceable> may be pass_on, call-local-io-error
+ or detach.
</para>
<para>pass_on: Report the io-error to the upper layers. On Primary report
it to the mounted file system. On Secondary ignore it.</para>
- <para>panic: The node leaves the cluster by doing a kernel panic.</para>
+ <para>call-local-io-error: Thall the handler script
+ <option>local-io-error</option>.</para>
<para>detach: The node drops its low level device, and continues in disk
less mode.</para>
</listitem>
@@ -446,6 +464,25 @@
</varlistentry>
<varlistentry>
+ <term><option>use-bmbv</option></term>
+ <listitem>
+ <para>
+ In case the backing storage's driver has a merge_bvec_fn() function
+ (At time of writing the only known drivers which have such a function
+ are: md (software raid driver), dm (device mapper - LVM) and DRBD
+ itself) drbd has to pretend that it can only process IO requests in
+ units not lager than 4kByte.</para>
+ <para>
+ To get best performance out of DRBD on top of software raid (or any
+ other driver with a merge_bvec_fn() function) you might enable this
+ function, iff you know for sure that the merge_bvec_fn() function will
+ deliver the same results on all nodes of your cluster. I.e. the
+ physical disks of the software raid are of the exact same type. USE
+ THIS OPTION ONLY IF YOU KNOW WHAT YOU ARE DOING.</para>
+ </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.
@@ -488,6 +525,15 @@
</varlistentry>
<varlistentry>
+ <term><option>ping-timeout <replaceable>time</replaceable></option></term>
+ <listitem><para>
+ The time the peer has time to answer to a keep-alive packet, it. In case
+ the peer's reply is not received within this time period, it is
+ considered as dead. The default is 500ms, the default unit is 100ms.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
<term><option>max-buffers <replaceable>number</replaceable></option></term>
<listitem><para>
Maximal number of requests to be allocated by DRBD. Unit is PAGE_SIZE,
@@ -500,6 +546,17 @@
</varlistentry>
<varlistentry>
+ <term><option>ko-count <replaceable>number</replaceable></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.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
<term><option>max-epoch-size <replaceable>number</replaceable></option></term>
<listitem><para>
The highest number of data blocks between two write barriers.
@@ -602,16 +659,26 @@
if the <option>after-sb-0pri</option> algorithm would also
destroy the current secondary's data. Otherwise disconnect.
</para></listitem></varlistentry>
+ <varlistentry><term><option>violently-as0p</option></term>
+ <listitem><para>
+ Always take the decission of the <option>after-sb-0pri</option>
+ algorithm. Even if that causes case an erratic change of
+ the primarie's view of the data. This is only usefull if
+ you use an 1node FS (i.e. not OCFS2 or GFS) with the
+ allow-two-primaries flag, _AND_ you really know what you
+ are doing. This is DANGEROUS and MAY CRASH YOUR MACHINE
+ if you have a FS mounted on the primary node.
+ </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>
+ <varlistentry><term><option>call-pri-lost-after-sb</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.
+ secondary has the right data, it calls the "pri-lost-after-sb"
+ handler on the current primary.
</para></listitem></varlistentry>
</variablelist>
</listitem>
@@ -628,16 +695,55 @@
<listitem><para>
No automatic resynchronisation, simply disconnect.
</para></listitem></varlistentry>
- <varlistentry><term><option>panic</option></term>
+ <varlistentry><term><option>violently-as0p</option></term>
+ <listitem><para>
+ Always take the decission of the <option>after-sb-0pri</option>
+ algorithm. Even if that causes case an erratic change of
+ the primarie's view of the data. This is only usefull if
+ you use an 1node FS (i.e. not OCFS2 or GFS) with the
+ allow-two-primaries flag, _AND_ you really know what you
+ are doing. This is DANGEROUS and MAY CRASH YOUR MACHINE
+ if you have a FS mounted on the primary node.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>call-pri-lost-after-sb</option></term>
<listitem><para>
- Honour the outcome of the <option>after-sb-0pri</option>
- policy and panic the other node.
+ Call the "pri-lost-after-sb" helper program on one of the
+ machines. This program is expected to reboot the
+ machine. (I.e. make it secondary.)
</para></listitem></varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
+ <term><option>rr-conflict </option><replaceable>policy</replaceable></term>
+ <listitem>
+ <para>
+ To solve the cases when the outcome of the resync decission is
+ incompatible to the current role assignment in the cluster.
+ </para>
+ <variablelist>
+ <varlistentry><term><option>disconnect</option></term>
+ <listitem><para>
+ No automatic resynchronisation, simply disconnect.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>violently</option></term>
+ <listitem><para>
+ Sync to the primary node is allowed, violating the
+ assumption that data on a block device is stable for one
+ of the nodes. DANGEROUS, DO NOT USE.
+ </para></listitem></varlistentry>
+ <varlistentry><term><option>call-pri-lost</option></term>
+ <listitem><para>
+ Call the "pri-lost" helper program on one of the
+ machines. This program is expected to reboot the
+ machine. (I.e. make it secondary.)
+ </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>
@@ -713,12 +819,24 @@
</para></listitem> </varlistentry>
<varlistentry>
+ <term><option>pri-lost <replaceable>cmd</replaceable></option></term>
+ <listitem><para> The node is currently primary, but DRBD's algorithm
+ thinks, that it should become sync target, as consequence it should
+ give up its primary state.
+ </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>
+<varlistentry>
+ <term><option>local-io-error <replaceable>cmd</replaceable></option></term>
+ <listitem><para> DRBD got an IO error from the local IO subsystem.
+ </para></listitem> </varlistentry>
+
</variablelist>
</refsect2>
</refsect1>
@@ -741,7 +859,7 @@
<refsect1>
<title>Copyright</title>
<simpara>
-Copyright (c) 2001-2005 Philipp Reisner. This is free software;
+Copyright (c) 2001-2006 Philipp Reisner. This is free software;
see the source for copying conditions. There is NO warranty;
not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
</simpara>
Modified: trunk/scripts/drbd.conf
===================================================================
--- trunk/scripts/drbd.conf 2006-12-20 14:41:51 UTC (rev 2638)
+++ trunk/scripts/drbd.conf 2006-12-21 14:31:33 UTC (rev 2639)
@@ -310,7 +310,7 @@
# have a FS mounted on the primary node.
# "discard-secondary"
# discard the version of the secondary.
- # "panic-primary" Always honour the outcome of the "after-sb-0pri"
+ # "call-pri-lost-after-sb" Always honour the outcome of the "after-sb-0pri"
# algorithm. In case it decides the the current
# secondary has the right data, it panics the
# current primary.
@@ -321,8 +321,9 @@
# the "after-sb-2pri" option.
# "disconnect" ... Go to StandAlone mode on both sides.
# "violently-as0p" Always take the decission of the "after-sb-0pri".
- # "panic" ... Honor the outcome of the "after-sb-0pri" algorithm
- # and panic the other node.
+ # "call-pri-lost-after-sb" ... Honor the outcome of the "after-sb-0pri"
+ # algorithm and panic the other node.
+
after-sb-2pri disconnect;
# To solve the cases when the outcome of the resync descissions is
Modified: trunk/user/drbdadm_main.c
===================================================================
--- trunk/user/drbdadm_main.c 2006-12-20 14:41:51 UTC (rev 2638)
+++ trunk/user/drbdadm_main.c 2006-12-21 14:31:33 UTC (rev 2639)
@@ -405,7 +405,6 @@
{
int mc=global_options.minor_count;
- if(global_options.disable_io_hints) printf("disable_io_hints=1 ");
if( mc == 0) mc = highest_minor+11;
if( mc < 32) mc = 32;
printf("minor_count=%d\n",mc);
Modified: trunk/user/drbdadm_parser.h
===================================================================
--- trunk/user/drbdadm_parser.h 2006-12-20 14:41:51 UTC (rev 2638)
+++ trunk/user/drbdadm_parser.h 2006-12-21 14:31:33 UTC (rev 2639)
@@ -54,7 +54,6 @@
TK_SKIP,
TK_SYNCER,
TK_STARTUP,
- TK_DISABLE_IO_HINTS,
TK_DISABLE_IP_VERIFICATION,
TK_DIALOG_REFRESH,
TK_PROTOCOL,
Modified: trunk/user/drbdadm_scanner.fl
===================================================================
--- trunk/user/drbdadm_scanner.fl 2006-12-20 14:41:51 UTC (rev 2638)
+++ trunk/user/drbdadm_scanner.fl 2006-12-21 14:31:33 UTC (rev 2639)
@@ -55,7 +55,6 @@
handlers { DP; return TK_HANDLER; }
protocol { DP; return TK_PROTOCOL; }
minor-count { DP; return TK_MINOR_COUNT; }
-disable-io-hints { DP; return TK_DISABLE_IO_HINTS; }
disable-ip-verification { DP; return TK_DISABLE_IP_VERIFICATION;}
dialog-refresh { DP; return TK_DIALOG_REFRESH; }
resource { DP; return TK_RESOURCE; }
More information about the drbd-cvs
mailing list