假设我使用linux心跳和心脏起搏器将两台机器configuration为主动/被动,然后在node1中创build一个资源组,将其提交。 如果我是正确的,configuration将传播到node2。 资源组将要监视机器中的一项服务。
我的问题是,由于2个节点运行相同的服务,哪一个首先成为主动节点? 或者linux的心跳会决定(两者有相等的可能性)?
通过Pacemaker,您不需要“活动节点”和“被动节点”。 所有集群节点(可能超过2个)可以平等地运行服务,并且CIB数据库中的规则告诉CRM(Pacemaker的资源pipe理器)什么节点可以运行哪些服务。
如果将服务configuration为可以在没有约束的两个节点上运行的单个实例运行,则无法确定哪个节点将运行它。 如果你有两个这样的服务,那么你可能会在一个节点上运行一个,另一个节点上运行另一个。 对于第一个服务节点1将是活动的,对于第二个节点2。
通过声明一些常量来定义实际的首选项。 例如:'在运行服务2的节点上运行服务1'或'始终优先于两个服务的节点1'。
通常你有一个定义'逻辑主'的服务 – 它可以是主状态下的IP地址或DRBD卷 – 那么所有其他的服务都依赖于这个服务,你可以通过设置主服务的首选项来select'主'。
有关设置约束的详细信息,请参阅Pacemaker文档。
与Pacemaker一起使用时,心跳本身不会对主/从状态或正在运行的资源做出任何决定。