<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Thanks a lot for your suggestions (Robert and Lars), it took a
while before I was able to try them on virtual machines. I hope
you don't mind that I reply to both of you in one mail -- I messed
up my mail delivery options (now corrected).<br>
</p>
<p>I've added my latest drbd config below, for reference.<br>
</p>
<blockquote type="cite"
cite="mid:6A2938E1-5AAD-45BF-BCB5-B7C6520CFB0C@linbit.com">
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">I can't find any sequence of commands that can convince drbd (or pacemaker) that I *want* to use outdated data.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">This should work:
drbdadm del-peer tapas:fims1
drbdadm primary —force tapas
</pre>
</blockquote>
<p>This seems to work (get to UpToDate state) briefly, until the
next time the pacemaker drbd monitor runs, which 'demotes' the
resource again to it's original state.<br>
</p>
<p><tt>Failed Resource Actions:</tt><tt><br>
</tt><tt>* drbd_monitor_20000 on vmnbiaas2 'master' (8): call=84,
status=complete, exitreason='',</tt><tt><br>
</tt><tt> last-rc-change='Wed Oct 9 14:49:06 2019',
queued=0ms, exec=0ms</tt><br>
</p>
<p>The corosync logs are difficult to follow, so I'm not sure how I
can get pacemaker to accept the trickery done behind its back..<br>
</p>
<p>Lars wrote:<br>
</p>
<pre>Alternatively, you could *add* a suitable fencing constraint to your sole survivor node, which should make the fencing succeed.
You could tell the crm-fence-peer.9.sh fencing handler that an --unreachable-peer-is-outdated.
(Manually. From a root shell. That switch is not effective from within the drbd configuration; for reasons).
</pre>
<p>I tried this, after finding what the command should look like in
/var/log/messages:</p>
<p><tt>DRBD_BACKING_DEV_0=/dev/mapper/centos-drbd
DRBD_CONF=/etc/drbd.conf DRBD_LL_DISK=/dev/mapper/centos-drbd
DRBD_MINOR=0 DRBD_MINOR_0=0 DRBD_MY_ADDRESS=172.17.5.62
DRBD_MY_AF=ipv4 DRBD_MY_NODE_ID=1 DRBD_NODE_ID_0=vmnbiaas1
DRBD_NODE_ID_1=vmnbiaas2 DRBD_PEER_ADDRESS=172.17.5.61
DRBD_PEER_AF=ipv4 DRBD_PEER_NODE_ID=0 DRBD_RESOURCE=tapas
DRBD_VOLUME=0 UP_TO_DATE_NODES=0x00000002
/usr/lib/drbd/crm-fence-peer.9.sh --unreachable-peer-is-outdated</tt></p>
<p>This failed as follows:<br>
</p>
<p><tt>Oct 9 14:29:42 vmnbiaas2 crm-fence-peer.9.sh[6153]: WARNING
Found <cib crm_feature_set="3.0.14"
validate-with="pacemaker-2.10" epoch="48" num_updates="23"
admin_epoch="0" cib-last-written="Wed Oct 9 14:07:22 2019"
update-origin="vmnbiaas1" update-client="cibadmin"
update-user="root" have-quorum="0" dc-uuid="1"</tt></p>
<p><tt>Oct 9 14:29:42 vmnbiaas2 crm-fence-peer.9.sh[6153]: WARNING
I don't have quorum; did not place the constraint!</tt></p>
<p>OK, while I'm experimenting, I quick-hacked the script to use<br>
</p>
<p><tt>fail_if_no_quorum=false</tt></p>
<p>After which the error changes to<br>
</p>
<p><tt>Oct 9 14:38:13 vmnbiaas2 crm-fence-peer.9.sh[7579]: WARNING
some peer is UNCLEAN, my disk is not UpToDate, did not place the
constraint!</tt><br>
<br>
</p>
<p>Cheers!</p>
<p> Rob<br>
</p>
<p><br>
</p>
<p>resource tapas {<br>
protocol C;<br>
<br>
startup {<br>
wfc-timeout 0; ## Infinite!<br>
outdated-wfc-timeout 120;<br>
degr-wfc-timeout 120; ## 2 minutes.<br>
}<br>
<br>
disk {<br>
on-io-error detach;<br>
}<br>
<br>
handlers {<br>
split-brain "/opt/sol/tapas/bin/split-brain-helper.sh";<br>
<br>
fence-peer "/usr/lib/drbd/crm-fence-peer.9.sh";<br>
unfence-peer "/usr/lib/drbd/crm-unfence-peer.9.sh";<br>
}<br>
<br>
net {<br>
fencing resource-only;<br>
<br>
# after-sb-0pri discard-least-changes;<br>
}<br>
<br>
device /dev/drbd0;<br>
disk /dev/mapper/centos-drbd;<br>
meta-disk internal;<br>
<br>
on vmnbiaas1 {<br>
address 172.17.5.61:7789;<br>
}<br>
<br>
on vmnbiaas2 {<br>
address 172.17.5.62:7789;<br>
}<br>
}<br>
<br>
</p>
</body>
</html>