負(fù)載均衡——LVSDR模式_第1頁
負(fù)載均衡——LVSDR模式_第2頁
負(fù)載均衡——LVSDR模式_第3頁
負(fù)載均衡——LVSDR模式_第4頁
負(fù)載均衡——LVSDR模式_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、負(fù)載均衡一一LVSDR模式二I匕曰冃景相比于nginx只能用于7層負(fù)載均衡,LVS就比較強大了,能在4層做負(fù)載均衡。而且性能和穩(wěn)定性上LVS也比較占優(yōu),畢竟是合入內(nèi)核模塊,不穩(wěn)定肯定不行。關(guān)于LVSLVS通過工作于內(nèi)核的ipvs模塊來實現(xiàn)功能,其主要工作于netfilter的INPUT鏈上。除此之外,還需要一個用戶態(tài)工具,ipvdadm,用于用戶負(fù)載集群定義和集群服務(wù)管理。LVSDR模式工作原理LVSDR模式的流程大概如下:YCIPLVSDR模式QcipvipD=八八P,目標(biāo)地址為VIP;1、客戶端發(fā)送請求至vip,也就是訪問服務(wù),請求報文源CIPQRIP0io:vipethO:RIP1RS1

2、PS22、LVS調(diào)度器接收到請求,報文在PREROUTING鏈檢查,確定目的IP是本機,于是將報文發(fā)送至INPUT鏈,ipvs內(nèi)核模塊確定請求的服務(wù)是我們配置的LVS集群服務(wù),然后根據(jù)用戶設(shè)定的均衡策略選擇某臺后端RS,并將目標(biāo)MAC地址修改RIP的MAC地址。因為調(diào)度器和后端服務(wù)器RS在同個網(wǎng)段,因此直接二層互通,將請求發(fā)給選擇的RS處理;3、因為報文目的mac是本機,且RS上有配置VIP,因此RS能接收該報文。后端服務(wù)處理完請求后,將響應(yīng)直接發(fā)往客戶端,此時源IP地址為VIP,目標(biāo)IP為CIP。LVSDR模式配置1、環(huán)境準(zhǔn)備如下,準(zhǔn)備三臺服務(wù)器,機器作用192.168.0.100VIP,L

3、VS調(diào)度器對外服務(wù)IP192.168.0.200RIP,后端web服務(wù)器之一192.168.0.300RIP,后端web服務(wù)器之二2、LVS調(diào)度器配置上面我們說過Ivs依賴于ipvs內(nèi)核模塊,和ipvsadm用戶態(tài)工具。因為centos7已經(jīng)默認(rèn)加載ipvs模塊,因此這一步我們不需要配置。我們只需要安裝ipvsadm工具即可,yuminstall-yipvsadm然后在LVS調(diào)度器上配置VIP,這里我們采用虛擬網(wǎng)卡,當(dāng)然也可以使用獨立網(wǎng)卡配置,ifconfigeth0:0192.168.0.100/24up接著配置LVS集群服務(wù),rootCentOS-7-2#ipvsadm-CrootCent

4、OS-7-2#ipvsadm-A-t192.168.0.100:80-srrrootCentOS-7-2#ipvsadm-a-t192.168.0.100:80-r192.168.0.200:80-grootCentOS-7-2#ipvsadm-a-t192.168.0.100:80-r192.168.0.300:80-g其中,第一條命令是清空所有規(guī)則;第二條命令是定義LVS服務(wù),并指定負(fù)責(zé)均衡策略為rr,即輪詢;第三、四條命令各添加一臺后端web服務(wù)器,作為負(fù)載均衡節(jié)點,并指定為DR模式。ipvsadm基本命令參數(shù)如下:-A指定添加的LVS負(fù)載均衡虛擬服務(wù)-t指定虛擬服務(wù)器的IP地址和端口-

5、s指定調(diào)度算法,ss為輪詢,wrr為加權(quán)輪詢,dh為目標(biāo)地址散列,sh為源地址散列,lc為最少鏈接等-a在對應(yīng)的VIP下添加RS節(jié)點-g指定LVS的工作模式為DR模式-1指定LVS的工作模式為tunnel模式-m指定LVS的工作模式為NAT模式添加完后端RS,我們可以查看此LVS對應(yīng)的均衡規(guī)則,rootCentOS-7-2#ipvsadm-LnIPVirtualServerversion1.2.1(size=4096)ProtLocalAddress:PortSchedulerFlags-RemoteAddress:PortForwardWeightActiveConnInActConnTCP

6、192.168.0.100:80rr-192.168.0.200:80-192.168.0.300:80Route100Route100-RemoteAddress:PortForwardWeightActiveConnInActConn-RemoteAddress:PortForwardWeightActiveConnInActConn3、后端RS配置這里web服務(wù)器使用nginx搭建,因此在兩臺RS上安裝nginx,yuminstall-ynginx同時為了后面測試,我們修改web服務(wù)器的index.html內(nèi)容,root192_168_0_200#cat/usr/share/nginx/

7、html/index.htmlThisis192.168.0.200root192_168_0_300#cat/usr/share/nginx/html/index.htmlThisis192.168.0.300接著開始進行LVS相關(guān)配置,首先將VIP配置在Io接口上,(注意掩碼要配置成32位,不然RS通信會出問題)ifconfiglo:0192.168.0.100/32up接著配置對應(yīng)路由,routeadd-host192.168.0.100devIo然后設(shè)置相關(guān)系統(tǒng)參數(shù),echo1/proc/sys/net/ipv4/conf/eth0/arp_ignoreecho2/proc/sys/n

8、et/ipv4/conf/eth0/arp_announceecho1/proc/sys/net/ipv4/conf/all/arpgnoreecho2/proc/sys/net/ipv4/conf/all/arp_announce其實嚴(yán)格意義上只要配置出口網(wǎng)卡的對應(yīng)參數(shù)就可以了,配置all也只是為了保險而已,文章最后面會有說明。4、測試使用curI命令對vip進行訪問,Thisis192.168.0.200Thisis192.168.0.300Thisis192.168.0.200Thisis192.168.0.300可見結(jié)果符合我們設(shè)置的輪詢策略。幾點思考1、為什么所有RS上都要配置VIP

9、因為當(dāng)調(diào)度器把請求轉(zhuǎn)發(fā)給對應(yīng)RS時,并沒有修改報文目的IP,因此請求報文目的IP仍為VIP,所以如果RS沒有配置VIP,那么報文到達(dá)RS后就會被丟棄。2、為什么所有RS要設(shè)置arp_ignore=1和arp_announce=2arp_ignore=1:只響應(yīng)目的IP地址為接收網(wǎng)卡上的本地地址的arp請求因為我們在RS上都配置了VIP,因此此時是存在IP沖突的,當(dāng)外部客戶端向VIP發(fā)起請求時,會先發(fā)送arp請求,此時調(diào)度器和RS都會響應(yīng)這個請求。如果某個RS響應(yīng)了這個請求,則之后該客戶端的請求就都發(fā)往該RS,并沒有經(jīng)過LVS,因此也就沒有真正的負(fù)載均衡,LVS也就沒有存在的意義。因此我們需要設(shè)

10、置RS不響應(yīng)對VIP的arp請求,這樣外部客戶端的所有對VIP的arp請求才會都解析到調(diào)度器上,然后經(jīng)由LVS的調(diào)度器發(fā)往各個RS。系統(tǒng)默認(rèn)arp_ignore=0,表示響應(yīng)任意網(wǎng)卡上接收到的對本機IP地址的arp請求(包括環(huán)回網(wǎng)卡上的地址),而不管該目的IP是否在接收網(wǎng)卡上。也就是說,如果機器上有兩個網(wǎng)卡設(shè)備A和B,即使在A網(wǎng)卡上收到對BIP的arp請求,也會回應(yīng)。而arp_ignore設(shè)置成1,則不會對BIP的arp請求進行回應(yīng)。由于Io肯定不會對外通信,所以如果只有一個對外網(wǎng)口,其實只要設(shè)置這個對外網(wǎng)口即可,不過為了保險,很多時候都對all也進行設(shè)置。arp_announce=2:網(wǎng)卡在

11、發(fā)送arp請求時使用出口網(wǎng)卡IP作為源IP當(dāng)RS處理完請求,想要將響應(yīng)發(fā)回給客戶端,此時想要獲取目的IP對應(yīng)的目的MAC地址,那么就要發(fā)送arp請求arp請求的目的IP就是想要獲取MAC地址的IP,那arp請求的源IP呢?自然而然想到的是響應(yīng)報文的源IP地址,但也不是一定是這樣,arp請求的源IP是可以選擇的,而arp_announce的作用正是控制這個地址如何選擇。系統(tǒng)默認(rèn)arp_announce=0,也就是源ip可以隨意選擇。這就會導(dǎo)致一個問題,如果發(fā)送arp請求時使用的是其他網(wǎng)口的IP,達(dá)到網(wǎng)絡(luò)后,其他機器接收到這個請求就會更新這個IP的mac地址,而實際上并不該更新,因此為了避免arp表的混亂,我們需要將arp請求的源ip限制為出口網(wǎng)卡ip,因此需要設(shè)置arp_announce=2。3、為什么RS上的VIP要配置在lo上由上可知,只要RS上的VIP不響應(yīng)arp請求就可以了,因此不一定要配置在lo上,也可以配置在其他網(wǎng)口。由于lo設(shè)備不會直接接收外部請求,因此只要設(shè)置機器上的出口網(wǎng)卡不響應(yīng)非本網(wǎng)卡上的arp請求接口。但是如果VIP配置在其他網(wǎng)口上,除了上面的配置,還需要配置該網(wǎng)口不響應(yīng)任何arp請求,也就是arp_ignore要設(shè)置為8。4、為什么RS上lo配置的VIP掩碼為32位這是由于lo設(shè)備的特殊性導(dǎo)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論