有了keepalived可以不用执行ipvsadm了, 并且可以实现自动剔除节点,还可以两台Director做高可用。
手动配置LVS请看内核级负载均衡 LVS DR模式 部署记录
另见:使用Keepalived来实现Nginx高可用
规划:
机器 |
IP |
VIP |
10.0.0.8 |
director |
10.0.0.40 |
realserver1 |
10.0.0.42 |
realserver2 |
10.0.0.43 |
网卡interface |
eth0 |
单台Director Server
keepalived 配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| vrrp_sync_group GOP { group { VI_PRI_CONNECT VI_PRI_AUTH } }
vrrp_instance VI_PRI_CONNECT { state BACKUP interface eth0 virtual_router_id 128 priority 100 advert_int 1 nopreempt authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.0.0.8/24 dev eth0 } }
virtual_server 10.0.0.8 80 { delay_loop 6 lb_algo rr lb_kind DR protocol TCP
real_server 10.0.0.42 80 { weight 100 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 10.0.0.43 80 { weight 100 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } }
|
两台Director Server做主备
规划:
机器 |
IP |
VIP |
10.0.0.8 |
director 主 |
10.0.0.40 |
director 备 |
10.0.0.41 |
realserver1 |
10.0.0.42 |
realserver2 |
10.0.0.43 |
网卡interface |
eth0 |
主Director Server
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| vrrp_sync_group GOP { group { VI_PRI_CONNECT VI_PRI_AUTH } }
vrrp_instance VI_PRI_CONNECT { state MASTER interface eth0 virtual_router_id 128 priority 110 # 主的权重要设置高一些 advert_int 1 nopreempt unicast_src_ip 10.0.0.40 # 本机的IP unicast_peer { 10.0.0.41 # 其他Keepalived机器的IP,可以写多个 } authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.0.0.8/24 dev eth0 } }
virtual_server 10.0.0.8 80 { delay_loop 6 lb_algo rr lb_kind DR protocol TCP
real_server 10.0.0.42 80 { weight 100 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 10.0.0.43 80 { weight 100 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } }
|
备Director Server
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| vrrp_sync_group GOP { group { VI_PRI_CONNECT VI_PRI_AUTH } }
vrrp_instance VI_PRI_CONNECT { state BACKUP interface eth0 virtual_router_id 128 priority 100 advert_int 1 nopreempt unicast_src_ip 10.0.0.41 # 本机的IP unicast_peer { 10.0.0.40 # 其他Keepalived机器的IP,可以写多个 } authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.0.0.8/24 dev eth0 } }
virtual_server 10.0.0.8 80 { delay_loop 6 lb_algo rr lb_kind DR protocol TCP
real_server 10.0.0.42 80 { weight 100 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 10.0.0.43 80 { weight 100 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } }
|