Load-Balancing
環形架構中的 Keepalived 或其他更好的方法
我有三個負載均衡器(LB1、LB2、LB3)併計劃使用環形架構進行主動-主動設置,例如
LB1 LB2 LB3 IP1 IP2 IP3
構想如下:
- 如果 LB1 失敗,IP1 將浮動到 IP2
- 如果 LB2 失敗,IP2 將浮動到 IP3
- 如果 LB3 失敗,IP3 將浮動到 IP1
以上設置通用嗎?有什麼潛在的問題嗎?
或者對三節點設置有什麼更好的建議?
使用keepalived可以實現雙活場景。需要配置多個
vrrp_instance
s如:vrrp_sync_group G1 { # must be before vrrp_instance declaration group { vserver1 } group { vserver2 } } # The primary server vrrp_instance vserver1 { interface eth0 state MASTER virtual_router_id 1 priority 100 advert_int 3 authentication { auth_type PASS auth_pass mypass } virtual_ipaddress { VIP1/24 # default CIDR mask is /32 } } # The backup server vrrp_instance vserver2 { interface eth0 state backup virtual_router_id 2 priority 50 advert_int 3 authentication { auth_type PASS auth_pass mypapas } virtual_ipaddress { VIP2/24 # default CIDR mask is /32 } }
重要的一點是在第二個節點上具有類似的配置,但具有不同
state
的priority
. 在所示範例中,您需要更改這些行以使另一個節點MASTER
用於 VIP2 和BACKUP
VIP1。預設情況下,每台機器都有自己的 VIP,當發生故障時,兩個 VIP 都分配給剩餘的機器。當然,也可以對 3 台機器進行類似的操作。您需要定義三個
vrrp_instance
而不是兩個。