(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位址
實驗環境:一台dr負載均衡器,一塊網絡卡172.17.252.66,橋接,一台後端伺服器172.17.252.68,一塊網絡卡,橋接
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 使修改的核心配置引數生效
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)
DR模式搭建LVS負載均衡
排程器dir 192.168.8.154 真實伺服器rs1 192.168.8.120 真實伺服器rs2 192.168.8.100 vip 192.168.8.180 閘道器設定成自己的閘道器,跟nat模式有區別 編輯dir vim usr local sbin lvs dr.sh bin bas...
LVS 負載均衡 DR模式環境搭建
簡單記錄一下搭建lvs負載均衡集群的過程。具體原理請看 lvs負載均衡原理和模式 排程器.centos7.5,ip 10.0.0.10 ens33 ip 10.0.0.100 ens33 0 rs1.centos7.5,ip 10.0.0.11 lo ip 10.0.0.100 lo 0 rs2.c...
基於DR的LVS負載均衡模型搭建
理論知識參考 在vm ware上建立3個centos 7的節點,並使用nat模式與宿主機聯網,因此,3個節點屬於同一區域網。安裝虛擬機器和用nat模式聯網可以參考這篇 但需要注意博文中使用的是nat模式而不是橋接模式,且只需要修改網絡卡配置即可。配置好了就可以用xshell等遠端工具連上了 順便把n...