LVS負載均衡DR工做流程

LVS負載均衡DR工做流程

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

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

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

(d) 因爲DS和RS在同一個網絡中,因此是經過二層來傳輸。POSTROUTING鏈檢查目標MAC地址爲RIP的MAC地址,那麼此時數據包將會發至Real Server。linux

(e) RS發現請求報文的MAC地址是本身的MAC地址,就接收此報文。處理完成以後,將響應報文經過lo接口傳送給eth0網卡而後向外發出。 此時的源IP地址爲VIP,目標IP爲CIPweb

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

 

特色:

一、保證前端路由將目標地址爲VIP報文通通發給Director Server,而不是RSvim

二、RS可使用私有地址;也能夠是公網地址,若是使用公網地址,此時能夠經過互聯網對RIP進行直接訪問後端

三、RS跟Director Server必須在同一個物理網絡中瀏覽器

四、全部的請求報文經由Director Server,但響應報文必須不能進過Director Server服務器

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

六、RS能夠是大多數常見的操做系統

七、RS的網關毫不容許指向DIP(由於咱們不容許他通過director)

八、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)

 

相關文章
相關標籤/搜索