[DRBD-cvs] documentation by phil; Lars Ellenberg's last minute patch befor...

drbd-user@lists.linbit.com drbd-user@lists.linbit.com
Sun, 8 Feb 2004 20:40:02 +0100 (CET)


DRBD CVS committal

Author  : phil
Project : drbd
Module  : documentation

Dir     : drbd/documentation/HOWTO


Modified Files:
	DRBD-HOWTO.sgml 


Log Message:
Lars Ellenberg's last minute patch before 0.6.11 depatures.

===================================================================
RCS file: /var/lib/cvs/drbd/drbd/documentation/HOWTO/DRBD-HOWTO.sgml,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- DRBD-HOWTO.sgml	6 Feb 2004 08:50:14 -0000	1.10
+++ DRBD-HOWTO.sgml	8 Feb 2004 19:39:57 -0000	1.11
@@ -32,9 +32,9 @@
 
 
        <sect2>
-       <title>What is the scope of drbd, what else do I need to build HA clusters?</title>
+       <title>What is the scope of DRBD, what else do I need to build HA clusters?</title>
 
-       <para>Drbd takes over the data, writes it to the local disk and sends
+       <para>DRBD takes over the data, writes it to the local disk and sends
 it to the other host. On the other host, it takes it to the disk there.</para>
 
        <para>The other components needed are a cluster membership service, which is
@@ -61,7 +61,7 @@
 	<sect2>
 	<title>How does it work ?</title>
 
-	<para>Each device (drbd provides more than one of these devices) has a state,
+	<para>Each device (DRBD provides more than one of these devices) has a state,
 which can be 'primary' or 'secondary'. On the node with the primary device
 the application is supposed to run and to access the device (/dev/nbX).
 Every write is sent to the local 'lower level block device' and to the
@@ -80,7 +80,7 @@
          </sect2>
 
 	 <sect2>
-	 <title>How is drbd related to current HA clusters ?</title>
+	 <title>How is DRBD related to current HA clusters ?</title>
 	 
 
 	 <para>To my knowledge most current HA clusters (HP, Compaq, ...) are using
@@ -88,14 +88,14 @@
 than one node (This can be done with shared SCSI busses or Fibre Channel).
          </para>
 
-	 <para>Drbd gives you about the same semantics as a
+	 <para>DRBD gives you about the same semantics as a
 shared device, but it does not need any uncommon hardware.
 It runs on top of IP networks, which are to my impression less expensive
 than special storage networks.
         </para>
 
 
-	<para>Currently drbd grants read-write access only to one node at a time, which is
+	<para>Currently DRBD grants read-write access only to one node at a time, which is
 sufficient for the usual fail-over HA cluster.
 Although it is currently not on my task list, it would not be a great
 effort to allow both nodes read-write access. This would be useful
@@ -115,10 +115,10 @@
 <ulink url="http://www.drbd.org/">http://www.drbd.org/</ulink>
         </para>
 	<para>
-	The latest developement version is higher than 0.6.9 or 0.7-pre2 
+	The latest development version is higher than 0.6.9 or 0.7-pre2 
 	[2003-Nov-27] and is available via cvs.
 	More information on above url.
-	Or just do with cvs comand line interface:
+	Or just do with cvs command line interface:
 	<programlisting>
 	cvs -d :pserver:anonymous@cvs.drbd.org:/var/lib/cvs/drbd login
 	cvs -d :pserver:anonymous@cvs.drbd.org:/var/lib/cvs/drbd co drbd
@@ -198,10 +198,10 @@
            <sect2>
 	   <title>drbdsetup</title>
 
-<para>drbsetup is the low level configuration tool of the drbd program suite.
-You can use it to associate drbd devices with lower level block devices, set up
-drbd device pairs to mirror their low level block devices, and inspect configurations
-of running drbd devices.
+<para>drbdsetup is the low level configuration tool of the DRBD program suite.
+You can use it to associate DRBD devices with lower level block devices, set up
+DRBD device pairs to mirror their low level block devices, and inspect configurations
+of running DRBD devices.
 </para>
 
            </sect2>
@@ -215,14 +215,14 @@
 <programlisting>
 $ insmod drbd.o
 $ drbdsetup /dev/nb0 disk /dev/hdc6
-$ drbdsetup /dev/nb0 net 10.0.0.20 10.0.0.10 B
+$ drbdsetup /dev/nb0 net 10.0.0.20 10.0.0.10 C
 </programlisting>
 
 <para>On node1 you would issue the following commands:</para>
 <programlisting>
 $ insmod drbd.o
 $ drbdsetup /dev/nb0 disk /dev/hdc6
-$ drbdsetup /dev/nb0 net 10.0.0.10 10.0.0.20 B
+$ drbdsetup /dev/nb0 net 10.0.0.10 10.0.0.20 C
 $ drbdsetup /dev/nb0 primary
 </programlisting>
 
@@ -234,7 +234,7 @@
 </programlisting>
 
 <para>
-In the example above, the "B" protocol is used.  drbd allows you to select
+In the example above, the "C" protocol is used.  DRBD allows you to select
 the protocol which controls how data is written to the secondary device.
 </para>
 
@@ -250,21 +250,26 @@
 <tbody>
 <row>
   <entry align="center">A</entry>
-  <entry>A write operation is complete as soon as the data is written to disk and sent to the network.</entry>
+  <entry>A write operation is complete as soon as the data is
+  written to disk and sent to the network.
+  Intended for high latency long-distance links. 
+  </entry>
 </row>
 <row>
   <entry align="center">B</entry>
-  <entry>A write operation is complete as soon as a reception acknowledgement arrives.</entry>
+  <entry>A write operation is complete as soon as a reception acknowledgment arrives.</entry>
 </row>
 <row>
   <entry align="center">C</entry>
-  <entry>A write operation is complete as soon as a write acknowledgement arrives.</entry>
+  <entry>A write operation is complete as soon as a write acknowledgment arrives.
+  	 This is the only protocol which preserves transactional semantics,
+	 and is highly recommended.</entry>
 </row>
 </tbody>
 </tgroup>
 </table>
 
-<para> There are also additional paramaters you can pass to the disk and
+<para> There are also additional parameters you can pass to the disk and
 net options.  See the drbdsetup man page for additional information</para>
 
 
@@ -278,10 +283,10 @@
            <sect2>
 	   <title>drbd.conf</title>
 
-<para> In the previous section, we went over using drbdsteup.  drbd also
+<para> In the previous section, we went over using drbdsetup.  DRBD also
 allows you to setup everything in a drbd.conf file.
 By correctly configuring this file and using the init.d/drbd script you
-can easily make drbd come up correctly when a machine boots up.
+can easily make DRBD come up correctly when a machine boots up.
 </para>
            </sect2>
 
@@ -297,7 +302,7 @@
 
 <programlisting>
 resource drbd0 {
-  protocol=B
+  protocol=C
   fsck-cmd=fsck.ext2 -p -y
 
   on thost1 {
@@ -343,7 +348,7 @@
 $ mount /dev/nb0 /mnt/disk
 </programlisting>
 
-<para> At this point, you have now created a mirror using drbd.  Congrats.
+<para> At this point, you have now created a mirror using DRBD.  Congrats.
 To move ahead with creating a highly available failover system, look into the the scripts subdirectory and integrate with the heartbeat software available at <ulink url="http://linux-ha.org">linux-ha.org</ulink>
        </para>
 
@@ -365,13 +370,13 @@
        </sect2>
 
        <sect2>
-       <title>drbd heartbeat scripts</title>
-       <para>drbd comes with 2 scripts that make it very easy to 
+       <title>DRBD heartbeat scripts</title>
+       <para>DRBD comes with 2 scripts that make it very easy to 
 integrate with the heartbeat package.  The first script is drbd,
 and it installs to the /etc/rc.d/init.d/drbd.  It is intended to be
-used to start up drbd services upon boot.  The second script is datadisk,
+used to start up DRBD services upon boot.  The second script is datadisk,
 and it installs Into /etc/ha.d/resource.d/datadisk.  The datadisk script
-handles switching a drbd device from secondary to primary state, and it
+handles switching a DRBD device from secondary to primary state, and it
 is called from the /etc/ha.d/haresources file.</para>
        </sect2>
 
@@ -380,7 +385,7 @@
        <para>This example will build upon the previous example from the
 drbd.conf section.  In that example, we have 2 machines named thost1
 (10.1.1.31) and thost2 (10.1.1.32).  In this example, we will st up
-a web server which has it's html pages stored on a shared drbd device.
+a web server which has it's html pages stored on a shared DRBD device.
 Eventually, you'll want all of these steps to happen automatically, but
 for this HOWTO I'll just go over the steps to do things manually.</para>
 
@@ -388,7 +393,7 @@
 I'm not going to go into setting up the heartbeat package, I assume if
 you have gotten this far, you have heartbeat already running.  Assuming
 heartbeat is running, and your drbd.conf file is correctly configured, the
-first thing you need to do is start up drbd on both nodes.  On thost1,
+first thing you need to do is start up DRBD on both nodes.  On thost1,
 issue the following commands:</para>
 
 <programlisting>
@@ -403,11 +408,11 @@
 $ /etc/rc.d/init.d/drbd start
 </programlisting>
 
-       <para> At this point drbd should be running.  Make sure drbd
+       <para> At this point DRBD should be running.  Make sure DRBD
 is the primary interface on thost1, and then go ahead and mount the
 disk.  If you haven't done so already, create a file system on the device.
 Lastly, configure the web server on both machines to point to the location
-you will mount the drbd device to become document root for your web
+you will mount the DRBD device to become document root for your web
 server.
 <programlisting>
 [root@10-0-1-31 ha.d]# cat /proc/drbd
@@ -431,9 +436,9 @@
 
       <para>The 10.0.10.10 address is the IP address attached to the web
 server.  See the heartbeat documentation for more info on that.  Basically,
-that line tells the heartbeat software to run the /etc/ha.d/resource.d/datadisk script with a paramater of drbd0.  In the event of a failure, the datadisk
-script will run on the secondary node, and switch the drbd0 drbd device from
-seconday to primary state.</para>
+that line tells the heartbeat software to run the /etc/ha.d/resource.d/datadisk script with a parameter of drbd0.  In the event of a failure, the datadisk
+script will run on the secondary node, and switch the drbd0 DRBD device from
+secondary to primary state.</para>
 
       <para>You also need to edit the /etc/fstab file on both machines.
 It is important to configure this device to NOT mount upon boot.  The noauto
@@ -453,7 +458,7 @@
 will launch the web server and tie it to the virtual interface.  At this
 point, you can power off thost1.  If all goes well, in about 30 seconds,
 thost2 will take over and launch the web server.  If that test works,
-go ahead and setup drbd and heartbeat to start upon boot, and sit
+go ahead and setup DRBD and heartbeat to start upon boot, and sit
 back and enjoy the high availability!</para>
 
 
@@ -465,7 +470,7 @@
         <para>This short example will demonstrate some of the things
  you need to take into account when failing over services which
  require state information to be kept.  We will set up an NFS server
- which exports a filesystem stored on a shared drbd device.  Again,
+ which exports a filesystem stored on a shared DRBD device.  Again,
  we'll just consider the steps to do things manually</para>
  
         <para>We're going to assume that you've set up the heartbeat
@@ -485,8 +490,8 @@
  $ /etc/rc.d/init.d/drbd start
  </programlisting>
  
-        <para> At this point drbd should be running.  Make sure drbd is the
- primary interface on thost1.  We'll assume that you will be mounting the drbd
+        <para> At this point DRBD should be running.  Make sure DRBD is the
+ primary interface on thost1.  We'll assume that you will be mounting the DRBD
  device at /mnt/disk.  At least on Red Hat and SuSE based systems, the state
  information for the NFS server is in /var/lib/nfs, and we will want this state
  information to be found on the shared device. So, on thost1, with the NFS
@@ -539,9 +544,9 @@
        <para>The 10.0.10.10 address is the IP address attached to the NFS
  server.  See the heartbeat documentation for more info on that.  Basically,
  that line tells the heartbeat software to run the /etc/ha.d/resource.d/datadisk
- script with a paramater of drbd0.  In the event of a failure, the datadisk
- script will run on the secondary node, and switch the drbd0 drbd device from
- seconday to primary state.</para>
+ script with a parameter of drbd0.  In the event of a failure, the datadisk
+ script will run on the secondary node, and switch the drbd0 DRBD device from
+ secondary to primary state.</para>
  
        <para>You also need to edit the /etc/fstab file on both machines.  It is
  important to configure this device to NOT mount upon boot.  The noauto flag
@@ -577,9 +582,9 @@
        <title>How do timeouts work?</title>
        <para>
           The primary node expects a reaction to some packet within a
-   timeframe (this timeframe is adjustable by the --timeout option
+   time frame (this time frame is adjustable by the --timeout option
    of drbdsetup). In case the timeout is not met by the other node
-   the primary cuts the connection and tries to reastablish a
+   the primary cuts the connection and tries to reestablish a
    connection.
        </para>
 
@@ -590,8 +595,8 @@
        <para>
        In case the other node dies, your primary node will sit there and
      block all applications which are writing to the DRBD device. Basically
-     it takes the time of the timeout until it desides that the other node
-     is dead. Thus your applications my be blocked for this time.
+     it takes the time of the timeout until it decides that the other node
+     is dead. Thus your applications may be blocked for this time.
        </para>
        </sect2>
 
@@ -603,20 +608,10 @@
        </sect2>
 
        <sect2>
-       <title>What are "postpone packets"?</title>
-       <para>
-     To improve the situation I had the idea of "postpone that deadline"
-     packets. These are sent by the secondary node as soon as it realizes
-     that it will miss the timeout.
-       </para>
-       </sect2>
-
-       <sect2>
        <title>What should you do if you see this timeout/resync/connect pattern?</title>
        <para>
             Increase the timeout. (Since connect-int and pint-int need to
-     be greater than the timout increase them as well)
-
+     be greater than the timeout increase them as well)
        </para>
        </sect2>
 </sect1>
@@ -629,6 +624,7 @@
        <para>
        Need to write a paragraph on what to do if there is a message
        "transfer log too small" in the syslog.       
+       Basically you only need to increase the tl-size value in drbd.conf.
        </para> 
        </sect2>
        <sect2>
@@ -647,9 +643,10 @@
        <sect2>
        <title>Mailing List</title>
        <para>
-       The best place
-       to address your questions is to the DRBD-devel mailing list.  To
-       subscribe, visit <ulink url="http://lists.sourceforge.net/lists/listinfo/drbd-devel">http://lists.sourceforge.net/lists/listinfo/drbd-devel</ulink>.   Make sure you search the <ulink url="http://sourceforge.net/mailarchive/forum.php?forum_id=6513"> arhives </ulink> before you post.  
+       The best place to address your questions is to the
+       drbd-user mailing list. This is a moderated list, so please
+       <ulink url="http://lists.linbit.com/mailman/listinfo/drbd-user">subscribe</ulink>.
+       Make sure you search the <ulink url="http://drbd.org/">archives</ulink> before you post.  
        </para>
        </sect2>
 </sect1>