Linux負載均衡--LVS(IPVS)

一羊异、LVS簡介

LVS是Linux Virtual Server的簡稱撑帖,也就是Linux虛擬服務器, 是一個由章文嵩博士發(fā)起的自由軟件項目慌植,現(xiàn)在已經(jīng)是 Linux標準內(nèi)核的一部分弓叛。LVS是一種叫基于TCP/IP的負載均衡技術(shù)璃弄,轉(zhuǎn)發(fā)效率極高哥捕,具有處理百萬計并發(fā)連接請求的能力牧抽。

LVS的IP負載均衡技術(shù)是通過IPVS模塊實現(xiàn)的。IPVS模塊是LVS集群的核心軟件模塊遥赚,它安裝在LVS集群作為負載均衡的主節(jié)點上扬舒,虛擬出一個IP地址和端口對外提供服務。用戶通過訪問這個虛擬服務(VS)凫佛,然后訪問請求由負載均衡器(LB)調(diào)度到后端真實服務器(RS)中讲坎,由RS實際處理用戶的請求給返回響應。

二愧薛、IPVS的三種轉(zhuǎn)發(fā)模式

根據(jù)負載均衡器轉(zhuǎn)發(fā)客戶端請求以及RS返回響應機制的不同晨炕,將IPVS的轉(zhuǎn)發(fā)模式分為三種:NAT,DR毫炉,F(xiàn)ULLNAT瓮栗。(還有一種IP TUNNEL模式,IP通道技術(shù),接觸比較少)

1. DR模式(Direct Routing)

DR模式下费奸,客戶端的請求包到達負載均衡器的虛擬服務IP端口后弥激,負載均衡器不會改寫請求包的IP和端口,但是會改寫請求包的MAC地址為后端RS的MAC地址货邓,然后將數(shù)據(jù)包轉(zhuǎn)發(fā)秆撮;真實服務器處理請求后,響應包直接回給客戶端换况,不再經(jīng)過負載均衡器职辨。所以DR模式的轉(zhuǎn)發(fā)效率是最高的,特別適合下行流量較大的業(yè)務場景戈二,比如請求視頻等大文件舒裤。

DR模式的特點:

數(shù)據(jù)包在LB轉(zhuǎn)發(fā)過程中,源/目的IP端口都不會變化

LB只是將數(shù)據(jù)包的MAC地址改寫為RS的MAC地址觉吭,然后轉(zhuǎn)發(fā)給相應的RS腾供。

每臺RS上都必須在環(huán)回網(wǎng)卡上綁定LB的虛擬服務IP

因為LB轉(zhuǎn)發(fā)時并不會改寫數(shù)據(jù)包的目的IP,所以RS收到的數(shù)據(jù)包的目的IP仍是LB的虛擬服務IP鲜滩。為了保證RS能夠正確處理該數(shù)據(jù)包伴鳖,而不是丟棄,必須在RS的環(huán)回網(wǎng)卡上綁定LB的虛擬服務IP徙硅。這樣RS會認為這個虛擬服務IP是自己的IP榜聂,自己是能夠處理這個數(shù)據(jù)包的。否則RS會直接丟棄該數(shù)據(jù)包嗓蘑!

RS上的業(yè)務進程必須監(jiān)聽在環(huán)回網(wǎng)卡的虛擬服務IP上须肆,且端口必須和LB上的虛擬服務端口一致

因為LB不會改寫數(shù)據(jù)包的目的端口,所以RS服務的監(jiān)聽端口必須和虛擬服務端口一致桩皿,否則RS會直接拒絕該數(shù)據(jù)包豌汇。

RS處理完請求后,響應直接回給客戶端泄隔,不再經(jīng)過LB

因為RS收到的請求數(shù)據(jù)包的源IP是客戶端的IP拒贱,所以理所當然RS的響應會直接回給客戶端,而不會再經(jīng)過LB梅尤。這時候要求RS和客戶端之間的網(wǎng)絡是可達的柜思。

LB和RS須位于同一個子網(wǎng)

因為LB在轉(zhuǎn)發(fā)過程中需要改寫數(shù)據(jù)包的MAC為RS的MAC地址,所以要能夠查詢到RS的MAC巷燥。而要獲取到RS的MAC赡盘,則需要保證二者位于一個子網(wǎng),否則LB只能獲取到RS網(wǎng)關(guān)的MAC地址缰揪。

2. NAT模式(Network Address Translation)

NAT模式下陨享,請求包和響應包都需要經(jīng)過LB處理葱淳。當客戶端的請求到達虛擬服務后,LB會對請求包做目的地址轉(zhuǎn)換(DNAT)抛姑,將請求包的目的IP改寫為RS的IP赞厕。當收到RS的響應后,LB會對響應包做源地址轉(zhuǎn)換(SNAT)定硝,將響應包的源IP改寫為LB的IP皿桑。

NAT模式的特點:

LB會修改數(shù)據(jù)包的地址

對于請求包,會進行DNAT蔬啡;對于響應包诲侮,會進行SNAT。

LB會透傳客戶端IP到RS(DR模式也會透傳)

雖然LB在轉(zhuǎn)發(fā)過程中做了NAT轉(zhuǎn)換箱蟆,但是因為只是做了部分地址轉(zhuǎn)發(fā)沟绪,所以RS收到的請求包里是能看到客戶端IP的。

需要將RS的默認網(wǎng)關(guān)地址配置為LB的浮動IP地址

因為RS收到的請求包源IP是客戶端的IP空猜,為了保證響應包在返回時能走到LB上面绽慈,所以需要將RS的默認網(wǎng)關(guān)地址配置為LB的虛擬服務IP地址。當然辈毯,如果客戶端的IP是固定的坝疼,也可以在RS上添加明細路由指向LB的虛擬服務IP,不用改默認網(wǎng)關(guān)谆沃。

LB和RS須位于同一個子網(wǎng)裙士,并且客戶端不能和LB/RS位于同一子網(wǎng)

因為需要將RS的默認網(wǎng)關(guān)配置為LB的虛擬服務IP地址,所以需要保證LB和RS位于同一子網(wǎng)管毙。

又因為需要保證RS的響應包能走回到LB上,則客戶端不能和RS位于同一子網(wǎng)桌硫。否則RS直接就能獲取到客戶端的MAC夭咬,響應包就直接回給客戶端了,不會走網(wǎng)關(guān)铆隘,也就走不到LB上面了卓舵。這時候由于沒有LB做SNAT,客戶端收到的響應包源IP是RS的IP膀钠,而客戶端的請求包目的IP是LB的虛擬服務IP掏湾,這時候客戶端無法識別響應包,會直接丟棄肿嘲。

3. FULLNAT模式

FULLNAT模式下融击,LB會對請求包和響應包都做SNAT+DNAT。

FULLNAT模式的特點:

LB完全作為一個代理服務器

FULLNAT下雳窟,客戶端感知不到RS尊浪,RS也感知不到客戶端,它們都只能看到LB。此種模式和七層負載均衡有點相似拇涤,只不過不會去解析應用層協(xié)議捣作,而是在TCP層將消息轉(zhuǎn)發(fā)

LB和RS對于組網(wǎng)結(jié)構(gòu)沒有要求

不同于NAT和DR要求LB和RS位于一個子網(wǎng),F(xiàn)ULLNAT對于組網(wǎng)結(jié)構(gòu)沒有要求鹅士。只需要保證客戶端和LB券躁、LB和RS之間網(wǎng)絡互通即可。

三種轉(zhuǎn)發(fā)模式性能從高到低:DR > NAT >FULLNAT掉盅。

雖然FULLNAT模式的性能比不上DR和NAT也拜,但是FULLNAT模式?jīng)]有組網(wǎng)要求,允許LB和RS部署在不同的子網(wǎng)中怔接,這給運維帶來了便利搪泳。并且 FULLNAT模式具有更好的可拓展性,可以通過增加更多的LB節(jié)點扼脐,提升系統(tǒng)整體的負載均衡能力岸军。

三、IPVS支持的調(diào)度算法

對于后端的RS集群瓦侮,LB是如何決策應該把消息調(diào)度到哪個RS節(jié)點呢艰赞?這是由負載均衡調(diào)度算法決定的。IPVS常用的調(diào)度算法有:

輪詢(Round Robin)

LB認為集群內(nèi)每臺RS都是相同的肚吏,會輪流進行調(diào)度分發(fā)方妖。從數(shù)據(jù)統(tǒng)計上看,RR模式是調(diào)度最均衡的罚攀。

加權(quán)輪詢(Weighted Round Robin)

LB會根據(jù)RS上配置的權(quán)重党觅,將消息按權(quán)重比分發(fā)到不同的RS上≌梗可以給性能更好的RS節(jié)點配置更高的權(quán)重杯瞻,提升集群整體的性能。

最小連接數(shù)(Least Connections)

LB會根據(jù)和集群內(nèi)每臺RS的連接數(shù)統(tǒng)計情況炫掐,將消息調(diào)度到連接數(shù)最少的RS節(jié)點上魁莉。在長連接業(yè)務場景下,LC算法對于系統(tǒng)整體負載均衡的情況較好募胃;但是在短連接業(yè)務場景下旗唁,由于連接會迅速釋放,可能會導致消息每次都調(diào)度到同一個RS節(jié)點痹束,造成嚴重的負載不均衡检疫。

加權(quán)最小連接數(shù)(Weighted Least Connections)

最小連接數(shù)算法的加權(quán)版~

地址哈希(Address Hash)

LB上會保存一張哈希表,通過哈希映射將客戶端和RS節(jié)點關(guān)聯(lián)起來参袱。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末电谣,一起剝皮案震驚了整個濱河市秽梅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌剿牺,老刑警劉巖企垦,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異晒来,居然都是意外死亡钞诡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門湃崩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荧降,“玉大人,你說我怎么就攤上這事攒读《浣耄” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵薄扁,是天一觀的道長剪返。 經(jīng)常有香客問我,道長邓梅,這世上最難降的妖魔是什么脱盲? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮日缨,結(jié)果婚禮上钱反,老公的妹妹穿的比我還像新娘。我一直安慰自己匣距,他們只是感情好面哥,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著毅待,像睡著了一般幢竹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上恩静,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音蹲坷,去河邊找鬼驶乾。 笑死,一個胖子當著我的面吹牛循签,可吹牛的內(nèi)容都是我干的级乐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼县匠,長吁一口氣:“原來是場噩夢啊……” “哼风科!你這毒婦竟也來了撒轮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤贼穆,失蹤者是張志新(化名)和其女友劉穎题山,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體故痊,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡顶瞳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了愕秫。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慨菱。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖戴甩,靈堂內(nèi)的尸體忽然破棺而出符喝,到底是詐尸還是另有隱情,我是刑警寧澤甜孤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布协饲,位于F島的核電站,受9級特大地震影響课蔬,放射性物質(zhì)發(fā)生泄漏囱稽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一二跋、第九天 我趴在偏房一處隱蔽的房頂上張望战惊。 院中可真熱鬧,春花似錦扎即、人聲如沸吞获。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽各拷。三九已至,卻和暖如春闷营,著一層夾襖步出監(jiān)牢的瞬間烤黍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工傻盟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留速蕊,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓娘赴,卻偏偏與公主長得像规哲,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子诽表,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 本文部分觀點圖片采用于:http://chenx1242.blog.51cto.com 隨著智能機的逐漸普及唉锌,大量...
    BossHuang閱讀 3,157評論 0 16
  • 負載均衡集群是 load balance 集群的簡寫隅肥,翻譯成中文就是負載均衡集群。常用的負載均衡開源軟件有ngin...
    jiangmo閱讀 1,321評論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理袄简,服務發(fā)現(xiàn)腥放,斷路器,智...
    卡卡羅2017閱讀 134,651評論 18 139
  • 一痘番、什么是負載均衡 首先我們先介紹一下什么是負載均衡:負載平衡(Load balancing)是一種計算機網(wǎng)絡技術(shù)...
    小流江海閱讀 1,006評論 0 2
  • 【摘要】 面對大量用戶訪問捉片、高并發(fā)請求,海量數(shù)據(jù)汞舱,可以使用高性能的服務器伍纫、大型數(shù)據(jù)庫,存儲設備昂芜,高性能Web服務器...
    靜修佛緣閱讀 4,557評論 0 24