LVS負載均衡DR工作流程
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工作流程