我正在使用SLEHA12SP3在SUSE12 SP3上使用linux HA群集
我使用ocf资源代理“ ocf :: heartbeat:anything”创建了一个自定义CRM资源(我称之为ucaproc)。但是,我的问题是crm资源与linux HA群集中的节点之间的相似性。似乎为群集提供虚拟IP的名为“ failover-ip”的资源始终在节点HA1上启动,但是默认情况下,我的自定义资源(称为ucaproc)始终在节点HA2上运行。查看显示群集资源的“ crm status”命令的输出
crm status
Stack: corosync
Current DC: HA1 (version 1.1.16-6.5.1-77ea74d) -
partition with quorum
Last updated: Thu Aug 8 12:21:33 2019
Last change: Thu Aug 8 10:44:45 2019 by root via cibadmin on HA1
2 nodes configured
2 resources configured
Online: [ HA1 HA2 ]
Full list of resources:
failover-ip (ocf::heartbeat:IPaddr2): Started HA1
ucaproc (ocf::heartbeat:anything): Started HA2
如何强制我的自定义资源(ucaproc)与“ failover-ip”在同一节点上运行。基本上,我希望“ failover-ip”和“ ucaproc”资源都在同一节点(活动节点HA1)上运行,并且当该节点发生故障时,我希望两者都一起故障转移到其他节点(备用节点HA2)。这里两个节点都是主动的,只是我根据运行的资源将它们视为主动和被动。
感谢帮助
Yogesh Devi
答案 0 :(得分:2)
默认情况下,Pacemaker将尝试在群集节点之间分配资源。这很可能是资源总是在不同节点上启动的原因。为了确保资源在相同的节点上运行,我们可以使用托管约束。例如:
crm(live)configure#托管代管failover-ip_with_ucaproc inf:failover-ip ucaproc
这指示起搏器对运行ucaproc的任何节点加权无穷(1,000,000)的故障转移ip。
有关托管资源的更多信息,您可以在此处查看Pacemaker文档:https://clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/s-resource-colocation.html