[ClusterLabs] Cloned IP not moving back after node restart or standby
Ken Gaillot
kgaillot at redhat.com
Wed Jun 7 12:52:11 EDT 2017
On 05/30/2017 11:47 AM, Przemyslaw Kulczycki wrote:
> Hi.
> I'm trying to setup a 2-node corosync+pacemaker cluster to function as
> an active-active setup for nginx with a shared IP.
>
> I've discovered (much to my disappointment) that every time I restart
> one node or put it in standby, the second instance of the cloned IP gets
> moved to the first node and doesn't go back once the second node is
> available, even though I have set stickiness to 0.
>
> [upr at webdemo3 ~]$ sudo pcs status
> Cluster name: webdemo_cluster2
> Stack: corosync
> Current DC: webdemo3 (version 1.1.15-11.el7_3.4-e174ec8) - partition
> with quorum
> Last updated: Tue May 30 18:40:18 2017 Last change: Tue May 30
> 17:56:24 2017 by hacluster via crmd on webdemo4
>
> 2 nodes and 4 resources configured
>
> Online: [ webdemo3 webdemo4 ]
>
> Full list of resources:
>
> Clone Set: ha-ip-clone [ha-ip] (unique)
> ha-ip:0 (ocf::heartbeat:IPaddr2): Started webdemo3
> ha-ip:1 (ocf::heartbeat:IPaddr2): Started webdemo3
> Clone Set: ha-nginx-clone [ha-nginx] (unique)
> ha-nginx:0 (ocf::heartbeat:nginx): Started webdemo3
> ha-nginx:1 (ocf::heartbeat:nginx): Started webdemo4
>
> Failed Actions:
> * ha-nginx:0_monitor_20000 on webdemo3 'not running' (7): call=108,
> status=complete, exitreason='none',
> last-rc-change='Tue May 30 17:56:46 2017', queued=0ms, exec=0ms
>
>
> Daemon Status:
> corosync: active/enabled
> pacemaker: active/enabled
> pcsd: active/enabled
>
> [upr at webdemo3 ~]$ sudo pcs config --full
> Cluster Name: webdemo_cluster2
> Corosync Nodes:
> webdemo3 webdemo4
> Pacemaker Nodes:
> webdemo3 webdemo4
>
> Resources:
> Clone: ha-ip-clone
> Meta Attrs: clone-max=2 clone-node-max=2 globally-unique=true
> *stickiness=0*
It's resource-stickiness, not stickiness. So, this is ignored, and the
resource-stickiness of 100 set in resource defaults is what is used.
> Resource: ha-ip (class=ocf provider=heartbeat type=IPaddr2)
> Attributes: ip=10.75.39.235 cidr_netmask=24 clusterip_hash=sourceip
> Operations: start interval=0s timeout=20s (ha-ip-start-interval-0s)
> stop interval=0s timeout=20s (ha-ip-stop-interval-0s)
> monitor interval=10s timeout=20s (ha-ip-monitor-interval-10s)
> Clone: ha-nginx-clone
> Meta Attrs: globally-unique=true clone-node-max=1
> Resource: ha-nginx (class=ocf provider=heartbeat type=nginx)
> Operations: start interval=0s timeout=60s (ha-nginx-start-interval-0s)
> stop interval=0s timeout=60s (ha-nginx-stop-interval-0s)
> monitor interval=20s timeout=30s
> (ha-nginx-monitor-interval-20s)
>
> Stonith Devices:
> Fencing Levels:
>
> Location Constraints:
> Ordering Constraints:
> Colocation Constraints:
> ha-ip-clone with ha-nginx-clone (score:INFINITY)
> (id:colocation-ha-ip-ha-nginx-INFINITY)
> Ticket Constraints:
>
> Alerts:
> No alerts defined
>
> Resources Defaults:
> resource-stickiness: 100
> Operations Defaults:
> No defaults set
>
> Cluster Properties:
> cluster-infrastructure: corosync
> cluster-name: webdemo_cluster2
> dc-version: 1.1.15-11.el7_3.4-e174ec8
> have-watchdog: false
> last-lrm-refresh: 1496159785
> no-quorum-policy: ignore
> stonith-enabled: false
>
> Quorum:
> Options:
>
> Am I doing something incorrectly?
>
> Additionally, I'd like to know what's the difference between these commands:
>
> sudo pcs resource update ha-ip-clone stickiness=0
>
> sudo pcs resource meta ha-ip-clone resource-stickiness=0
>
>
> They seem to set the same thing, but there might be a subtle difference.
The second one is the correct one -- resource-stickiness is a
meta-attribute (i.e. used directly by the cluster, not the resource
agent). The first one would set a resource agent parameter "stickiness".
I'd expect pcs to give an error since the agent doesn't support such a
parameter. Meta-attributes are free-form, so you can tag a resource with
your own site-specific information if desired, therefore there won't be
any such complaints about unsupported meta-attributes.
>
> --
> Best Regards
>
> Przemysław Kulczycki
> System administrator
> Avaleo
>
> Email: upr at avaleo.net <mailto:upr at avaleo.net>
More information about the Users
mailing list