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這裏就不寫了),這樣就能夠實現跨網段的通信了!    不一樣網段緣由同樣

相關文章
相關標籤/搜索