如何对 Pacemaker/Corosync 中的节点进行优先级排序?

How to prioritize nodes in Pacemaker/Corosync?

我按照指南创建了一个具有浮动 IP 的 Nginx HA 集群。

(正在使用 Nginx、corosync、pacemaker)

我遵循的指南: https://dzone.com/articles/how-to-configure-nginx-high-availability-cluster-u

我成功创建了一个 2 节点集群,它们都运行良好。 当Node1下线时,Node2反之使用。 我的问题是,在我的例子中,Node1 应该是主节点,这意味着只要它在线,就应该始终使用它。

更好地描述它:

我到底需要配置什么让它在线时自动切换到Node1?

提前致谢!

这很容易通过一个简单的无限位置约束来完成。在 crmsh 语法中,这将如下所示:

location l_webserver_on_node1 hakase_balancing inf: node1

尽管如此,这并不符合最佳做法。在一个设计良好的 HA 集群中,两个节点应该是平等的,服务在哪里应该无关紧要 运行。

我曾见过 node1 出现间歇性问题的情况。例如,假设 node1 似乎每天崩溃并重新启动一次。这意味着您的服务每天会遇到两次短暂的中断,因为它会迁移到 node2,然后在完成重启后返回到 node1。理想情况下,它应该只在 node1 第一次崩溃时迁移到 node2 一次。然后在您进行故障排除和 repair/replace node1 时呆在那里。