DR模式搭建
1.三臺機器
分發器
ip地址 188.130
rs1
ip地址 188.129
rs2
ip地址 188.133
vip
ip地址 188.200
2.編輯腳本:
[root@weixing01 ~]# vim /usr/local/sbin/lvs_dr.sh
#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/usr/sbin/ipvsadm
vip=192.168.188.200
rs1=192.168.188.129
rs2=192.168.188.133
#注意這裏的網卡名字
ifdown ens33
ifup ens33
ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev ens33:2
$ipv -C
$ipv -A -t $vip:80 -s rr
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1
3.執行腳本:
[root@weixing01 ~]# sh !$
sh /usr/local/sbin/lvs_dr.sh
成功斷開設備 'ens33'。
連接已成功激活(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConn
4.兩個rs編寫腳本:
[root@weixing-02 ~]# vim /usr/local/sbin/lvs_rs.sh
#/bin/bash
vip=192.168.188.200
#把vip綁定在lo上,是爲了實現rs直接把結果返回給客戶端
ifdown lo
ifup lo
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
#以下操作爲更改arp內核參數,目的是爲了讓rs順利發送mac地址給客戶端
#參考文檔www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
5.執行腳本:
[root@weixing-02 ~]# sh !$
sh /usr/local/sbin/lvs_rs.sh
6.測試:
可以實現負載均衡
keepalived lvs
1.編輯配置文件:
[root@weixing01 ~]# vi /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
#備用服務器上爲 BACKUP
state MASTER
#綁定vip的網卡爲ens33,你的網卡和阿銘的可能不一樣,這裏需要你改一下
interface ens33
virtual_router_id 51
#備用服務器上爲90
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass aminglinux
}
virtual_ipaddress {
192.168.188.200
}
}
virtual_server 192.168.188.200 80 {
#(每隔10秒查詢realserver狀態)
delay_loop 10
#(lvs 算法)
lb_algo wlc
#(DR模式)
lb_kind DR
2.測試:rs2上的nginx關閉在開啓,發現轉發器上面可以自動檢測到
[root@weixing01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.188.200:80 wlc persistent 60
-> 192.168.188.129:80 Route 100 0 0
-> 192.168.188.133:80 Route 100 0 0
[root@weixing01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.188.200:80 wlc persistent 60
-> 192.168.188.129:80 Route 100 0 0
[root@weixing01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.188.200:80 wlc persistent 60
-> 192.168.188.129:80 Route 100 0 0
-> 192.168.188.133:80 Route 100 0 0