<div dir="ltr">Thanks.<div><br></div><div>I missed</div><div><br></div><div>drbdadm -- --force create-md vlv<br></div><div><br></div><div>on node2, that was the cause of the problem. Because of this there was no drbd-minor-0.lkbd file in /var/lib/drbd on node2, so it did not work properly (e.g. &quot;drbdadm adjust&quot; did not work, and that killed pacemaker).</div><div><br></div><div>BTW to speedup initial resync, one could execute:</div><div><br></div><div>drbdadm -- --force create-md vlv<br></div><div>drbdadm up vlv<br></div><div><div>drbdadm -- --clear-bitmap new-current-uuid vlv/0</div><div>drbdadm primary vlv</div><div>mkfs.xfs -d agcount=8 /dev/drbd0<br></div></div><div><br></div><div><br></div><div>P.S.<br>I played with strace and sources a bit and discovered that &quot;service drbd start&quot; looked working only because it executes &quot;drbdadm adjust-with-progress&quot;, although pacemaker&#39;s script executes &quot;drbdadm -v adjust&quot;. In contrast to what is said in the docs, adjust and adjust-with-progress differ not only by debug output: there used to be a hack in drbdadm code which forces them to work differently:</div><div><br></div><div><div>    for (stage = CFG_PREREQ; stage &lt; __CFG_LAST; stage++) {</div><div>        r = _run_deferred_cmds(stage);</div><div>        if (r) {</div><div>            if (!adjust_with_progress)</div><div>                return 1; /* FIXME r? */</div><div>            ret = 1;</div><div>        }</div><div>    }</div></div><div><br></div><div>This &quot;FIXME&quot; code is executed in &quot;adjust&quot; mode, but NOT when &quot;adjust-with-progress&quot; is active. So if one uses &quot;adjust-with-progress&quot;, drbdadm silently skips failed steps and continues with the next ones, while &quot;adjust&quot; fails on a first failed step.</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jan 3, 2015 at 10:27 PM, Vladislav Bogdanov <span dir="ltr">&lt;<a href="mailto:bubble@hoster-ok.com" target="_blank">bubble@hoster-ok.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">03.01.2015 20:35, Dmitry Koterov wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello.<br>
<br>
Ubuntu 14.04, corosync 2.3.3, pacemaker 1.1.10. The cluster consists of<br>
2 nodes (node1 and node2), when I run &quot;crm node standby node2&quot; and then,<br>
in a minute, &quot;crm node online node2&quot;, DRBD secondary on node2 does not<br>
start. Logs say that &quot;drbdadm -c /etc/drbd.conf check-resize vlv&quot; fails<br>
with an error message: &quot;No valid meta data found&quot; on the onlining node.<br>
And, surprisingly, after I run &quot;service drbd start&quot; on node2 manually,<br>
everything becomes fine.<br>
<br>
Maybe something is broken in /usr/lib/ocf/resource.d/<u></u>linbit/drbd, why<br>
cannot it start DRBD? Or I am misconfigured somehow? Could you please<br>
give an advice what to do?<br>
</blockquote>
<br></span>
Please see inline in drbdadm output.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
<br>
I have the following configuration (drbd + mount + postgresql, but<br>
postgresql is innocent here, so just ignore it):<br>
<br></span>
*root@node2:/var/log#* crm configure show<div><div class="h5"><br>
node $id=&quot;1017525950&quot; node2 attributes standby=&quot;off&quot;<br>
node $id=&quot;1760315215&quot; node1<br>
primitive drbd ocf:linbit:drbd \<br>
params drbd_resource=&quot;vlv&quot; \<br>
op start interval=&quot;0&quot; timeout=&quot;240&quot; \<br>
op stop interval=&quot;0&quot; timeout=&quot;120&quot;<br>
primitive fs ocf:heartbeat:Filesystem \<br>
params device=&quot;/dev/drbd0&quot; directory=&quot;/var/lib/vlv.drbd/<u></u>root&quot;<br>
options=&quot;noatime,nodiratime&quot; fstype=&quot;xfs&quot; \<br>
op start interval=&quot;0&quot; timeout=&quot;300&quot; \<br>
op stop interval=&quot;0&quot; timeout=&quot;300&quot;<br>
primitive postgresql lsb:postgresql \<br>
op monitor interval=&quot;4&quot; timeout=&quot;60&quot; \<br>
op start interval=&quot;0&quot; timeout=&quot;60&quot; \<br>
op stop interval=&quot;0&quot; timeout=&quot;60&quot;<br>
group pgserver fs postgresql<br>
ms ms_drbd drbd \<br>
meta master-max=&quot;1&quot; master-node-max=&quot;1&quot; clone-max=&quot;2&quot; clone-node-max=&quot;1&quot;<br>
notify=&quot;true&quot;<br>
location cli-prefer-pgserver pgserver inf: node1<br>
colocation col_pgserver inf: pgserver ms_drbd:Master<br>
order ord_pgserver inf: ms_drbd:promote pgserver:start<br>
property $id=&quot;cib-bootstrap-options&quot; dc-version=&quot;1.1.10-42f2063&quot;<br>
cluster-infrastructure=&quot;<u></u>corosync&quot;<br>
stonith-enabled=&quot;false&quot; no-quorum-policy=&quot;ignore&quot;<br>
last-lrm-refresh=&quot;1420304078&quot;<br>
rsc_defaults $id=&quot;rsc-options&quot; \<br>
resource-stickiness=&quot;100&quot;<br>
<br>
<br>
The cluster and DRBD statuses on node2 look healthy:<br>
<br>
<br></div></div>
*root@node2:/var/log#* crm status<span class=""><br>
...<br>
Online: [ node1 node2 ]<br>
  Master/Slave Set: ms_drbd [drbd]<br>
      Masters: [ node1 ]<br>
      Slaves: [ node2 ]<br>
  Resource Group: pgserver<br>
      fs(ocf::heartbeat:Filesystem):<u></u>Started node1<br>
      postgresql(lsb:postgresql):<u></u>Started node1<br>
<br></span>
*root@node2:/var/log#* cat /proc/drbd<span class=""><br>
version: 8.4.3 (api:1/proto:86-101)<br>
srcversion: F97798065516C94BE0F27DC<br>
  0: cs:Connected ro:Secondary/Primary ds:Diskless/UpToDate C r-----<br>
</span></blockquote>
                                            ^^^^^^^^<br>
                                        that is your problem<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
     ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0<br>
<br>
<br>
Now I switch node2 to standby and verify that DRBD on it has really shot<br>
down:<br>
<br>
<br></span>
*root@node1:/etc/rc2.d#* crm node standby node2<br>
*root@node2:/var/log#* cat /proc/drbd<span class=""><br>
version: 8.4.3 (api:1/proto:86-101)<br>
srcversion: F97798065516C94BE0F27DC<br></span>
*root@node2:/var/log#*<br>
*<span class=""><br>
*<br>
Then I switch node2 back online and see that DRBD has not been<br>
initialized and reattached again!<br>
<br></span>
*root@node2:/var/log#* &gt;syslog<br>
*root@node1:/etc#* crm node online node2<br>
*root@node2:/var/log#* crm status<span class=""><br>
...<br>
Online: [ node1 node2 ]<br>
  Master/Slave Set: ms_drbd [drbd]<br>
      Masters: [ node1 ]<br>
      Stopped: [ node2 ]<br>
  Resource Group: pgserver<br>
      fs(ocf::heartbeat:Filesystem):<u></u>Started node1<br></span>
      postgresql(lsb:postgresql):<u></u>Started node1<span class=""><br>
Failed actions:<br>
     drbd_start_0 (node=node2, call=81, rc=1, status=complete,<br>
last-rc-change=Sat Jan  3 12:05:32 2015<br>
, queued=1118ms, exec=0ms<br>
): unknown error<br>
<br></span>
*root@node2:/var/log#* cat syslog | head -n 30<div><div class="h5"><br>
Jan  3 12:05:31 node2 crmd[918]:   notice: do_state_transition: State<br>
transition S_IDLE -&gt; S_POLICY_ENGINE [ input=I_PE_CALC<br>
cause=C_FSA_INTERNAL origin=abort_transition_graph ]<br>
Jan  3 12:05:31 node2 cib[913]:   notice: cib:diff: Diff: --- 0.29.3<br>
Jan  3 12:05:31 node2 cib[913]:   notice: cib:diff: Diff: +++ 0.30.1<br>
027344551b46745123e4a52562e559<u></u>74<br>
Jan  3 12:05:31 node2 pengine[917]:   notice: unpack_config: On loss of<br>
CCM Quorum: Ignore<br>
Jan  3 12:05:31 node2 pengine[917]:   notice: LogActions: Start<br>
drbd:1#011(node2)<br>
Jan  3 12:05:31 node2 crmd[918]:   notice: te_rsc_command: Initiating<br>
action 46: notify drbd_pre_notify_start_0 on node1<br>
Jan  3 12:05:31 node2 pengine[917]:   notice: process_pe_message:<br>
Calculated Transition 11: /var/lib/pacemaker/pengine/pe-<u></u>input-11.bz2<br>
Jan  3 12:05:32 node2 crmd[918]:   notice: te_rsc_command: Initiating<br>
action 10: start drbd:1_start_0 on node2 (local)<br>
Jan  3 12:05:32 node2 drbd(drbd)[1931]: ERROR: vlv: Called drbdadm -c<br>
/etc/drbd.conf check-resize vlv<br>
Jan  3 12:05:32 node2 drbd(drbd)[1931]: ERROR: vlv: Exit code 255<br>
Jan  3 12:05:32 node2 drbd(drbd)[1931]: ERROR: vlv: Command output:<br>
Jan  3 12:05:32 node2 drbd(drbd)[1931]: ERROR: vlv: Called drbdadm -c<br>
/etc/drbd.conf --peer node1 attach vlv<br>
Jan  3 12:05:32 node2 drbd(drbd)[1931]: ERROR: vlv: Exit code 255<br>
Jan  3 12:05:32 node2 drbd(drbd)[1931]: ERROR: vlv: Command output:<br>
Jan  3 12:05:33 node2 drbd(drbd)[1931]: ERROR: vlv: Called drbdadm -c<br>
/etc/drbd.conf --peer node1 attach vlv<br>
Jan  3 12:05:33 node2 drbd(drbd)[1931]: ERROR: vlv: Exit code 255<br>
Jan  3 12:05:33 node2 drbd(drbd)[1931]: ERROR: vlv: Command output:<br>
Jan  3 12:05:33 node2 lrmd[915]:   notice: operation_finished:<br>
drbd_start_0:1931:stderr [ no suitable meta data found :( ]<br>
Jan  3 12:05:33 node2 lrmd[915]:   notice: operation_finished:<br>
drbd_start_0:1931:stderr [ Command &#39;drbdmeta 0 v08 /dev/loop0 internal<br>
check-resize&#39; terminated with exit code 255 ]<br>
Jan  3 12:05:33 node2 lrmd[915]:   notice: operation_finished:<br>
drbd_start_0:1931:stderr [ No valid meta data found ]<br>
Jan  3 12:05:33 node2 lrmd[915]:   notice: operation_finished:<br>
drbd_start_0:1931:stderr [ Command &#39;drbdmeta 0 v08 /dev/loop0 internal<br>
apply-al&#39; terminated with exit code 255 ]<br>
Jan  3 12:05:33 node2 lrmd[915]:   notice: operation_finished:<br>
drbd_start_0:1931:stderr [ No valid meta data found ]<br>
Jan  3 12:05:33 node2 lrmd[915]:   notice: operation_finished:<br>
drbd_start_0:1931:stderr [ Command &#39;drbdmeta 0 v08 /dev/loop0 internal<br>
apply-al&#39; terminated with exit code 255 ]<br>
Jan  3 12:05:33 node2 crmd[918]:   notice: process_lrm_event: LRM<br>
operation drbd_start_0 (call=81, rc=1, cib-update=79, confirmed=true)<br>
unknown error<br>
Jan  3 12:05:33 node2 crmd[918]:   notice: process_lrm_event:<br>
node2-drbd_start_0:81 [ \n\n\n\n\n\n\n ]<br>
Jan  3 12:05:33 node2 crmd[918]:  warning: status_from_rc: Action 10<br>
(drbd:1_start_0) on node2 failed (target: 0 vs. rc: 1): Error<br>
Jan  3 12:05:33 node2 crmd[918]:  warning: update_failcount: Updating<br>
failcount for drbd on node2 after failed start: rc=1 (update=INFINITY,<br>
time=1420304733)<br>
Jan  3 12:05:33 node2 attrd[916]:   notice: attrd_trigger_update:<br>
Sending flush op to all hosts for: fail-count-drbd (INFINITY)<br>
Jan  3 12:05:33 node2 attrd[916]:   notice: attrd_perform_update: Sent<br>
update 60: fail-count-drbd=INFINITY<br>
Jan  3 12:05:33 node2 attrd[916]:   notice: attrd_trigger_update:<br>
Sending flush op to all hosts for: last-failure-drbd (1420304733)<br>
<br>
root@node2:/var/log# cat syslog | grep ERROR | head -n 30<br>
Jan  3 12:05:32 node2 drbd(drbd)[1931]: ERROR: vlv: Called drbdadm -c<br>
/etc/drbd.conf check-resize vlv<br>
Jan  3 12:05:32 node2 drbd(drbd)[1931]: ERROR: vlv: Exit code 255<br>
Jan  3 12:05:32 node2 drbd(drbd)[1931]: ERROR: vlv: Command output:<br>
Jan  3 12:05:32 node2 drbd(drbd)[1931]: ERROR: vlv: Called drbdadm -c<br>
/etc/drbd.conf --peer node1 attach vlv<br>
Jan  3 12:05:32 node2 drbd(drbd)[1931]: ERROR: vlv: Exit code 255<br>
Jan  3 12:05:32 node2 drbd(drbd)[1931]: ERROR: vlv: Command output:<br>
Jan  3 12:05:33 node2 drbd(drbd)[1931]: ERROR: vlv: Called drbdadm -c<br>
/etc/drbd.conf --peer node1 attach vlv<br>
Jan  3 12:05:33 node2 drbd(drbd)[1931]: ERROR: vlv: Exit code 255<br>
Jan  3 12:05:33 node2 drbd(drbd)[1931]: ERROR: vlv: Command output:<br>
Jan  3 12:05:33 node2 drbd(drbd)[2021]: ERROR: vlv: Called drbdadm -c<br>
/etc/drbd.conf --peer node1 -v adjust vlv<br>
Jan  3 12:05:33 node2 drbd(drbd)[2021]: ERROR: vlv: Exit code 1<br>
Jan  3 12:05:33 node2 drbd(drbd)[2021]: ERROR: vlv: Command output:<br>
drbdmeta 0 v08 /dev/loop0 internal apply-al<br>
<br>
<br>
Here&#39;s the DRBD config file:<br>
<br>
<br></div></div>
*root@node2:/var/log#* cat /etc/drbd.d/drbd.res<span class=""><br>
resource vlv {<br>
   device /dev/drbd0;<br>
   disk /dev/loop0;<br>
   meta-disk internal;<br>
   syncer { rate 150M; verify-alg md5; }<br>
   on node1 { address x.x.x.x:7788; }<br>
   on node2 { address y.y.y.y:7788; }<br>
}<br>
<br></span>
*root@node2:/var/log#* losetup -a<br>
/dev/loop0: [fd01]:1314858 (/var/lib/vlv.drbd/vlv.img)<br>
<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
Pacemaker mailing list: <a href="mailto:Pacemaker@oss.clusterlabs.org" target="_blank">Pacemaker@oss.clusterlabs.org</a><br>
<a href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker" target="_blank">http://oss.clusterlabs.org/<u></u>mailman/listinfo/pacemaker</a><br>
<br>
Project Home: <a href="http://www.clusterlabs.org" target="_blank">http://www.clusterlabs.org</a><br>
Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" target="_blank">http://www.clusterlabs.org/<u></u>doc/Cluster_from_Scratch.pdf</a><br>
Bugs: <a href="http://bugs.clusterlabs.org" target="_blank">http://bugs.clusterlabs.org</a><br>
<br>
</blockquote>
<br>
<br>
______________________________<u></u>_________________<br>
Pacemaker mailing list: <a href="mailto:Pacemaker@oss.clusterlabs.org" target="_blank">Pacemaker@oss.clusterlabs.org</a><br>
<a href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker" target="_blank">http://oss.clusterlabs.org/<u></u>mailman/listinfo/pacemaker</a><br>
<br>
Project Home: <a href="http://www.clusterlabs.org" target="_blank">http://www.clusterlabs.org</a><br>
Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" target="_blank">http://www.clusterlabs.org/<u></u>doc/Cluster_from_Scratch.pdf</a><br>
Bugs: <a href="http://bugs.clusterlabs.org" target="_blank">http://bugs.clusterlabs.org</a><br>
</blockquote></div><br></div>