1. 程式人生 > >LVS之DR模式部署

LVS之DR模式部署

一、LVS-DR資料包流向分析

為方便進行原理分析,將Client與群集機器放在同一網路中,資料包流經的路線為1-2-3-4

1、Client 向目標 VIP 發出請求,Director(負載均衡器)接收。此時源MAC 地址為Client MAC地址,目標MAC地址為 排程器Director 的MAC地址。
2、Director 根據負載均衡演算法選擇 RealServer_1,不修改也不封裝IP報文,而是將資料幀的MAC地址改為RealServer_1的MAC地址,然後在區域網上傳送。此時源MAC地址為Director的MAC地址,目的MAC地址為RealServer_1的MAC地址。
3、RealServer_1收到這個幀,解封裝後發現目標IP與本機匹配(RealServer事先綁定了VIP),於是處理這個報文。隨後重新封裝報文,將響應報文通過 lo 介面傳送給物理網絡卡然後向外發出。此時源MAC地址為RealServer_1的MAC地址,目的MAC地址為Client的MAC地址。
4、Client將收到回覆的報文。Client 認為得到正常的服務,而不會知道是哪一臺伺服器處理的。
注意:如果跨網段,則報文通過路由器經由Internet返回給使用者

二、LVS-DR中的ARP問題

1、在LVS-DR負載均衡叢集中,負載均衡與節點伺服器都要配置相同的VIP地址。
2、在區域網中具有相同的IP地址,勢必會造成各伺服器ARP通訊的紊亂。
當ARP廣播發送到LVS-DR叢集時,因為負載均衡器和節點伺服器都是連線到相同網路上,它們都會接收到ARP廣播。
只有前端的負載均衡器進行響應,其他節點伺服器不應該響應ARP廣播。
3、對節點伺服器進行處理,使其不響應針對VIP的ARP請求
使用虛介面lo:0承載VIP地址
設定核心引數arp_ignore=1:系統只響應目的IP為本地IP的ARP請求
4、RealServer返回報文(源IP是VIP)經路由器轉發,重新封裝報文時,需要先獲取路由器的MAC地址。
5、傳送ARP請求時,Linux預設使用IP包的源IP地址(即VIP)作為ARP請求包中的源IP地址,而不使用傳送介面的IP地址,如:ens33
6、路由器收到ARP請求後,將更新ARP表項
7、原有的VIP對應Director的MAC地址會被更新為VIP對應RealServer的MAC地址
8、路由器根據ARP表項,會將新來的請求報文轉發給RealServer,導致Director的VIP失效
解決方法:
對節點伺服器進行處理,設定核心引數arp_announce=2:系統不使用IP包的源地址來設定ARP請求的源地址,而選擇傳送介面的IP地址。
解決ARP的兩個問題的設定方法

修改 /etc/sysctl.conf 檔案
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2

三、LVS負載均衡群集之DR模式

1、資料包流向分析
(1)、客戶端傳送請求到Director Server (負載均衡器),請求的資料報文(源IP是CIP, 目標IP是VIP)到達核心空間。
(2)、Director Server和Real Server在同一個網路中,資料通過二層資料鏈路層來傳輸。
(3)、核心空間判斷資料包的目標IP是本機VIP,此時IPVS (IP虛擬伺服器) 比對資料包請求的服務是否是叢集服務,是叢集服務就重新封裝資料包。修改源MAC地址為Director Server 的MAC地址,修改目標MAC地址為Real Server 的MAC地址,源IP地址與目標IP地址沒有改變,然後將資料包傳送給Real Server。
(4)、到達Real Server 的請求報文的MAC 地址是自身的MAC地址,就接收此報文。資料包重新封裝報文 (源IP地址為VIP,目標IP為CIP),將響應報文通過 lo 介面傳送給物理網絡卡然後向外發出。
(5) 、Real Server 直接將響應報文傳送到客戶端。
2、DR模式的特點
(1) Director Server 和Real Server 必須在同一-個物理網路中。
(2)Real Server可以使用私有地址,也可以使用公網地址。如果使用公網地址,可以通過網際網路對RIP進行直接訪問。
(3)Director Server作為群集的訪問入口,但不作為閘道器使用。
(4)所有的請求報文經由Director Server, 但回覆響應報文不能經過Director Server。
(5)Real Server 的閘道器不允許指向Director Server IP,即 Real Server 傳送的資料包不允許經過Director Server。
(6)Real Server 上的 lo 介面配置 VIP的IP地址。

四、簡單小實驗LVS-DR模式

########DR模式LVS負載均衡群集部署#########
DR 伺服器:192.168.241.3
Web 伺服器1:192.168.241.4
Web 伺服器2:192.168.241.5
vip :192.168.241.200
客戶端:192.168.241.6

1、配置負載排程器(192.168.241.3)
systemctl stop firewalld.service
setenforce 0
modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm

(1)配置虛擬IP地址(VIP:192.168.241.200)
cd /etc/sysconfig/network-scripts
#若隧道模式,複製為ifcfg-tunl0
vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.241.200
NETMASK=255.255.255.255
ifup ens33:0
ifconfig ens33:0
(2)調整proc響應引數
#由於LVS負載排程器和各節點需要共用VIP地址,應該關閉Linux核心的重定向引數響應,不充當路由器
vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
sysctl -p
(3)配置負載分配策略
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
ipvsadm -C
ipvsadm -A -t 192.168.241.200:80 -s rr
ipvsadm -a -t 192.168.241.200:80 -r 192.168.241.4:80 -g		#若隧道模式,-g替換為-i
ipvsadm -a -t 192.168.241.200:80 -r 192.168.241.5:80 -g
ipvsadm
ipvsadm -ln				#檢視節點狀態,Router代表DR模式

2、部署共享儲存(NFS伺服器:192.168.241.6)
systemctl stop firewalld.service
setenforce 0

yum -y install nfs-utils rpcbind
mkdir /opt/kgc /opt/benet
chmod 777 /opt/kgc /opt/benet

vim /etc/exports
/opt/kgc 192.168.241.0/24(rw,sync,no_root_squash)
/opt/benet 192.168.241.0/24(rw,sync,no_root_squash)
echo 'this is benet web' > /opt/benet/index.html
echo 'this is kgc web' > /opt/kgc/index.html

systemctl start nfs
systemctl start rpcbind
3、配置節點伺服器(192.168.241.4、192.168.241.5)
systemctl stop firewalld.service
setenforce 0
(1)配置虛擬IP地址(VIP:192.168.241.200)
#此地址僅用作傳送Web響應資料包的源地址,並不需要監聽客戶機的訪問請求(改由排程器監聽並分發)。因此使用需介面lo:0來承載VIP地址,併為本機新增一條路由記錄,將訪問VIP的資料限制在本地,以避免通訊紊亂
cd /etc/sysconfig/network-scripts		##需要將ens33的閘道器和DNS註釋
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.241.200
NETMASK=255.255.255.255
ifup lo:0
ifconfig lo:0

route add -host 192.168.241.200 dev lo:0
或者vim /etc/rc.local
/sbin/route add -host 192.168.241.200 dev lo:0
chmod +x /etc/rc.d/rc.local

(2)調整核心的ARP響應引數以阻止更新VIP的MAC地址,避免發生衝突
vim /etc/sysctl.conf
......
net.ipv4.conf.lo.arp_ignore = 1				#系統只響應目的IP為本地IP的ARP請求
net.ipv4.conf.lo.arp_announce = 2			#系統不使用IP包的源地址來設定ARP請求的源地址,而選擇傳送介面的IP地址
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
sysctl -p
或者
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

yum -y install nfs-utils rpcbind httpd
systemctl start rpcbind
systemctl start httpd

####192.168.241.4
mount 192.168.241.6:/opt/kgc /var/www/html


####192.168.241.5
mount 192.168.241.6:/opt/benet /var/www/html

4、測試LVS群集
在客戶端使用瀏覽器訪問http://192.168.241.200,預設閘道器指向192.168.241.200

相關推薦

LVSDR模式部署

一、LVS-DR資料包流向分析 為方便進行原理分析,將Client與群集機器放在同一網路中,資料包流經的路線為1-2-3-4 1、Client 向目標 VIP 發出請求,Director(負載均衡器)接收。此時源MAC 地址為Client MAC地址,目標MAC地址為 排程器Director 的MAC地址。2

LVSDR模式原理與實踐

LVS常用的工作模式有DR、TUN、NAT、FULLNAT,其中DR模式的轉發效能最好,但組網要求最為苛刻。本文將試著分析LVS DR模式原理,舉例實際配置方式。 LVS DR模式組網 DR模式的組網要求LVS和Real server在同一網段二層互通。因為LVS DR模式在負載均衡轉發報文時,只修改目的

LVS 負載均衡叢集部署 DR 模式

一、DR 模式工作原理          如圖,LVS-DR的工作原理,在圖中已經說明,下面,我們來列舉 LVS-DR 模式特點: 1、RIP 可以使用私有地址,也可以使用公網地址,如果使用公網地址,則可以直接

LVS負載均衡DR模式部署

jpg clip 相同 localhost 6.4 sys cal 系統 media 目錄: 1. 拓撲圖 2. 搭建環境 3. LVS服務器部署 4. 測試 1. 拓撲圖 LVS-DR模式采的IP地址全部為外網IP。 本例中IP的設置全部

lvs-dr模式部署遇到問題,求教老鳥

ati cfg 時間 轉發 lvs edi 路由轉發 rom ram lvs 實驗部署LVS-DR模式遇到了問題,特向老鳥們請教在Client發起請求時Director和Real Server 都出現SYN-RECV 的狀態,感覺是我的Real Server沒有響應Dire

LVS DR模式部署

lvs dr linux 集群 環境 ? 三臺機器,系統:centos7.3? 分發器,也叫調度器(簡寫為dr)? 172.16.22.220 ? rs1? 172.16.22.221 ? rs2? 172.16.22.222 ? vip? 172.16.22.219 dr vim /usr/

LVS負載均衡DR模式

LVS負載均衡之DRLVS負載均衡:常用的負載均衡開源軟件有nginx、lvs、haproxy,商業的硬件負載均衡設備F5、Netscale。LVS模式工作在網絡層,且由內核實現負載轉發,效率要比nginx高。LVS負載均衡包含三種模式:? NAT模式(類似路由器,實現外網內網地址映射,負載均衡服務器修改請

LVS負載均衡NAT模式部署

權重 超時時間 font lvs負載均衡 同時 密碼 work rtu ice 1、LVS的NAT模式介紹 參考自官網:http://www.linuxvirtualserver.org/zh/lvs3.html 由於IPv4中IP地址空間的日益緊張和安全方面的原因

LVS集群DR模式

轉發數據 root pvs -s img mar ext config water 1、給web1/2服務器添加VIP用來轉發數據包給客戶端[root@localhost ~]# ifconfig lo:0 192.168.0.109/32 2、禁止web1/2服務器的V

lvs負載均衡的四種模式原理,LVSDR模型,LVS+keeaplived實現負載均衡,keepalived實現高可用

一,LVS的簡介: Linux virtual system,是由目前阿里著名工程師章文嵩開發的一寬開源的軟體。LVS工作在一臺server上提供Directory(負載均衡器)的功能,它本身並不提供任何服務,只是把特定的請求轉發給對應的realserver(

lvsdr模式配置腳本

htm csdn spa cas -a adc class port p s 1 dr模式介紹 1.1 lvs的安裝 安裝具體解釋:http://blog.csdn.net/CleverCode/article/details/50586957。

LVS + keepalived DR 模式

ati ipaddress keepal 0.11 keep vrrp 雙機熱備份 直接 rest 第1章 LVS + keepalived 負載均衡安裝配置筆記 經安裝測試能夠實現我的這些需要: 雙機或多機實現虛擬IP,能夠實現IP故障切換 能夠連接多臺後端真實服務器

lvsDR模式 NAT模式 fullNat模式

eal mar 1.5 water com p地址 strong ces 客戶 DR模式1)直接路由,發生在數據鏈路層,因此調度器和真實服務器需要在同一個物理網段內 2)由於不需要校驗ip和端口信息,因此負載能力比較強;但是不支持"異地災備(同一個物理網段)&qu

虛擬叢集LVSDR模式搭建

LVS(虛擬叢集Linux Virtual Server) LVS-NAT:地址轉換,資料包來回都要經過NAT轉換,所以Director Server(即LVS伺服器)將成為系統瓶頸。使用NAT模式將需要兩個不同網段的IP,一個IP接受外部請求服務,一般為外網ip,此IP稱為VIP,一個IP與後realse

LVSDR模式一鍵配置排程器指令碼

# vim lvs_dr.sh #! /bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward ipv=/sbin/ipvsadm vip=10.220.5.233 rs1=10.220.5.176 rs2=10.220.5.177 ifco

LVSDR模式中的負載均衡及高可用

** 一 LVS的三種IP負載均衡技術比較 ** 我們先分析實現虛擬網路服務的主要技術,指出IP負載均衡技術是在負載排程器的實現技術中效率最高的。在已有的IP負載均衡技術中,主要有通過網路地址轉換(Network Address Transl

lvsNAT模式及TUN模式

Lvs LVS伺服器可以讓客戶端將LVS伺服器作為一個連線的單點,僅僅通過連線LVS伺服器便可以得到後端一整個伺服器叢集的處理與儲存能力,這樣能夠大大提高系統的擴充套件性與可用性,同時也能夠提供服務的安全性,單一入侵一臺伺服器並不會破壞其他與該伺服器隔離的服務。 LVS的

LVS叢集-DR模式(直接路由模式

1. 給realserver繫結vip地址,並設定網路介面幫兄弟介面收發IP包,且忽略arp廣播包。 web30,web40 繫結虛擬IP地址192.168.4.60 [[email protected] ~]# ifconfig lo:1 192.168.4.60/32 [[em

Linux搭建負載均衡叢集,使用LVSDR模式

Linux Cluster LB(負載均衡叢集) 負載均衡叢集,通常有兩種實現方式,基於硬體或基於軟體。 基於硬體:BIP 基於軟體: 基於OSI第四層傳輸層:LVS(Linux Virtual Ser

CentOS6.5高可用叢集LVS+Keepalived(DR模式)

https://yq.aliyun.com/articles/38606 摘要: 環境介紹 作業系統:CentOS6.5_x64 mini 負載均衡模式:DR(直接路由) LVS與Keepalived簡述: LVS是Linux Virtual Server的