假设我有两个HAProxy实例在集群中运行,以便为其他东西提供负载平衡。两个节点的HAProxy集群可以使用起搏器和Corosync来实现。
考虑两个节点彼此失去联系(但外部世界仍然可以访问)的情况。在这种情况下,他们会决定同时使用与此群集关联的虚拟IP。这种情况会发生吗?如果是,您是否必须实施STONITH来保护虚拟IP资源?没有STONITH,有没有办法解决这个问题?
发布于 2013-02-15 23:50:51
您不应该需要stonith,因为HAProxy不需要共享存储容器。如果你的集群对进入分裂的大脑情况,那又有什么关系呢?无论您的路由器选择连接哪一个,都会工作得很好。
You will probably want the following in sysctl.conf:
#Allow haproxy to start without the interface present - Required for stick table replication:
net.ipv4.ip_nonlocal_bind = 1此外,还要确保您的HA解决方案优雅地失败,即在大脑分裂的情况下,确保两个节点都尝试并上线(在Loadbalancer.org,我们使用了几个补丁来确保HA-Linux心跳的发生),然而,在说了所有这些之后,STONITH的硬件实现也可以工作。
https://stackoverflow.com/questions/14739419
复制相似问题