0

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

(正在使用 Nginx、corosync、pacemaker)

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

我成功创建了一个 2 节点集群,它们都工作正常。当 Node1 下线时,使用 Node2 反之亦然。我的问题是,在我的情况下,Node1 应该是主要的,这意味着它应该始终在它在线时使用。

为了更好地描述它:

  • Node1 和 Node2 在线 -> 正在使用 Node1
  • Node1 离线 -> Node2 正在自动使用
  • (问题)当Node1重新上线时,Node2还在使用中
  • 如果我想再次使用 Node1,我需要手动停止 Node2。

我究竟需要配置什么才能使其在联机时自动切换到 Node1?

先感谢您!

4

1 回答 1

1

这可以通过简单的无限位置约束轻松完成。在 crmsh 语法中,这看起来像这样:

location l_webserver_on_node1 hakase_balancing inf: node1

话虽如此,这并不符合最佳实践。在设计良好的 HA 集群中,两个节点应该是相等的,并且服务运行的位置应该无关紧要。

我见过 node1 出现间歇性问题的情况。例如,假设 node1 似乎每天崩溃并重新启动一次。这意味着每天两次您的服务在迁移到节点 2 时会遇到短暂的中断,然后在完成重新启动后又回到节点 1。理想情况下,它应该只在 node1 第一次崩溃时迁移到 node2 一次。然后在您排除故障和修复/更换 node1 时留在那里。

于 2019-10-04T15:39:46.467 回答