Keepalived环形架构,或其他更好的方法

我有三个负载均衡器( LB1,LB2,LB3 ),并计划使用环形架构进行主动 – 主动设置,例如

LB1 LB2 LB3 IP1 IP2 IP3 

想法如下:

  1. 如果LB1失败,IP1将被浮动到IP2
  2. 如果LB2失败,IP2将被浮动到IP3
  3. 如果LB3失败,IP3将被浮动到IP1

上述设置是否共同? 任何潜在的问题?

或者更好的build议三个节点设置?

主动 – 主动scheme可能使用keepalived。 您需要configuration多个vrrp_instance例如:

 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 } } 

第二个节点上有类似的configuration,但statepriority不同的重要一点。 在所示的例子中,你需要改变这些行,使VIP2的另一个节点MASTER和VIP1的另一个节点MASTER 。 默认情况下,每台机器都有自己的VIP,当发生故障时,两台VIP都被分配给剩余的机器。

当然,对于3台机器也可以这样做。 您需要定义三个vrrp_instance而不是两个。