[DRBD-user] Bug or feature: *-wfc-timeout ignored?

Heiko Schlittermann hs at schlittermann.de
Fri Nov 3 18:19:44 CET 2006

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


Philipp Reisner <philipp.reisner at linbit.com> (Do 02 Nov 2006 14:04:31 CET):
> Am Montag, 30. Oktober 2006 12:20 schrieb Heiko Schlittermann:
> > Hello,
> >
> > google didn't help... :-(
> >
> > Could please somebody confirm that some
> >
> >
> >     common {
> > 	startup {
> > 	    wfc-timeout 120;
> > 	    degr-wfc-timeout 60;
> > 	}
> >     }
> >
> > is ignored (8.0pre5)
> >
> > If I attach the startup options directly to some ressource,
> > it works.  But according docs it's not nessasary.
> >
> > I assume a bug in drbdadm_main.c
> >
> 
> Well, yes right. Altough, I can not reproduce it here.
> Fortunately we have code in drbdadm to debug the "common-propagation".
> do a dump of you fconfig first:
...

invoke-rc.d drbd start

    Starting DRBD resources:    [ d0 d1 d2 s0 s1 s2 n0 n1 n2 ].
    ..........
    ***************************************************************
     DRBD's startup script waits for the peer node(s) to appear.
     - In case this node was already a degraded cluster before the
       reboot the timeout is 0 seconds. [degr-wfc-timeout]
     - If the peer was available before the reboot the timeout will
       expire after 0 seconds. [wfc-timeout]
       (These values are for resource 'r0'; 0 sec -> wait forever)
     To abort waiting enter 'yes' [  14]:

Here is the config that produces behaviour I 'complained' about:

I attached all interesting files

    drbd-not-working.conf (exposes the above behaviour)
    not-working.diff (drbdadm dump vs drbd -d dump)

    drbd-working.conf	  (the config I use to fix the
			   above behaviour)
    working.diff     (...)


At least I do not see any important difference (the 122/66 seconds I
used to see what is getting propagated...)


    Best regards from Dresden
    Viele Grüße aus Dresden
    Heiko Schlittermann
-- 
 SCHLITTERMANN.de ---------------------------- internet & unix support -
 Heiko Schlittermann HS12-RIPE -----------------------------------------
 gnupg encrypted messages are welcome - key ID: 48D0359B ---------------
 gnupg fingerprint: 3061 CFBF 2D88 F034 E8D2  7E92 EE4E AC98 48D0 359B -
-------------- next part --------------
skip {
  As you can see, you can also comment chunks of text
  with a 'skip[optional nonsense]{ skipped text }' section.
  This comes in handy, if you just want to comment out
  some 'resource <some name> {...}' section:
  just precede it with 'skip'.
  The basic format of option assignment is
  <option name><linear whitespace><value>;
  It should be obvious from the examples below,
  but if you really care to know the details:
  <option name> :=
	valid options in the respective scope
  <value>  := <num>|<string>|<choice>|...
	      depending on the set of allowed values
	      for the respective option.
  <num>    := [0-9]+, sometimes with an optional suffix of K,M,G
  <string> := (<name>|\"([^\"\\\n]*|\\.)*\")+
  <name>   := [/_.A-Za-z0-9-]+
}
global {
    usage-count no;
}
common {
  protocol C;
  handlers {
    pri-on-incon-degr "reboot -f";
    pri-lost-after-sb "reboot -f";
    outdate-peer "/usr/sbin/drbd-peer-outdater";   
  }
  startup {
    wfc-timeout  120;
    degr-wfc-timeout 60;
  }
  disk {
    on-io-error   detach;
  }
  net {
    after-sb-0pri disconnect;
    after-sb-1pri disconnect;
    after-sb-2pri disconnect;
  }
  syncer {
    rate 700000K;	# Maximum
    al-extents 257;
  }
}
resource r0 {
  protocol C;
  on sonne {
    device     /dev/drbd0;
    disk       /dev/vg0/drbd0;
    address    10.10.10.10:7788;
    meta-disk  internal;
  }
  on mond {
    device    /dev/drbd0;
    disk      /dev/vg0/drbd0;
    address   10.10.10.20:7788;
    meta-disk internal;
  }
}
resource r1 {
  protocol C;
  on sonne {
    device     /dev/drbd1;
    disk       /dev/vg0/drbd1;
    address    10.10.10.10:7789;
    meta-disk  internal;
  }
  on mond {
    device    /dev/drbd1;
    disk      /dev/vg0/drbd1;
    address   10.10.10.20:7789;
    meta-disk internal;
  }
}
resource r2 {
  protocol C;
  on sonne {
    device     /dev/drbd2;
    disk       /dev/vg0/drbd2;
    address    10.10.10.10:7790;
    meta-disk  internal;
  }
  on mond {
    device    /dev/drbd2;
    disk      /dev/vg0/drbd2;
    address   10.10.10.20:7790;
    meta-disk internal;
  }
}

-------------- next part --------------
skip {
  As you can see, you can also comment chunks of text
  with a 'skip[optional nonsense]{ skipped text }' section.
  This comes in handy, if you just want to comment out
  some 'resource <some name> {...}' section:
  just precede it with 'skip'.
  The basic format of option assignment is
  <option name><linear whitespace><value>;
  
  It should be obvious from the examples below,
  but if you really care to know the details:
  
  <option name> :=
        valid options in the respective scope
  <value>  := <num>|<string>|<choice>|...
              depending on the set of allowed values
              for the respective option.
  <num>    := [0-9]+, sometimes with an optional suffix of K,M,G
  <string> := (<name>|\"([^\"\\\n]*|\\.)*\")+
  <name>   := [/_.A-Za-z0-9-]+
}
global {
    usage-count no;
}
common {
  protocol C;
  handlers {
    pri-on-incon-degr "reboot -f";
    pri-lost-after-sb "reboot -f";
    outdate-peer "/usr/sbin/drbd-peer-outdater";   
  }
  startup {
    wfc-timeout  120;
    degr-wfc-timeout 60;
  }
  disk {
    on-io-error   detach;
  }
  net {
    after-sb-0pri disconnect;
    after-sb-1pri disconnect;
    after-sb-2pri disconnect;
  }
  syncer {
    rate 700000K;	# Maximum
    al-extents 257;
  }
}
resource r0 {
  protocol C;
  startup {
    wfc-timeout 122;
    degr-wfc-timeout 66;
  }
  on sonne {
    device     /dev/drbd0;
    disk       /dev/vg0/drbd0;
    address    10.10.10.10:7788;
    meta-disk  internal;
  }
  on mond {
    device    /dev/drbd0;
    disk      /dev/vg0/drbd0;
    address   10.10.10.20:7788;
    meta-disk internal;
  }
}
resource r1 {
  protocol C;
  startup {
    wfc-timeout 122;
    degr-wfc-timeout 66;
  }
  on sonne {
    device     /dev/drbd1;
    disk       /dev/vg0/drbd1;
    address    10.10.10.10:7789;
    meta-disk  internal;
  }
  on mond {
    device    /dev/drbd1;
    disk      /dev/vg0/drbd1;
    address   10.10.10.20:7789;
    meta-disk internal;
  }
}
resource r2 {
  protocol C;
  startup {
    wfc-timeout 122;
    degr-wfc-timeout 66;
  }
  on sonne {
    device     /dev/drbd2;
    disk       /dev/vg0/drbd2;
    address    10.10.10.10:7790;
    meta-disk  internal;
  }
  on mond {
    device    /dev/drbd2;
    disk      /dev/vg0/drbd2;
    address   10.10.10.20:7790;
    meta-disk internal;
  }
}
-------------- next part --------------
--- 1	Fri Nov  3 18:10:35 2006
+++ 2	Fri Nov  3 18:10:41 2006
@@ -37,6 +37,27 @@
         address          10.10.10.10:7788;
         meta-disk        internal;
     }
+    net {
+        after-sb-2pri    disconnect;
+        after-sb-1pri    disconnect;
+        after-sb-0pri    disconnect;
+    }
+    disk {
+        on-io-error      detach;
+    }
+    syncer {
+        al-extents       257;
+        rate             700000K;
+    }
+    startup {
+        degr-wfc-timeout  60;
+        wfc-timeout      120;
+    }
+    handlers {
+        outdate-peer     /usr/sbin/drbd-peer-outdater;
+        pri-lost-after-sb "reboot -f";
+        pri-on-incon-degr "reboot -f";
+    }
 }
 
 resource r1 {
@@ -53,6 +74,27 @@
         address          10.10.10.10:7789;
         meta-disk        internal;
     }
+    net {
+        after-sb-2pri    disconnect;
+        after-sb-1pri    disconnect;
+        after-sb-0pri    disconnect;
+    }
+    disk {
+        on-io-error      detach;
+    }
+    syncer {
+        al-extents       257;
+        rate             700000K;
+    }
+    startup {
+        degr-wfc-timeout  60;
+        wfc-timeout      120;
+    }
+    handlers {
+        outdate-peer     /usr/sbin/drbd-peer-outdater;
+        pri-lost-after-sb "reboot -f";
+        pri-on-incon-degr "reboot -f";
+    }
 }
 
 resource r2 {
@@ -68,6 +110,27 @@
         disk             /dev/vg0/drbd2;
         address          10.10.10.10:7790;
         meta-disk        internal;
+    }
+    net {
+        after-sb-2pri    disconnect;
+        after-sb-1pri    disconnect;
+        after-sb-0pri    disconnect;
+    }
+    disk {
+        on-io-error      detach;
+    }
+    syncer {
+        al-extents       257;
+        rate             700000K;
+    }
+    startup {
+        degr-wfc-timeout  60;
+        wfc-timeout      120;
+    }
+    handlers {
+        outdate-peer     /usr/sbin/drbd-peer-outdater;
+        pri-lost-after-sb "reboot -f";
+        pri-on-incon-degr "reboot -f";
     }
 }
 
-------------- next part --------------
--- /dev/fd/63	Fri Nov  3 18:16:54 2006
+++ /dev/fd/62	Fri Nov  3 18:16:54 2006
@@ -37,10 +37,27 @@
         address          10.10.10.10:7788;
         meta-disk        internal;
     }
+    net {
+        after-sb-2pri    disconnect;
+        after-sb-1pri    disconnect;
+        after-sb-0pri    disconnect;
+    }
+    disk {
+        on-io-error      detach;
+    }
+    syncer {
+        al-extents       257;
+        rate             700000K;
+    }
     startup {
         wfc-timeout      122;
         degr-wfc-timeout  66;
     }
+    handlers {
+        outdate-peer     /usr/sbin/drbd-peer-outdater;
+        pri-lost-after-sb "reboot -f";
+        pri-on-incon-degr "reboot -f";
+    }
 }
 
 resource r1 {
@@ -57,10 +74,27 @@
         address          10.10.10.10:7789;
         meta-disk        internal;
     }
+    net {
+        after-sb-2pri    disconnect;
+        after-sb-1pri    disconnect;
+        after-sb-0pri    disconnect;
+    }
+    disk {
+        on-io-error      detach;
+    }
+    syncer {
+        al-extents       257;
+        rate             700000K;
+    }
     startup {
         wfc-timeout      122;
         degr-wfc-timeout  66;
     }
+    handlers {
+        outdate-peer     /usr/sbin/drbd-peer-outdater;
+        pri-lost-after-sb "reboot -f";
+        pri-on-incon-degr "reboot -f";
+    }
 }
 
 resource r2 {
@@ -77,9 +111,26 @@
         address          10.10.10.10:7790;
         meta-disk        internal;
     }
+    net {
+        after-sb-2pri    disconnect;
+        after-sb-1pri    disconnect;
+        after-sb-0pri    disconnect;
+    }
+    disk {
+        on-io-error      detach;
+    }
+    syncer {
+        al-extents       257;
+        rate             700000K;
+    }
     startup {
         wfc-timeout      122;
         degr-wfc-timeout  66;
+    }
+    handlers {
+        outdate-peer     /usr/sbin/drbd-peer-outdater;
+        pri-lost-after-sb "reboot -f";
+        pri-on-incon-degr "reboot -f";
     }
 }
 


More information about the drbd-user mailing list