1. 程式人生 > >LVS負載均衡DR工作流程

LVS負載均衡DR工作流程

自己 gre ase -h blog dip real 後端服務 橋接

LVS負載均衡DR工作流程

(a) 當用戶請求到達Director Server,此時請求的數據報文會先到內核空間的PREROUTING鏈。 此時報文的源IP為CIP,目標IP為VIP

(b) PREROUTING檢查發現數據包的目標IP是本機,將數據包送至INPUT鏈

(c) IPVS比對數據包請求的服務是否為集群服務,若是,將請求報文中的源MAC地址修改為DIP的MAC地址,將目標MAC地址修改RIP的MAC地址,然後將數據包發至POSTROUTING鏈。 此時的源IP和目的IP均未修改,僅修改了源MAC地址為DIP的MAC地址,目標MAC地址為RIP的MAC地址

(d) 由於DS和RS在同一個網絡中,所以是通過二層來傳輸。POSTROUTING鏈檢查目標MAC地址為RIP的MAC地址,那麽此時數據包將會發至Real Server。

(e) RS發現請求報文的MAC地址是自己的MAC地址,就接收此報文。處理完成之後,將響應報文通過lo接口傳送給eth0網卡然後向外發出。 此時的源IP地址為VIP,目標IP為CIP

(f) 響應報文最終送達至客戶端

特點:

1、保證前端路由將目標地址為VIP報文統統發給Director Server,而不是RS

2、RS可以使用私有地址;也可以是公網地址,如果使用公網地址,此時可以通過互聯網對RIP進行直接訪問

3、RS跟Director Server必須在同一個物理網絡中

4、所有的請求報文經由Director Server,但響應報文必須不能進過Director Server

5、不支持地址轉換,也不支持端口映射

6、RS可以是大多數常見的操作系統

7、RS的網關絕不允許指向DIP(因為我們不允許他經過director)

8、RS上的lo接口配置VIP的IP地址

實驗:負載均衡集群企業級應用實戰-LVS-DR模式:

實驗環境:一臺DR負載均衡器,一塊網卡172.17.252.66,橋接,一臺後端服務器172.17.252.68,一塊網卡,橋接

一,在DR負載均衡器上

1.yum install ipvsadm -y

2.grep -i -C 10 "ipvs" /boot/config-VERSION-RELEASE.x86_64,#查看內核是否支持ipvs模塊

3.iptables -F清空防火墻策略

setenforce 0關閉selinux策略

4.ifconfig ens33:0 172.17.252.100 broadcast 172.17.252.100 netmask 255.255.255.255 up #配置VIP到本地網卡別名ens33:0上(vip地址可以是隨意的),並且只廣播自己,否則,將來會和後端服務器上回環網卡上配置的vip沖突,所以在後端服務器上配置的vip也只廣播自己

5.route add -host 172.17.252.100 dev ens33:0 #配置vip路由

6.ipvsadm -A -t 172.17.252.100:80 -s wrr #開啟一個基於80端口的虛擬web服務,調度方式為wrr

7.ipvsadm -a -t 172.17.252.100:80 -r 172.17.252.68:80 -g -w 1 #配置web服務後端real server 為DR工作方式 權重為1

技術分享

8.修改內核配置,開啟路由轉發

vim /etc/sysctl.conf

net.ipv4.ip_forward=1

sysctl -p 使修改的內核配置參數生效技術分享

二,在RS後端服務器上

iptables -F ;setenforce 0清空防火墻策略,關閉selinux策略

1.ifconfig lo:0 172.17.253.100 broadcast 172.17.253.100 netmask 255.255.255.255 up #配置VIP到本地回環網卡lo上,並只廣播自己

2.route add -host 172.17.253.100 lo:0 #配置本地回環網卡路由

3.

echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore

#1 只回答目標IP地址是來訪網絡接口本地地址的ARP查詢請求

echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

#2 對查詢目標使用最適當的本地地址.在此模式下將忽略這個IP數據包的源地址並嘗試選擇與能與該地址通信的本地地址.

echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

#關閉arp應答

(1): 僅在請求的目標IP配置在本地主機的接收到請求報文的接口上時,才給予響應

(2):必須避免將接口信息向非本網絡進行通告技術分享

4.開啟web、php-fpm、mysql服務

三,驗證

在瀏覽器上訪問172.17.252.100(vip)

技術分享

LVS負載均衡DR工作流程