[Pacemaker] two node cluster and shared device
Oliver Heinz
oheinz at fbihome.de
Wed May 19 07:27:31 UTC 2010
I have problems to create a 2 node cluster with shared storage and cluster fs
that behaves the way I want.
The decission should be based on network connectivity. If node a looses
network connectivity (i.e. i pull the plugs) node b should take over all
resources because he is able to ping i.e. the switch and the gateway.
It would be great if the shared storage itself could act as a fencing device
to avoid FS corruption. If node-b detects that node-a still has access to the
shared storge it should fence itself (network communication to node-a is not
possible, so the lock-daemons for the shared fs cannot communicate) But if
node-a doesn't access the shared device node-b should take over the resources.
Is it possible, or is it just stupid?
Should I always use a third node (even if it does not share ressources) just
as a tie breaker?
Can I STONITH based on the ping? Will access to the shared device work after I
STONITH the other node? With my current config access to the filesystem hangs
after i kill a node with ocfs2 i even get kernel segfaults, with gfs it just
hangs)
Maybe someone has a working configuration for two (or 3) node/shared device/
cluster fs and want's to share it?
TIA,
Oliver
current config that woks fine as long as i don't kill a node:
node server-c \
attributes standby="off"
node server-d \
attributes standby="off"
primitive resCLVM ocf:lvm2:clvmd \
params daemon_timeout="30"
primitive resDATA ocf:heartbeat:LVM \
params volgrpname="data"
primitive resDLM ocf:pacemaker:controld \
op monitor interval="120s"
primitive resFS ocf:heartbeat:Filesystem \
params device="/dev/mapper/data-data" directory="/srv/data"
fstype="ocfs2" \
op monitor interval="120s"
primitive resO2CB ocf:pacemaker:o2cb \
op monitor interval="120s"
clone cloneCLVM resCLVM \
meta target-role="Started" interleave="true" ordered="true"
clone cloneDATA resDATA \
meta interleave="true" ordered="true"
clone cloneDLM resDLM \
meta globally-unique="false" interleave="true"
clone cloneFS resFS \
meta interleave="true" ordered="true" is-managed="true" target-
role="Started"
clone cloneO2CB resO2CB \
meta globally-unique="false" interleave="true"
colocation colDATA inf: cloneDATA cloneCLVM
colocation colFSO2CB inf: cloneFS cloneO2CB
colocation colO2CBDLM inf: cloneO2CB cloneDLM
order ordCLVM inf: cloneDLM cloneCLVM
order ordDATA inf: cloneCLVM cloneDATA
order ordDATAFS 0: cloneDATA cloneFS
order ordDLMO2CB 0: cloneDLM cloneO2CB
order ordO2CBFS 0: cloneO2CB cloneFS
property $id="cib-bootstrap-options" \
dc-version="1.0.8-042548a451fce8400660f6031f4da6f0223dd5dd" \
cluster-infrastructure="openais" \
expected-quorum-votes="2" \
stonith-enabled="false" \
last-lrm-refresh="1272026744" \
no-quorum-policy="ignore"
More information about the Pacemaker
mailing list