[Pacemaker] How to prevent locked I/O using Pacemaker with Primary/Primary DRBD/OCFS2 (Ubuntu 10.10)

Mike Reid mbreid at thepei.com
Tue Apr 5 05:34:48 CET 2011


All,

I am running a two-node web cluster on OCFS2 (v1.5.0) via DRBD
Primary/Primary (v8.3.8) and Pacemaker. Everything  seems to be working
great, except during testing of hard-boot scenarios.

Whenever I hard-boot one of the nodes, the other node is successfully fenced
and marked ³Outdated²

* <resource minor="0" cs="WFConnection" ro1="Primary"
ro2="Unknown"ds1="UpToDate" ds2="Outdated" />

However, this locks up I/O on the still active node and prevents any
operations within the cluster :( I have even forced DRBD into StandAlone
mode while in this state, but that does not resolve the I/O lock
either....does anyone know if this is possible using OCFS2 (maintaining an
active cluster in Primary/Unknown once the other node has a failure? E.g. Be
it forced, controlled, etc)

I have been focusing on DRBD config, but I am starting to wonder if perhaps
it¹s something with my Pacemaker or OCFS2 setup that is forcing this I/O
lock during a failure.  Any thoughts?

-----------------------------
crm_mon (crm_mon 1.0.9 for OpenAIS and Heartbeat):

> ============
> Last updated: Mon Apr  4 12:57:47 2011
> Stack: openais
> Current DC: ubu10a - partition with quorum
> Version: 1.0.9-unknown
> 2 Nodes configured, 2 expected votes
> 4 Resources configured.
> ============
> 
> Online: [ ubu10a ubu10b ]
> 
>  Master/Slave Set: msDRBD
>      Masters: [ ubu10a ubu10b ]
>  Clone Set: cloneDLM
>      Started: [ ubu10a ubu10b ]
>  Clone Set: cloneO2CB
>      Started: [ ubu10a ubu10b ]
>  Clone Set: cloneFS
>      Started: [ ubu10a ubu10b ]

-----------------------------
DRBD (v8.3.8):
> 
> version: 8.3.8 (api:88/proto:86-94)
> 0:repdata  Connected  Primary/Primary  UpToDate/UpToDate  C  /data    ocfs2

-----------------------------
DRBD Conf:
> 
> global {
>   usage-count no;
> }
> common {
>   syncer { rate 10M; }
> }
> resource repdata {
>   protocol C;
> 
>   meta-disk internal;
>   device /dev/drbd0;
>   disk /dev/sda3;
> 
>   handlers {
>     pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f";
>     pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f";
>     local-io-error "echo o > /proc/sysrq-trigger ; halt -f";
>     split-brain "/usr/lib/drbd/notify-split-brain.sh root";
>     fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
>     after-resync-target "/usr/lib/drbd/crm-unfence-peer.sh";
>   }
>   startup {
>     degr-wfc-timeout 120;       # 120 = 2 minutes.
>     wfc-timeout 30;
>     become-primary-on both;
>   }
>   disk {
>     fencing resource-only;
>   }
>   syncer {
>     rate 10M;
>     al-extents 257;
>   }
>   net {
>     cram-hmac-alg "sha1";
>     shared-secret "XXXXXXX";
>     allow-two-primaries;
>     after-sb-0pri discard-zero-changes;
>     after-sb-1pri discard-secondary;
>     after-sb-2pri disconnect;
>   }
>   on ubu10a {
>     address 192.168.0.66:7788;
>   }
>   on ubu10b {
>     address 192.168.0.67:7788;
>   }
> }


-----------------------------
CIB.xml
> 
> node ubu10a \
>         attributes standby="off"
> node ubu10b \
>         attributes standby="off"
> primitive resDLM ocf:pacemaker:controld \
>         op monitor interval="120s"
> primitive resDRBD ocf:linbit:drbd \
>         params drbd_resource="repdata" \
>         operations $id="resDRBD-operations" \
>         op monitor interval="20s" role="Master" timeout="120s" \
>         op monitor interval="30s" role="Slave" timeout="120s"
> primitive resFS ocf:heartbeat:Filesystem \
>         params device="/dev/drbd/by-res/repdata" directory="/data"
> fstype="ocfs2" \
>         op monitor interval="120s"
> primitive resO2CB ocf:pacemaker:o2cb \
>         op monitor interval="120s"
> ms msDRBD resDRBD \
>         meta resource-stickines="100" notify="true" master-max="2"
> interleave="true"
> clone cloneDLM resDLM \
>         meta globally-unique="false" interleave="true"
> clone cloneFS resFS \
>         meta interleave="true" ordered="true"
> clone cloneO2CB resO2CB \
>         meta globally-unique="false" interleave="true"
> colocation colDLMDRBD inf: cloneDLM msDRBD:Master
> colocation colFSO2CB inf: cloneFS cloneO2CB
> colocation colO2CBDLM inf: cloneO2CB cloneDLM
> order ordDLMO2CB 0: cloneDLM cloneO2CB
> order ordDRBDDLM 0: msDRBD:promote cloneDLM
> order ordO2CBFS 0: cloneO2CB cloneFS
> property $id="cib-bootstrap-options" \
>         dc-version="1.0.9-unknown" \
>         cluster-infrastructure="openais" \
>         stonith-enabled="false" \
>         no-quorum-policy="ignore" \
>         expected-quorum-votes="2"
> 
> 

-----------------------------








-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://oss.clusterlabs.org/pipermail/pacemaker/attachments/20110404/bdaa4251/attachment.html>


More information about the Pacemaker mailing list