[ClusterLabs] IP clone issue
Vladislav Bogdanov
bubble at hoster-ok.com
Tue Sep 5 14:28:33 EDT 2017
05.09.2017 17:15, Octavian Ciobanu wrote:
> Based on ocf:heartbeat:IPaddr2 man page it can be used without an static
> IP address if the kernel has net.ipv4.conf.all.promote_secondaries=1.
>
> "There must be at least one static IP address, which is not managed by
> the cluster, assigned to the network interface. If you can not assign
> any static IP address on the interface, modify this kernel parameter:
> sysctl -w net.ipv4.conf.all.promote_secondaries=1 (or per device)"
>
> This kernel parameter is set by default in CentOS 7.3.
>
> With clone-node-max="1" it works as it should be but with
> clone-node-max="2" both instances of VIP are started on the same node
> even if the other node is online.
That actually is not a new issue.
Try raising resource priority
(http://clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/s-resource-options.html#_resource_meta_attributes).
That _may_ help.
Iirc, currently it is the only method to spread globally-unique clones
across all the nodes at least at the start-up (with higher priority they
are allocated first, so they land to nodes which have less resources).
But, after the cluster state change (rebooted/fenced node gets online)
pacemaker tries to preserve resource placement if several nodes have the
equal 'score' for the given resource. That applies to globally-unique
clones as well. Changing placement-strategy to utilization or balanced
does not help as well.
The only (IMHO) bullet-proof way to make them spread across the cluster
after node reboot is to make 'synthetic' full-mesh anti-colocation
between globally-unique clone instances. Unfortunately, that can be made
probably only in the pacemaker source code. A possible hack would be to
anti-colocate clone with itself, but I didn't try that (although the is
on my todo list) and honestly do not expect that to work. I will need
the same functionality for the upcoming project (many-nodes
active-active cluster with clusterip), so hopefully find a way to
achieve that goal in several months.
(I'm cc'ing Ken directly to draw his attention to this topic).
>
> Pacemaker 1.1 Cluster from Scratch say that
> "|clone-node-max=2| says that one node can run up to 2 instances of the
> clone. This should also equal the number of nodes that can host the IP,
> so that if any node goes down, another node can take over the failed
> node’s "request bucket". Otherwise, requests intended for the failed
> node would be discarded."
>
> To have this functionality do I must have a static IP set on the
> interfaces ?
>
>
>
> On Tue, Sep 5, 2017 at 4:54 PM, emmanuel segura <emi2fast at gmail.com
> <mailto:emi2fast at gmail.com>> wrote:
>
> I never tried to set an virtual ip in one interfaces without ip,
> because the vip is a secondary ip that switch between nodes, not
> primary ip
>
> 2017-09-05 15:41 GMT+02:00 Octavian Ciobanu <coctavian1979 at gmail.com
> <mailto:coctavian1979 at gmail.com>>:
>
> Hello all,
>
> I've encountered an issue with IP cloning.
>
> Based the "Pacemaker 1.1 Clusters from Scratch" I've configured
> a test configuration with 2 nodes based on CentOS 7.3. The nodes
> have 2 Ethernet cards one for cluster communication with private
> IP network and second for public access to services. The public
> Ethernet has no IP assigned at boot.
>
> I've created an IP resource with clone using the following command
>
> pcs resource create ClusterIP ocf:heartbeat:IPaddr2 params
> nic="ens192" ip="xxx.yyy.zzz.www" cidr_netmask="24"
> clusterip_hash="sourceip" op start interval="0" timeout="20" op
> stop interval="0" timeout="20" op monitor interval="10"
> timeout="20" meta resource-stickiness=0 clone meta clone-max="2"
> clone-node-max="2" interleave="true" globally-unique="true"
>
> The xxx.yyy.zzz.www is public IP not a private one.
>
> With the above command the IP clone is created but it is started
> only on one node. This is the output of pcs status command
>
> Clone Set: ClusterIP-clone [ClusterIP] (unique)
> ClusterIP:0 (ocf::heartbeat:IPaddr2): Started node02
> ClusterIP:1 (ocf::heartbeat:IPaddr2): Started node02
>
> If I modify the clone-node-max to 1 then the resource is started
> on both nodes as seen in this pcs status output:
>
> Clone Set: ClusterIP-clone [ClusterIP] (unique)
> ClusterIP:0 (ocf::heartbeat:IPaddr2): Started node02
> ClusterIP:1 (ocf::heartbeat:IPaddr2): Started node01
>
> But if one node fails the IP resource is not migrated to active
> node as is said in documentation.
>
> Clone Set: ClusterIP-clone [ClusterIP] (unique)
> ClusterIP:0 (ocf::heartbeat:IPaddr2): Started node02
> ClusterIP:1 (ocf::heartbeat:IPaddr2): Stopped
>
> When the IP is active on both nodes the services are accessible
> so there is not an issue with the fact that the interface dose
> not have an IP allocated at boot. The gateway is set with
> another pcs command and it is working.
>
> Thank in advance for any info.
>
> Best regards
> Octavian Ciobanu
>
> _______________________________________________
> Users mailing list: Users at clusterlabs.org
> <mailto:Users at clusterlabs.org>
> http://lists.clusterlabs.org/mailman/listinfo/users
> <http://lists.clusterlabs.org/mailman/listinfo/users>
>
> Project Home: http://www.clusterlabs.org
> Getting started:
> http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> <http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf>
> Bugs: http://bugs.clusterlabs.org
>
>
>
>
> --
> .~.
> /V\
> // \\
> /( )\
> ^`~'^
>
> _______________________________________________
> Users mailing list: Users at clusterlabs.org <mailto:Users at clusterlabs.org>
> http://lists.clusterlabs.org/mailman/listinfo/users
> <http://lists.clusterlabs.org/mailman/listinfo/users>
>
> Project Home: http://www.clusterlabs.org
> Getting started:
> http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> <http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf>
> Bugs: http://bugs.clusterlabs.org
>
>
>
>
> _______________________________________________
> Users mailing list: Users at clusterlabs.org
> http://lists.clusterlabs.org/mailman/listinfo/users
>
> 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 Users
mailing list