負載均衡之LVS/DR模式
DR的負載均衡調(diào)度器工作在網(wǎng)絡(luò)七層協(xié)議中的數(shù)據(jù)鏈路層轩拨,也就是第二層赵刑。它通過修改數(shù)據(jù)包的目標MAC地址玲躯,將數(shù)據(jù)包轉(zhuǎn)發(fā)到實際應(yīng)用服務(wù)器上嚼锄,最重要的是减拭,實際服務(wù)器的響應(yīng)數(shù)據(jù)包將直接返回給用戶端,而不需要經(jīng)過負載調(diào)度器区丑。
一拧粪、LVS種基本模式
NAT修陡,[FULLNAT],TUNNEL(隧道)既们,DR(直連路由)
二、LVS正什、DR簡介
?????? LVS 是Linux Virtual Server的簡稱啥纸,在實際環(huán)境中經(jīng)常作為B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用中的負載均衡器來使用,工作在7層網(wǎng)絡(luò)模型中的婴氮,網(wǎng)絡(luò)層斯棒,也就是通常說的IP層,由于數(shù)據(jù)的處理是在Linux內(nèi)核態(tài)完成的主经,所以相對反向代理服務(wù)器來說荣暮,性能一般會高一些; DR 是Direct Routing直接路由的簡稱罩驻,應(yīng)答包通過單獨的路由方法返回給客戶端穗酥。不需要隧道結(jié)構(gòu),因此可以使用大多數(shù)linux操作系統(tǒng)做為物理服務(wù)器惠遏。
三砾跃、簡單的LVS/DR架構(gòu)圖
首先,用戶通過互聯(lián)網(wǎng)訪問LVS上的vip(虛擬ip)节吮,進入LVS/DR模式抽高,LVS將數(shù)據(jù)包提供給dip(反向代理服務(wù)器);反向代理服務(wù)器最終將請求送給應(yīng)用服務(wù)器透绩;應(yīng)用服務(wù)器完成用戶請求之后翘骂,通過反向代理服務(wù)器直接返回給用戶,而不需要通過LVS服務(wù)器帚豪。
四碳竟、操作路程
1、首先狸臣,在realsever上配置lo回環(huán)網(wǎng)卡瞭亮,綁定vip。然后設(shè)置lo接口的VIP不能響應(yīng)本地網(wǎng)絡(luò)內(nèi)的arp請求固棚。
# ip addr add dev lo192.168.122.100/32
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
2统翩、DR分發(fā)器設(shè)置
# yum -y install ipvsadm
# ipvsadm -A -t 192.168.122.100:80 -s rr
# ipvsadm -a -t 192.168.122.100:80 -r 192.168.122.10 -g
# ipvsadm -a -t 192.168.122.100:80 -r 192.168.122.20 -g
# ipvsadm -a -t 192.168.122.100:80 -r 192.168.122.30 -g
這里的-g就是代表直連路由模式
3、測試
用一臺能路由到VIP的機器訪問VIP此洲,不斷刷新就可以看見結(jié)果厂汗。
五、總結(jié)
1呜师、性能
相對LVS/NAT模式娶桦,DR模式不需要把返回的數(shù)據(jù),通過負載均衡是被轉(zhuǎn)發(fā),想要他發(fā)揮優(yōu)勢衷畦,那么就要相應(yīng)的數(shù)據(jù)包的數(shù)量和長度遠遠大于請求數(shù)據(jù)包栗涂,幸運的是,大部分WEB服務(wù)都具備這樣的特點祈争,響應(yīng)和請求并不對稱斤程,因此常用的WEB服務(wù),都可以使用這種模式菩混。
這種方式忿墅,負載均衡器不再是系統(tǒng)的瓶頸。如果你的負載均衡器只擁有100M的全雙工網(wǎng)卡和帶寬的話沮峡,通過集群的橫向擴展也可以讓整個系統(tǒng)達到1G的流量疚脐。
來自LVS官方站點的測試結(jié)果也告訴我們,LVS-DR可以容納100臺以上的實際應(yīng)用服務(wù)器邢疙,對一般的服務(wù)而已棍弄,這樣的表現(xiàn)足夠了。
2疟游、缺點
DR模式下不能跨網(wǎng)段轉(zhuǎn)發(fā)數(shù)據(jù)照卦,如果必須要跨網(wǎng)段進行負載,那么就必須使用LVS/TUN模式乡摹。當然役耕,這一般都是比較大型的服務(wù)了,一般不會用但以的LVS聪廉。