0

假設我有兩個在集羣中運行的HAProxy實例來爲別的東西提供負載平衡。兩節點HAProxy集羣可以使用Pacemaker和Corosync來實現。如果HAProxy集羣爲多臺計算機分配相同的虛擬IP,會發生什麼情況?

考慮兩個節點彼此失去聯繫的情況(但仍然可以被外部世界訪問)。在這種情況下,他們會決定採取與這個集羣相關的虛擬IP。這種情況會發生嗎?如果是這樣,你是否必須實施STONITH來保護虛擬IP資源?如果沒有STONITH,有沒有辦法解決這個問題?

回答

1

您應該不需要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的硬件實現後,它們也可以工作。

相關問題