我在使用起搏器设置以下内容时遇到问题:
一个 2 节点集群,其中主服务器始终具有 IP 地址 A,从属服务器始终具有 IP 地址 B。
这是一个故障转移集群,所以当服务器切换角色时,IP地址需要相应改变。
听起来它应该是一个简单的配置,但到目前为止,还没有运气。
我在使用起搏器设置以下内容时遇到问题:
一个 2 节点集群,其中主服务器始终具有 IP 地址 A,从属服务器始终具有 IP 地址 B。
这是一个故障转移集群,所以当服务器切换角色时,IP地址需要相应改变。
听起来它应该是一个简单的配置,但到目前为止,还没有运气。
根据您更新的问题和评论,我认为您正试图以错误的方式解决这个问题。一般来说,在故障转移配置中,每台主机都应该有一个固定的 IP,无论其角色如何,该 IP 都不会改变。所以服务器 A 总是在 xxxa 可达,而服务器 B 总是在 xxxb 可达
如果您想拥有一个始终可以访问主服务器的 IP,那么您想将一个 IPaddr 资源添加到您的 Pacemaker 集群中,对于一个 xxxc 的 IP,Pacemaker 将在您指定的接口上显示 IP(或作为现有接口的别名),并且该地址始终可以访问主站。
您可能还可以在集群中设置另一个 IPaddr 资源以始终在辅助节点上运行(只需设置一个规则,即它不能与主 IPaddr 资源位于同一节点上,pacemaker 应该将其推送到辅助节点,如果它起来了)。但是,我从来没有理由在我设置的任何集群中这样做。通常,您感兴趣的服务在主节点上运行,所以您真正关心的就是这些。
这几乎是最基本的设置,并显示在示例中。如果这不是您想要的,您将需要更多地解释您的意图。
编辑:
根据您的最新评论,我认为基本上您需要做的是创建两个 IPaddr 资源,一个用于主服务器,一个用于从服务器。在主资源上,在其他集群资源旁边添加一个得分为 INFINITY 的托管约束。对于从 IPaddr,添加 -INFINITY 与主 IPaddr 的托管约束。
这将确保主 IPaddr 始终与您的集群资源一起运行,并且从 IPaddr 永远不会与主 IPaddr 在同一节点上。
如果特定服务器应始终具有某种资源,则不需要起搏器。最简单的配置!