資源描述:
《linux系統(tǒng)--lvs負(fù)載均衡配置》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、Linux系統(tǒng)--LVS負(fù)載均衡配置1、什么是LVS?首先簡(jiǎn)単介紹一下LVS(LinuxVirtualServer)到底是什么東西,其實(shí)他是一種叢集(Cluster)的技術(shù),采用IP負(fù)載均衡技術(shù)和基于內(nèi)容清求分發(fā)技術(shù)。調(diào)度器具有很好的吞吐率,將清求均衡地轉(zhuǎn)移到不同的服務(wù)器上執(zhí)行,且調(diào)度器向動(dòng)屏蔽掉服務(wù)器的故障,從而將一組服務(wù)器構(gòu)成一個(gè)高性能的、高可用的虛擬服務(wù)器。整個(gè)服務(wù)器集群的結(jié)構(gòu)對(duì)客戶是透明的,而且無(wú)需修改客戶端和服務(wù)器端的程序。為此,在設(shè)計(jì)時(shí)需要考慮系統(tǒng)的透明性、可伸縮性、高可用性和易管理性。一般來(lái)說(shuō),LVS集群采用三層結(jié)構(gòu).2、LVS主要組成部分為:負(fù)載調(diào)度器(
2、loadbalancer/Director),它是整個(gè)集群對(duì)外而的前端機(jī),負(fù)責(zé)將客戶的請(qǐng)求發(fā)送到一組服務(wù)器上執(zhí)行,而客戶認(rèn)為服務(wù)是來(lái)自一個(gè)IP地址(我們可稱之為虛擬IP地址)上的。服務(wù)器池(serverpool/Realserver),是一組真正執(zhí)行客戶請(qǐng)求的服務(wù)器,執(zhí)行的服務(wù)一般有WEB、MAIL、FTP和DNS等。共享存儲(chǔ)(sharedstorage),它為服務(wù)器池提供一個(gè)共享的存儲(chǔ)區(qū),這樣很容易使得服務(wù)器池?fù)碛邢嗤膬?nèi)荇,提供相同的服務(wù)。3、LVS負(fù)載均衡方式:VirtualServerviaNATVS/NAT是一種最簡(jiǎn)單的方式,所有的RealServer只需要將
3、自己的網(wǎng)關(guān)指叫Director即可??蛻舳丝梢允侨我獠僮飨到y(tǒng),但此方式下,一個(gè)Director能夠帶動(dòng)的RealServer比較有限。在VS/NAT的方式下,Director也可以兼為一臺(tái)RealServer。VirtualServerviaIPTunnelingIP隧道(IPtunneling)是將一個(gè)IP報(bào)文封裝在另一個(gè)IP報(bào)文的技術(shù),這可以使得FI標(biāo)為一個(gè)IP地址的數(shù)據(jù)報(bào)文能被封裝和轉(zhuǎn)發(fā)到另一個(gè)IP地址。IP隧道技術(shù)亦稱為IP封裝技術(shù)(IPencapsulation)。IP隧道主要用于移動(dòng)主機(jī)和廉?dāng)M私有M絡(luò)(VirtualPrivateNetwork),在其中隧道
4、都是靜態(tài)建立的,隧道一端有一個(gè)1P地址,另一端也有唯一的1P地址。它的連接調(diào)度和管理與VS/NAT屮的一樣,只是它的報(bào)文轉(zhuǎn)發(fā)方法不同。調(diào)度器根裾各個(gè)服務(wù)器的負(fù)載情況,動(dòng)態(tài)地選擇一臺(tái)服務(wù)器,將請(qǐng)求報(bào)文封裝在另一個(gè)IP報(bào)文中,再將封裝后的IP報(bào)文轉(zhuǎn)發(fā)給選出的服務(wù)器;服務(wù)器收到報(bào)文后,先將報(bào)文解封獲得原來(lái)0標(biāo)地址為V1P的報(bào)文,服務(wù)器發(fā)現(xiàn)VIP地址被配置在本地的1P隧道設(shè)備上,所以就處理這個(gè)請(qǐng)求,然后根據(jù)路由表將響應(yīng)報(bào)文直接返回給客戶。VirtualServerviaDirectRoutingVS/DR方式是通過(guò)改寫請(qǐng)求報(bào)文中的MAC地址部分來(lái)實(shí)現(xiàn)的。Director和Rea
5、lServer必需在物理上有一個(gè)網(wǎng)卡通過(guò)不間斷的局域網(wǎng)相連。RealServer上綁定的VIP配置在各自Non-ARP的網(wǎng)絡(luò)設(shè)備上(如lo或tunl),Director的VIP地址對(duì)外可見(jiàn),而RealServer的VIP對(duì)外是不可見(jiàn)的。RealServer的地址即可以是內(nèi)部地址,也可以是真實(shí)地址。4、三種負(fù)載均衡方式優(yōu)缺點(diǎn)比較:VirtualServerviaNATVS/NAT的優(yōu)點(diǎn)是服務(wù)器可以運(yùn)行任何支持TCP/IP的操作系統(tǒng),它只需要一個(gè)IP地址配置在調(diào)度器上,服務(wù)器組可以用私有的IP地址。缺點(diǎn)是它的伸縮能力有限,當(dāng)服務(wù)器結(jié)點(diǎn)數(shù)目升到20時(shí),調(diào)度器本身有可能成為系統(tǒng)
6、的新瓶頸,因?yàn)樵赩S/NAT巾請(qǐng)求和響應(yīng)報(bào)文都需要通過(guò)負(fù)載調(diào)度器。我們?cè)赑entium166處理器的主機(jī)上測(cè)得重寫報(bào)文的平均延時(shí)為60us,性能更島的處理器上延時(shí)會(huì)短一些。假設(shè)TCP報(bào)文的平均長(zhǎng)度為536Bytes,貝U調(diào)度器的最大吞吐量為8.93MBytes/s.我們假設(shè)每臺(tái)服務(wù)器的吞吐量為800KBytes/s,這樣一個(gè)調(diào)度器可以帶動(dòng)10臺(tái)服務(wù)器。(注:這是很早以前測(cè)得的數(shù)據(jù))基于VS/NAT的的集群系統(tǒng)可以適合許多服務(wù)器的性能要求。如果負(fù)載調(diào)度器成力系統(tǒng)新的瓶頸,可以有三種方法解決這個(gè)問(wèn)題:混合方法、VS/TUN和VS/DR。在DNS混合集群系統(tǒng)屮,有若干個(gè)VS/
7、NAT負(fù)載調(diào)度器,每個(gè)負(fù)載調(diào)度器帶自己的服務(wù)器集群,同時(shí)這些負(fù)載調(diào)度器乂通過(guò)RR-DNS纟II成簡(jiǎn)單的域名。但VS/TUN和VS/DR是提高系統(tǒng)吞吐S的更好方法。對(duì)于那些將IP地址或者端U號(hào)在報(bào)文數(shù)據(jù)中傳送的網(wǎng)絡(luò)服務(wù),耑要編寫相應(yīng)的應(yīng)用模塊來(lái)轉(zhuǎn)換報(bào)文數(shù)據(jù)中的IP地址或者端口號(hào)。這會(huì)帶來(lái)實(shí)現(xiàn)的工作量,同時(shí)應(yīng)用模塊檢查報(bào)文的開銷會(huì)降低系統(tǒng)的吞吐率。VirtualServerviaIPTunneling在VS/TUN的集群系統(tǒng)屮,負(fù)載調(diào)度器只將請(qǐng)求調(diào)度到不同的后端服務(wù)器,后端服務(wù)器將應(yīng)答的數(shù)據(jù)直接返回給用戶。這樣,負(fù)載調(diào)度器就付以處理大量的請(qǐng)求