[ClusterLabs] resource cloned group colocations
Gerald Vogt
vogt at spamcop.net
Thu Mar 2 02:41:08 EST 2023
Hi,
I am setting up a mail relay cluster which main purpose is to maintain
the service ips via IPaddr2 and move them between cluster nodes when
necessary.
The service ips should only be active on nodes which are running all
necessary mail (systemd) services.
So I have set up a resource for each of those services, put them into a
group in order they should start, cloned the group as they are normally
supposed to run on the nodes at all times.
Then I added an order constraint
start mail-services-clone then start mail1-ip
start mail-services-clone then start mail2-ip
and colocations to prefer running the ips on different nodes but only
with the clone running:
colocation add mail2-ip with mail1-ip -1000
colocation ip1 with mail-services-clone
colocation ip2 with mail-services-clone
as well as a location constraint to prefer running the first ip on the
first node and the second on the second
location ip1 prefers ha1=2000
location ip2 prefers ha2=2000
Now if I stop pacemaker on one of those nodes, e.g. on node ha2, it's
fine. ip2 will be moved immediately to ha3. Good.
However, if pacemaker on ha2 starts up again, it will immediately remove
ip2 from ha3 and keep it offline, while the services in the group are
starting on ha2. As the services unfortunately take some time to come
up, ip2 is offline for more than a minute.
It seems the colocations with the clone are already good once the clone
group begins to start services and thus allows the ip to be removed from
the current node.
I was wondering how can I define the colocation to be accepted only if
all services in the clone have been started? And not once the first
service in the clone is starting?
Thanks,
Gerald
More information about the Users
mailing list