[Pacemaker] help building 2 node config
Alex Samad - Yieldbroker
Alex.Samad at yieldbroker.com
Thu Mar 13 05:13:59 UTC 2014
Well I think I have worked it out
# Create ybrp ip address
pcs resource create ybrpip ocf:heartbeat:IPaddr2 params ip=10.172.214.50 cidr_netmask=24 nic=eth0 clusterip_hash=sourceip-sourceport \
op start interval="0s" timeout="60s" \
op monitor interval="5s" timeout="20s" \
op stop interval="0s" timeout="60s" \
# Clone it
#pcs resource clone ybrpip globally-unique=true clone-max=2 clone-node-max=2
# Create status
pcs resource create ybrpstat ocf:yb:ybrp op \
op start interval="10s" timeout="60s" \
op monitor interval="5s" timeout="20s" \
op stop interval="10s" timeout="60s" \
# clone it it
pcs resource clone ybrpip globally-unique=true clone-max=2 clone-node-max=2
pcs resource clone ybrpstat globally-unique=false clone-max=2 clone-node-max=2
pcs constraint colocation add ybrpip ybrpstat INFINITY
pcs constraint colocation add ybrpip-clone ybrpstat-clone INFINITY
pcs constraint order ybrpstat then ybrpip
pcs constraint order ybrpstat-clone then ybrpip-clone
pcs constraint location ybrpip prefers devrp1
pcs constraint location ybrpip-clone prefers devrp2
Have I done anything silly ?
Also as I don't have the application actually running on my nodes, I notice fails occur very fast, more than 1 sec, where its that configured and how do I configure it such that after 2 or 3,4 or 5 attempts it fails over to the other node. I also want then resources to move back to the original nodes when they come back
So I tried the config above and when I rebooted node a the ip address on A went to node B, but when A came back it didn't move back to node A
pcs config
Cluster Name: ybrp
Corosync Nodes:
Pacemaker Nodes:
devrp1 devrp2
Resources:
Clone: ybrpip-clone
Meta Attrs: globally-unique=true clone-max=2 clone-node-max=2
Resource: ybrpip (class=ocf provider=heartbeat type=IPaddr2)
Attributes: ip=10.172.214.50 cidr_netmask=24 nic=eth0 clusterip_hash=sourceip-sourceport
Operations: start interval=0s timeout=60s (ybrpip-start-interval-0s)
monitor interval=5s timeout=20s (ybrpip-monitor-interval-5s)
stop interval=0s timeout=60s (ybrpip-stop-interval-0s)
Clone: ybrpstat-clone
Meta Attrs: globally-unique=false clone-max=2 clone-node-max=2
Resource: ybrpstat (class=ocf provider=yb type=ybrp)
Operations: start interval=10s timeout=60s (ybrpstat-start-interval-10s)
monitor interval=5s timeout=20s (ybrpstat-monitor-interval-5s)
stop interval=10s timeout=60s (ybrpstat-stop-interval-10s)
Stonith Devices:
Fencing Levels:
Location Constraints:
Resource: ybrpip
Enabled on: devrp1 (score:INFINITY) (id:location-ybrpip-devrp1-INFINITY)
Resource: ybrpip-clone
Enabled on: devrp2 (score:INFINITY) (id:location-ybrpip-clone-devrp2-INFINITY)
Ordering Constraints:
start ybrpstat then start ybrpip (Mandatory) (id:order-ybrpstat-ybrpip-mandatory)
start ybrpstat-clone then start ybrpip-clone (Mandatory) (id:order-ybrpstat-clone-ybrpip-clone-mandatory)
Colocation Constraints:
ybrpip with ybrpstat (INFINITY) (id:colocation-ybrpip-ybrpstat-INFINITY)
ybrpip-clone with ybrpstat-clone (INFINITY) (id:colocation-ybrpip-clone-ybrpstat-clone-INFINITY)
Cluster Properties:
cluster-infrastructure: cman
dc-version: 1.1.10-14.el6-368c726
last-lrm-refresh: 1394682724
no-quorum-policy: ignore
stonith-enabled: false
the constraints should have moved it back to node A ???
pcs status
Cluster name: ybrp
Last updated: Thu Mar 13 16:13:40 2014
Last change: Thu Mar 13 16:06:21 2014 via cibadmin on devrp1
Stack: cman
Current DC: devrp2 - partition with quorum
Version: 1.1.10-14.el6-368c726
2 Nodes configured
4 Resources configured
Online: [ devrp1 devrp2 ]
Full list of resources:
Clone Set: ybrpip-clone [ybrpip] (unique)
ybrpip:0 (ocf::heartbeat:IPaddr2): Started devrp2
ybrpip:1 (ocf::heartbeat:IPaddr2): Started devrp2
Clone Set: ybrpstat-clone [ybrpstat]
Started: [ devrp1 devrp2 ]
> -----Original Message-----
> From: Alex Samad - Yieldbroker [mailto:Alex.Samad at yieldbroker.com]
> Sent: Thursday, 13 March 2014 2:07 PM
> To: pacemaker at oss.clusterlabs.org
> Subject: [Pacemaker] help building 2 node config
>
> Hi
>
> I sent out an email to help convert an old config. Thought it might better to
> start from scratch.
>
> I have 2 nodes, which run an application (sort of a reverse proxy).
> Node A
> Node B
>
> I would like to use OCF:IPaddr2 so that I can load balance IP
>
> # Create ybrp ip address
> pcs resource create ybrpip ocf:heartbeat:IPaddr2 params ip=10.172.214.50
> cidr_netmask=24 nic=eth0 clusterip_hash=sourceip-sourceport \
> op start interval="0s" timeout="60s" \
> op monitor interval="5s" timeout="20s" \
> op stop interval="0s" timeout="60s" \
>
> # Clone it
> pcs resource clone ybrpip2 ybrpip meta master-max="2" master-node-
> max="2" clone-max="2" clone-node-max="1" notify="true"
> interleave="true"
>
>
> This seems to work okay but I tested
> On node B I ran this
> crm_mon -1 ; iptables -nvL INPUT | head -5 ; ip a ; echo -n [ ; cat
> /proc/net/ipt_CLUSTERIP/10.172.214.50 ; echo ]
>
> in particular I was watching /proc/net/ipt_CLUSTERIP/10.172.214.50
>
> and I rebooted node A, I noticed ipt_CLUSTERIP didn't fail over ? I would
> have expected to see 1,2 in there on nodeB when nodeA failed
>
> in fact when I reboot nodea it comes back with 2 in there ... that's not good !
>
>
> pcs resource show ybrpip-clone
> Clone: ybrpip-clone
> Meta Attrs: master-max=2 master-node-max=2 clone-max=2 clone-node-
> max=1 notify=true interleave=true
> Resource: ybrpip (class=ocf provider=heartbeat type=IPaddr2)
> Attributes: ip=10.172.214.50 cidr_netmask=24 nic=eth0
> clusterip_hash=sourceip-sourceport
> Operations: start interval=0s timeout=60s (ybrpip-start-interval-0s)
> monitor interval=5s timeout=20s (ybrpip-monitor-interval-5s)
> stop interval=0s timeout=60s (ybrpip-stop-interval-0s)
>
> pcs resource show ybrpip
> Resource: ybrpip (class=ocf provider=heartbeat type=IPaddr2)
> Attributes: ip=10.172.214.50 cidr_netmask=24 nic=eth0
> clusterip_hash=sourceip-sourceport
> Operations: start interval=0s timeout=60s (ybrpip-start-interval-0s)
> monitor interval=5s timeout=20s (ybrpip-monitor-interval-5s)
> stop interval=0s timeout=60s (ybrpip-stop-interval-0s)
>
>
>
> so I think this has something todo with meta data..
>
>
>
> I have another resource
> pcs resource create ybrpstat ocf:yb:ybrp op monitor interval=5s
>
> I want 2 of these one for nodeA and 1 for node B.
>
> I want the IP address to be dependant on if this resource is available on the
> node. How can I do that ?
>
> Alex
>
>
>
>
>
> _______________________________________________
> Pacemaker mailing list: Pacemaker at 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
More information about the Pacemaker
mailing list