lvs+keepalive实现双主模式(采用DR),同时实现TCP和UDP检测实现非web端的负载均衡,同时实现跨网段的通信

    因业务需求,须要把lvs备机也使用上,故! 使用双主,相互是主的同时也相互是备机。本人用nat测试发现RS没法实现负载均衡,故采用DR模式来实现非web端的负载均衡web

 

lvs1: DIP 10.60.196.183vim

        VIP 10.60.196.185负载均衡

lvs2:DIP 10.60.196.184oop

         VIP 10.60.196.186测试

DR1:10.60.196.181spa

DR2:10.60.196.182router

--------------------------------------------------------server

我这里TCP和UDP同时使用ip

LVS:须要开启IP转发路由

vim /etc/sysctl.conf

keepalive配置:

! Configuration File for keepalived

global_defs {
notification_email {
root@localhost
}
notification_email_from admin@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}

vrrp_instance VI_1 {
state BACKUP                                  #另一台keepalive这里换成MASTER
interface eth0
virtual_router_id 51 
priority 98                                         #这里100
advert_int 1
authentication {
auth_type PASS
auth_pass 11112222
}
virtual_ipaddress {
10.60.196.186/32 label eth0:0
}
}

vrrp_instance VI_2 {
state MASTER            #另外一台BUCKUP
interface eth0
virtual_router_id 150
priority 100          # 这里99
advert_int 1
authentication {
auth_type PASS
auth_pass 11112222
}
virtual_ipaddress {
10.60.196.185/32 label eth0:1
}
}

virtual_server 10.60.196.186 33001 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol TCP
persistence_timeout 0

real_server 10.60.196.181 33001 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}

real_server 10.60.196.182 33001 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}

 

virtual_server 10.60.196.186 33001 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol UDP
persistence_timeout 0

real_server 10.60.196.181 33001 {
weight 1
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}

real_server 10.60.196.182 33001 {
weight 1
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}

 

virtual_server 10.60.196.185 33001 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol TCP
persistence_timeout 0

real_server 10.60.196.181 33001 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}

real_server 10.60.196.182 33001 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}

 

virtual_server 10.60.196.185 33001 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol UDP
persistence_timeout 0

real_server 10.60.196.181 33001 {
weight 1
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}

real_server 10.60.196.182 33001 {
weight 1
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}

配置好之后添加路由

route add -host 10.60.196.185 dev eth0:1

route add -host 10.60.196.186 dev eth0:0

 

rs:须要添加路由同时绑定VIP

RS1和RS2配置相同

ifconfig eth0:0 10.60.196.186 netmask 255.255.255.0

ifconfig eth0:1 10.60.196.185 netmask 255.255.255.0

route add -host 10.60.196.185 dev eth0:1

route add -host 10.60.196.186 dev eth0:0

 

若是还须要外网能够经过另外搭建搭建两台机器作iptables转发   上面须要有一个公网IP和一个内网IP,经过iptables把外网请求所有转发到VIP上面,一台作一个VIP转发 (iptables这里就不写了),这样就能够实现跨网段的通信了!    不一样网段缘由同样

相关文章
相关标签/搜索