在Linux HA中,我们能否将节点关联性分配给crm资源

时间:2019-08-08 16:37:50

标签: linux high-availability pacemaker

我正在使用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

1 个答案:

答案 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