<?xml version="1.0" ?>
<cib admin_epoch="0" cib-last-written="Wed Sep 5 07:56:52 2012"
crm_feature_set="3.0.5" dc-uuid="toponet30" epoch="28" have-quorum="1"
num_updates="119" update-client="cibadmin" updat
e-origin="toponet31" update-user="root" validate-with="pacemaker-1.2">
<configuration>
<crm_config>
<cluster_property_set id="cib-bootstrap-options">
<nvpair id="cib-bootstrap-options-dc-version"
name="dc-version"
value="1.1.6-b988976485d15cb702c9307df55512d323831a5e"/>
<nvpair id="cib-bootstrap-options-cluster-infrastructure"
name="cluster-infrastructure" value="openais"/>
<nvpair id="cib-bootstrap-options-expected-quorum-votes"
name="expected-quorum-votes" value="2"/>
<nvpair id="cib-bootstrap-options-no-quorum-policy"
name="no-quorum-policy" value="ignore"/>
<nvpair id="cib-bootstrap-options-stonith-enabled"
name="stonith-enabled" value="true"/>
<nvpair id="cib-bootstrap-options-last-lrm-refresh"
name="last-lrm-refresh" value="1346417427"/>
</cluster_property_set>
</crm_config>
<nodes>
<node id="toponet31" type="normal" uname="toponet31"/>
<node id="toponet30" type="normal" uname="toponet30"/>
</nodes>
<resources>
<group id="postgres">
<primitive class="ocf" id="pg_fs" provider="heartbeat"
type="Filesystem">
<instance_attributes id="pg_fs-instance_attributes">
<nvpair id="pg_fs-instance_attributes-device"
name="device"
value="/dev/drbd0"/>
<nvpair id="pg_fs-instance_attributes-directory"
name="directory" value="/var/lib/pgsql"/>
<nvpair id="pg_fs-instance_attributes-fstype"
name="fstype"
value="ext3"/>
</instance_attributes>
</primitive>
<primitive class="ocf" id="PGIP" provider="heartbeat"
type="IPaddr2">
<instance_attributes id="PGIP-instance_attributes">
<nvpair id="PGIP-instance_attributes-ip" name="ip"
value="192.168.100.3"/>
<nvpair id="PGIP-instance_attributes-cidr_netmask"
name="cidr_netmask" value="29"/>
</instance_attributes>
<operations>
<op id="PGIP-monitor-5s" interval="5s" name="monitor"/>
</operations>
</primitive>
<primitive class="ocf" id="postgresql" provider="heartbeat"
type="pgsql">
<operations>
<op id="postgresql-start-0" interval="0" name="start"
timeout="80s"/>
<op id="postgresql-stop-0" interval="0" name="stop"
timeout="60s"/>
<op id="postgresql-monitor-10s" interval="10s"
name="monitor" timeout="10s">
<instance_attributes
id="postgresql-monitor-10s-instance_attributes">
<nvpair
id="postgresql-monitor-10s-instance_attributes-depth" name="depth"
value="0"/>
</instance_attributes>
</op>
</operations>
</primitive>
</group>
<primitive class="ocf" id="monitor_cluster" provider="heartbeat"
type="monitor_cluster">
<operations>
<op id="monitor_cluster-monitor-30s" interval="30s"
name="monitor"/>
<op id="monitor_cluster-start-0" interval="0" name="start"
timeout="30s"/>
</operations>
<meta_attributes id="monitor_cluster-meta_attributes">
<nvpair id="monitor_cluster-meta_attributes-target-role"
name="target-role" value="Started"/>
</meta_attributes>
</primitive>
<master id="ms_toponet">
<meta_attributes id="ms_toponet-meta_attributes">
<nvpair id="ms_toponet-meta_attributes-master-max"
name="master-max" value="1"/>
<nvpair id="ms_toponet-meta_attributes-master-node-max"
name="master-node-max" value="1"/>
<nvpair id="ms_toponet-meta_attributes-clone-max"
name="clone-max" value="2"/>
<nvpair id="ms_toponet-meta_attributes-clone-node-max"
name="clone-node-max" value="1"/>
<nvpair id="ms_toponet-meta_attributes-target-role"
name="target-role" value="Master"/>
</meta_attributes>
<primitive class="ocf" id="toponet" provider="heartbeat"
type="toponet">
<operations>
<op id="toponet-start-0" interval="0" name="start"
timeout="180s"/>
<op id="toponet-stop-0" interval="0" name="stop"
timeout="60s"/>
<op id="toponet-monitor-10s" interval="10s" name="monitor"
on-fail="standby" role="Master" timeout="20s"/>
<op id="toponet-monitor-20s" interval="20s" name="monitor"
role="Slave" timeout="40s"/>
<op id="toponet-promote-0" interval="0" name="promote"
timeout="120s"/>
<op id="toponet-demote-0" interval="0" name="demote"
timeout="120s"/>
</operations>
</primitive>
</master>
<master id="ms_drbd_postgres">
<meta_attributes id="ms_drbd_postgres-meta_attributes">
<nvpair id="ms_drbd_postgres-meta_attributes-master-max"
name="master-max" value="1"/>
<nvpair
id="ms_drbd_postgres-meta_attributes-master-node-max"
name="master-node-max" value="1"/>
<nvpair id="ms_drbd_postgres-meta_attributes-clone-max"
name="clone-max" value="2"/>
<nvpair id="ms_drbd_postgres-meta_attributes-clone-node-max"
name="clone-node-max" value="1"/>
<nvpair id="ms_drbd_postgres-meta_attributes-notify"
name="notify" value="true"/>
<nvpair id="ms_drbd_postgres-meta_attributes-target-role"
name="target-role" value="Master"/>
</meta_attributes>
<primitive class="ocf" id="drbd_postgres" provider="linbit"
type="drbd">
<instance_attributes id="drbd_postgres-instance_attributes">
<nvpair
id="drbd_postgres-instance_attributes-drbd_resource"
name="drbd_resource" value="postgres"/>
</instance_attributes>
<operations>
<op id="drbd_postgres-start-0" interval="0" name="start"
timeout="240s"/>
<op id="drbd_postgres-stop-0" interval="0" name="stop"
timeout="120s"/>
<op id="drbd_postgres-monitor-5s" interval="5s"
name="monitor" role="Master" timeout="10s"/>
<op id="drbd_postgres-monitor-10s" interval="10s"
name="monitor" role="Slave" timeout="20s"/>
</operations>
</primitive>
</master>
<primitive class="stonith" id="st_primary" type="external/xen0">
<operations>
<op id="st_primary-start-0" interval="0" name="start"
timeout="60s"/>
</operations>
<instance_attributes id="st_primary-instance_attributes">
<nvpair id="st_primary-instance_attributes-hostlist"
name="hostlist" value="toponet31:/etc/xen/vm/toponet31"/>
<nvpair id="st_primary-instance_attributes-dom0" name="dom0"
value="172.16.103.54"/>
</instance_attributes>
</primitive>
<primitive class="stonith" id="st_secondary"
type="external/xen0">
<operations>
<op id="st_secondary-start-0" interval="0" name="start"
timeout="60s"/>
</operations>
<instance_attributes id="st_secondary-instance_attributes">
<nvpair id="st_secondary-instance_attributes-hostlist"
name="hostlist" value="toponet30:/etc/xen/vm/toponet30"/>
<nvpair id="st_secondary-instance_attributes-dom0"
name="dom0"
value="172.16.103.54"/>
</instance_attributes>
</primitive>
</resources>
<constraints>
<rsc_colocation id="c1" rsc="monitor_cluster" score="INFINITY"
with-rsc="ms_toponet" with-rsc-role="Master"/>
<rsc_location id="master-prefer-node1" node="toponet30"
rsc="postgres" score="100"/>
<rsc_location id="loc_st_sec" node="toponet30"
rsc="st_secondary"
score="-INFINITY"/>
<rsc_order first="ms_toponet" first-action="promote" id="o4"
score="INFINITY" then="monitor_cluster" then-action="start"/>
<rsc_colocation id="c3" rsc="postgres" score="INFINITY"
with-rsc="ms_drbd_postgres" with-rsc-role="Master"/>
<rsc_order first="ms_toponet" first-action="start" id="o3"
score="INFINITY" then="ms_toponet" then-action="promote"/>
<rsc_colocation id="c2" rsc="ms_toponet" rsc-role="Master"
score="INFINITY" with-rsc="postgres"/>
<rsc_location id="loc_st_pri" node="toponet31" rsc="st_primary"
score="-INFINITY"/>
<rsc_order first="ms_drbd_postgres" first-action="promote"
id="o1"
score="INFINITY" then="postgres" then-action="start"/>
<rsc_order first="postgres" first-action="start" id="o2"
score="INFINITY" then="ms_toponet" then-action="start"/>
</constraints>
<rsc_defaults>
<meta_attributes id="rsc-options">
<nvpair id="rsc-options-resource-stickiness"
name="resource-stickiness" value="5000"/>
</meta_attributes>
</rsc_defaults>
</configuration>
</cib>
order o1 inf: ms_drbd_postgres:promote postgres:start
order o2 inf: postgres:start ms_toponet:start
order o3 inf: ms_toponet:start ms_toponet:promote
order o4 inf: ms_toponet:promote monitor_cluster:start
If you still have problems with the expanded form, let us know.
Resource sets are not an issue in order constraints, but rather
in collocations.
Thanks,
Dejan
I want to the pacemaker to act as in 1.0.12 version.
* when toponet master app is killed, move postgres resource to
other node
and promote ms_toponet and ms_drbd_postgres to Master
* when one node is starting promote DRBD to master is is UpToDate
Am I doing something wrong?
It looks to me pacemaker ignores some orders (pacemaker should
wait for DRBD
promotion when starting toponet app, but toponet app is started
right after
DRBD start (slave)). I tried to solve this by different orders with
combination symmetrical=false, split orders, different orders for
start and
stop, but no success at all (seems to me like completely ignoring
symmetrical=false directive).
Pacemaker 1.1.7 is not working for me, because it has broken on-fail
directive.
crm_mon output:
============
Last updated: Fri Aug 31 14:51:11 2012
Last change: Fri Aug 31 14:50:27 2012 by hacluster via crmd on
toponet30
Stack: openais
Current DC: toponet30 - partition WITHOUT quorum
Version: 1.1.6-b988976485d15cb702c9307df55512d323831a5e
2 Nodes configured, 2 expected votes
10 Resources configured.
============
Online: [ toponet30 toponet31 ]
st_primary (stonith:external/xen0): Started toponet30
st_secondary (stonith:external/xen0): Started toponet31
Master/Slave Set: ms_drbd_postgres
Masters: [ toponet30 ]
Slaves: [ toponet31 ]
Resource Group: postgres
pg_fs (ocf::heartbeat:Filesystem): Started toponet30
PGIP (ocf::heartbeat:IPaddr2): Started toponet30
postgresql (ocf::heartbeat:pgsql): Started toponet30
monitor_cluster (ocf::heartbeat:monitor_cluster): Started toponet30
Master/Slave Set: ms_toponet
Masters: [ toponet30 ]
Slaves: [ toponet31 ]
configuration:
node toponet30
node toponet31
primitive PGIP ocf:heartbeat:IPaddr2 \
params ip="192.168.100.3" cidr_netmask="29" \
op monitor interval="5s"
primitive drbd_postgres ocf:linbit:drbd \
params drbd_resource="postgres" \
op start interval="0" timeout="240s" \
op stop interval="0" timeout="120s" \
op monitor interval="5s" role="Master" timeout="10s" \
op monitor interval="10s" role="Slave" timeout="20s"
primitive monitor_cluster ocf:heartbeat:monitor_cluster \
op monitor interval="30s" \
op start interval="0" timeout="30s" \
meta target-role="Started"
primitive pg_fs ocf:heartbeat:Filesystem \
params device="/dev/drbd0" directory="/var/lib/pgsql"
fstype="ext3"
primitive postgresql ocf:heartbeat:pgsql \
op start interval="0" timeout="80s" \
op stop interval="0" timeout="60s" \
op monitor interval="10s" timeout="10s" depth="0"
primitive st_primary stonith:external/xen0 \
op start interval="0" timeout="60s" \
params hostlist="toponet31:/etc/xen/vm/toponet31"
dom0="172.16.103.54"
primitive st_secondary stonith:external/xen0 \
op start interval="0" timeout="60s" \
params hostlist="toponet30:/etc/xen/vm/toponet30"
dom0="172.16.103.54"
primitive toponet ocf:heartbeat:toponet \
op start interval="0" timeout="180s" \
op stop interval="0" timeout="60s" \
op monitor interval="10s" role="Master" timeout="20s"
on-fail="standby" \
op monitor interval="20s" role="Slave" timeout="40s" \
op promote interval="0" timeout="120s" \
op demote interval="0" timeout="120s"
group postgres pg_fs PGIP postgresql
ms ms_drbd_postgres drbd_postgres \
meta master-max="1" master-node-max="1" clone-max="2"
clone-node-max="1" notify="true" target-role="Master"
ms ms_toponet toponet \
meta master-max="1" master-node-max="1" clone-max="2"
clone-node-max="1" target-role="Master"
location loc_st_pri st_primary -inf: toponet31
location loc_st_sec st_secondary -inf: toponet30
location master-prefer-node1 postgres 100: toponet30
colocation pg_on_drbd inf: monitor_cluster ms_toponet:Master
postgres
ms_drbd_postgres:Master
order o_start inf: ms_drbd_postgres:start ms_drbd_postgres:promote
postgres:start ms_toponet:start ms_toponet:promote
monitor_cluster:start
property $id="cib-bootstrap-options" \
dc-version="1.1.6-b988976485d15cb702c9307df55512d323831a5e" \
cluster-infrastructure="openais" \
expected-quorum-votes="2" \
no-quorum-policy="ignore" \
stonith-enabled="true"
rsc_defaults $id="rsc-options" \
resource-stickiness="5000"
_______________________________________________
Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
http://oss.clusterlabs.org/mailman/listinfo/pacemaker
Project Home: http://www.clusterlabs.org
Getting started:
http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org
_______________________________________________
Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
http://oss.clusterlabs.org/mailman/listinfo/pacemaker
Project Home: http://www.clusterlabs.org
Getting started:
http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org
_______________________________________________
Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
http://oss.clusterlabs.org/mailman/listinfo/pacemaker
Project Home: http://www.clusterlabs.org
Getting started:
http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org
_______________________________________________
Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
http://oss.clusterlabs.org/mailman/listinfo/pacemaker
Project Home: http://www.clusterlabs.org
Getting started:
http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org