LVS原理篇:LVS簡(jiǎn)介办悟、結(jié)構(gòu)、四種模式滩褥、十種算法(轉(zhuǎn))

LVS原理篇:LVS簡(jiǎn)介病蛉、結(jié)構(gòu)、四種模式瑰煎、十種算法

LVS是Linux virtual server的縮寫铺然,為linux虛擬服務(wù)器,是一個(gè)虛擬的服務(wù)器集群系統(tǒng)酒甸。LVS簡(jiǎn)單工作原理為用戶請(qǐng)求LVS VIP魄健,LVS根據(jù)轉(zhuǎn)發(fā)方式和算法,將請(qǐng)求轉(zhuǎn)發(fā)給后端服務(wù)器插勤,后端服務(wù)器接收到請(qǐng)求沽瘦,返回給用戶。對(duì)于用戶來說农尖,看不到Web后端具體的應(yīng)用析恋。

LVS原理篇:LVS簡(jiǎn)介、結(jié)構(gòu)盛卡、四種模式助隧、十種算法
一、LVS負(fù)載均衡簡(jiǎn)介
二滑沧、LVS結(jié)構(gòu)
三并村、LVS相關(guān)術(shù)語(yǔ)
四、LVS負(fù)載均衡四種模式
1滓技、LVS DR模式

2哩牍、LVS NAT模式
3、LVS FULLNAT模式
4令漂、LVS TUN原理
5姐叁、四種模式的比較
五、LVS負(fù)載均衡常見算法

一、LVS負(fù)載均衡簡(jiǎn)介

可伸縮網(wǎng)絡(luò)服務(wù)有很多結(jié)構(gòu)外潜,但都有一個(gè)共同點(diǎn):它們都需要一個(gè)前端的負(fù)載調(diào)度器原环。而實(shí)現(xiàn)虛擬網(wǎng)絡(luò)服務(wù)的主要技術(shù)指出IP負(fù)載均衡技術(shù)是在負(fù)載調(diào)度器的實(shí)現(xiàn)技術(shù)里面效率最高的一個(gè)。
在已有的IP負(fù)載均衡技術(shù)中处窥,主要有通過網(wǎng)絡(luò)地址轉(zhuǎn)換將一組服務(wù)器構(gòu)成一個(gè)高性能的嘱吗、高可用的虛擬服務(wù)器,通常稱為VS/NAT技術(shù)滔驾。在分析VS/NAT的缺點(diǎn)和網(wǎng)絡(luò)服務(wù)的非對(duì)稱的基礎(chǔ)上谒麦,可以通過IP隧道實(shí)現(xiàn)虛擬服務(wù)器的方法VS/TUN和通過直接路由實(shí)現(xiàn)虛擬服務(wù)器的方法VS/DR,它們可以極大地提高系統(tǒng)的伸縮性哆致。(摘自 LINUX企業(yè)運(yùn)維實(shí)戰(zhàn)一書中)

二绕德、LVS結(jié)構(gòu)

LVS集群分為三層結(jié)構(gòu):

  • 負(fù)載調(diào)度器(Load Blancer):是整個(gè)LVS集群對(duì)外的前端機(jī)器,負(fù)責(zé)敬愛嗯client的請(qǐng)求發(fā)送到一組服務(wù)器【多臺(tái) LB IP】上執(zhí)行摊阀,而client則認(rèn)為返回來是同一個(gè)IP(通常把這個(gè)IP成為虛擬ip或VIP)
  • 服務(wù)器池(server pool):一組真正執(zhí)行clinet請(qǐng)求的服務(wù)器耻蛇,一般是web服務(wù)器;除了web胞此,還有FTP臣咖、MAIL、DNS等
  • 共享存儲(chǔ)(shared stord):它為server pool提供了一個(gè)共享的存儲(chǔ)區(qū)漱牵,很容易讓服務(wù)器池?fù)碛邢嗤膬?nèi)容夺蛇,提供相同的服務(wù)

三、LVS相關(guān)術(shù)語(yǔ)

  • DS:Director Server酣胀。指的是前端負(fù)載均衡器節(jié)點(diǎn)
  • RS:Real Server刁赦。后端真實(shí)的工作服務(wù)器
  • VIP:向外部直接面向用戶請(qǐng)求,作為用戶請(qǐng)求的目標(biāo)的IP地址
  • DIP:Director Server IP闻镶,主要用于和內(nèi)部主機(jī)通訊的IP地址
  • RIP:Real Server IP截型,后端服務(wù)器的IP地址
  • CIP:Client IP,訪問客戶端的IP地址

四儒溉、LVS負(fù)載均衡工作原理

1宦焦、LVS DR模式

LVS DR原理詳解圖

image.png

LVS DR原理:用戶請(qǐng)求LVS到達(dá)director,director將請(qǐng)求的報(bào)文的目的MAC地址改為后端的realserver的MAC地址顿涣,目的IP為VIP(不變)波闹,源IP為client IP地址(不變),然后director將報(bào)文發(fā)送到realserver涛碑,realserver檢測(cè)到目的地址為自己本地的VIP精堕,如果在同一網(wǎng)段,將請(qǐng)求直接返回給用戶蒲障,如果用戶跟realserver不在同一個(gè)網(wǎng)段歹篓,則需要通過網(wǎng)關(guān)返回給用戶瘫证。

LVS DR特性

  • 前端路由將目標(biāo)地址為VIP報(bào)文統(tǒng)統(tǒng)發(fā)給Director Server
  • RS跟Director Server必須有一個(gè)網(wǎng)卡在同一個(gè)物理網(wǎng)絡(luò)中
  • 所有的請(qǐng)求報(bào)文經(jīng)由Director Server,但響應(yīng)報(bào)文必須不能進(jìn)過Director Server
  • 所有的real server機(jī)器上都有VIP地址

2庄撮、LVS NAT模式

LVS NAT原理詳解圖

image.png

LVS NAT原理:用戶請(qǐng)求LVS到達(dá)director背捌,director將請(qǐng)求的報(bào)文的目的IP改為RIP,同時(shí)將報(bào)文的目標(biāo)端口也改為realserver的相應(yīng)端口洞斯,最后將報(bào)文發(fā)送到realserver上毡庆,realserver將數(shù)據(jù)返回給director,director再把數(shù)據(jù)發(fā)送給用戶

LVS NAT特性

NAT模式修改的是目的ip烙如,直接走的是switch不需要修改mac地址么抗,所以VIP和RIP不需要在同一個(gè)網(wǎng)段內(nèi)
NAT的包的進(jìn)出都需要經(jīng)過LVS,所以LVS可能會(huì)成為一個(gè)系統(tǒng)的瓶頸問題

3亚铁、LVS FULLNAT模式

LVS FULLNAT報(bào)文變化

image.png

LVS FULLNAT特性

  • FULLNAT模式也不需要DIP和RIP在同一網(wǎng)段
  • FULLNAT和NAT相比的話:會(huì)保證RS的回包一定可到達(dá)LVS
  • FULLNAT需要更新源IP蝇刀,所以性能正常比NAT模式下降10%

4、LVS TUN原理

LVS TUN原理詳解圖

image.png

LVS TUN原理:用戶請(qǐng)求LVS到達(dá)director徘溢,director通過IP-TUN加密技術(shù)將請(qǐng)求報(bào)文的包封裝到一個(gè)新的IP包里面吞琐,目的IP為VIP(不變),然后director將報(bào)文發(fā)送到realserver甸昏,realserver基于IP-TUN解密,然后解析出來包的目的為VIP徐许,檢測(cè)網(wǎng)卡是否綁定了VIP施蜜,綁定了就處理這個(gè)包,如果在同一個(gè)網(wǎng)段雌隅,將請(qǐng)求直接返回給用戶翻默,否則通過網(wǎng)關(guān)返回給用戶;如果沒有綁定VIP就直接丟掉這個(gè)包

LVS TUN特性

  • TUNNEL必須在所有的realserver上綁定VIP
  • realserver直接把包發(fā)給client
  • 隧道模式運(yùn)維起來會(huì)比較難恰起,所以一般不用

5修械、四種模式的比較

  • 是否需要VIP和realserver在同一網(wǎng)段
    DR模式因?yàn)橹恍薷陌腗AC地址,需要通過ARP廣播找到realserver检盼,所以VIP和realserver必須在同一個(gè)網(wǎng)段肯污,也就是說DR模式需要先確認(rèn)這個(gè)IP是否只能掛在這個(gè)LVS下面;其他模式因?yàn)槎紩?huì)修改目的地址為realserver的IP地址吨枉,所以不需要在同一個(gè)網(wǎng)段內(nèi)

  • 是否需要在realserver上綁定VIP
    realserver在收到包之后會(huì)判斷目的地址是否是自己的IP
    DR模式的目的地址沒有修改蹦渣,還是VIP,所以需要在realserver上綁定VIP
    IP TUN模式值是對(duì)包重新包裝了一層貌亭,realserver解析后的包的IP仍然是VIP柬唯,所以也需要在realserver上綁定VIP

  • 四種模式的性能比較
    DR模式、IP TUN模式都是在包進(jìn)入的時(shí)候經(jīng)過LVS圃庭,在包返回的時(shí)候直接返回給client锄奢;所以二者的性能比NAT高
    但TUN模式更加復(fù)雜失晴,所以性能不如DR
    FULLNAT模式不僅更換目的IP還更換了源IP,所以性能比NAT下降10%
    性能比較:DR>TUN>NAT>FULLNAT

五拘央、LVS負(fù)載均衡十種算法

    1. 輪叫調(diào)度 rr
      均等地對(duì)待每一臺(tái)服務(wù)器涂屁,不管服務(wù)器上的實(shí)際連接數(shù)和系統(tǒng)負(fù)載
    1. 加權(quán)輪叫 wrr
      調(diào)度器可以自動(dòng)問詢真實(shí)服務(wù)器的負(fù)載情況,并動(dòng)態(tài)調(diào)整權(quán)值
    1. 最少鏈接 lc
      動(dòng)態(tài)地將網(wǎng)絡(luò)請(qǐng)求調(diào)度到已建立的連接數(shù)最少的服務(wù)器上
      如果集群真實(shí)的服務(wù)器具有相近的系統(tǒng)性能堪滨,采用該算法可以較好的實(shí)現(xiàn)負(fù)載均衡
    1. 加權(quán)最少鏈接 wlc
      調(diào)度器可以自動(dòng)問詢真實(shí)服務(wù)器的負(fù)載情況胯陋,并動(dòng)態(tài)調(diào)整權(quán)值
      帶權(quán)重的誰(shuí)不干活就給誰(shuí)分配,機(jī)器配置好的權(quán)重高
    1. 基于局部性的最少連接調(diào)度算法 lblc
      這個(gè)算法是請(qǐng)求數(shù)據(jù)包的目標(biāo) IP 地址的一種調(diào)度算法袱箱,該算法先根據(jù)請(qǐng)求的目標(biāo) IP 地址尋找最近的該目標(biāo) IP 地址所有使用的服務(wù)器遏乔,如果這臺(tái)服務(wù)器依然可用,并且有能力處理該請(qǐng)求发笔,調(diào)度器會(huì)盡量選擇相同的服務(wù)器盟萨,否則會(huì)繼續(xù)選擇其它可行的服務(wù)器
    1. 復(fù)雜的基于局部性最少的連接算法 lblcr
      記錄的不是要給目標(biāo) IP 與一臺(tái)服務(wù)器之間的連接記錄,它會(huì)維護(hù)一個(gè)目標(biāo) IP 到一組服務(wù)器之間的映射關(guān)系了讨,防止單點(diǎn)服務(wù)器負(fù)載過高捻激。
    1. 目標(biāo)地址散列調(diào)度算法 dh
      該算法是根據(jù)目標(biāo) IP 地址通過散列函數(shù)將目標(biāo) IP 與服務(wù)器建立映射關(guān)系,出現(xiàn)服務(wù)器不可用或負(fù)載過高的情況下前计,發(fā)往該目標(biāo) IP 的請(qǐng)求會(huì)固定發(fā)給該服務(wù)器胞谭。
    1. 源地址散列調(diào)度算法 sh
      與目標(biāo)地址散列調(diào)度算法類似,但它是根據(jù)源地址散列算法進(jìn)行靜態(tài)分配固定的服務(wù)器資源男杈。
    1. 最少期望延遲 sed
      不考慮非活動(dòng)鏈接丈屹,誰(shuí)的權(quán)重大,優(yōu)先選擇權(quán)重大的服務(wù)器來接收請(qǐng)求伶棒,但權(quán)重大的機(jī)器會(huì)比較忙
    1. 永不排隊(duì) nq
      無(wú)需隊(duì)列旺垒,如果有realserver的連接數(shù)為0就直接分配過去
      ————————————————
      版權(quán)聲明:本文為CSDN博主「皛皛」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議肤无,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明先蒋。
      原文鏈接:https://blog.csdn.net/lcl_xiaowugui/article/details/81701949
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市宛渐,隨后出現(xiàn)的幾起案子竞漾,更是在濱河造成了極大的恐慌,老刑警劉巖窥翩,帶你破解...
    沈念sama閱讀 218,640評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畴蹭,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡鳍烁,警方通過查閱死者的電腦和手機(jī)叨襟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來幔荒,“玉大人糊闽,你說我怎么就攤上這事梳玫。” “怎么了右犹?”我有些...
    開封第一講書人閱讀 165,011評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵提澎,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我念链,道長(zhǎng)盼忌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,755評(píng)論 1 294
  • 正文 為了忘掉前任掂墓,我火速辦了婚禮谦纱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘君编。我一直安慰自己跨嘉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,774評(píng)論 6 392
  • 文/花漫 我一把揭開白布吃嘿。 她就那樣靜靜地躺著祠乃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪兑燥。 梳的紋絲不亂的頭發(fā)上亮瓷,一...
    開封第一講書人閱讀 51,610評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音降瞳,去河邊找鬼嘱支。 笑死,一個(gè)胖子當(dāng)著我的面吹牛力崇,可吹牛的內(nèi)容都是我干的斗塘。 我是一名探鬼主播赢织,決...
    沈念sama閱讀 40,352評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼亮靴,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了于置?” 一聲冷哼從身側(cè)響起茧吊,我...
    開封第一講書人閱讀 39,257評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎八毯,沒想到半個(gè)月后搓侄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,717評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡话速,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,894評(píng)論 3 336
  • 正文 我和宋清朗相戀三年讶踪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泊交。...
    茶點(diǎn)故事閱讀 40,021評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡乳讥,死狀恐怖柱查,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情云石,我是刑警寧澤唉工,帶...
    沈念sama閱讀 35,735評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站汹忠,受9級(jí)特大地震影響淋硝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宽菜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,354評(píng)論 3 330
  • 文/蒙蒙 一谣膳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赋焕,春花似錦参歹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至侨嘀,卻和暖如春臭挽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咬腕。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工欢峰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人涨共。 一個(gè)月前我還...
    沈念sama閱讀 48,224評(píng)論 3 371
  • 正文 我出身青樓纽帖,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親举反。 傳聞我的和親對(duì)象是個(gè)殘疾皇子懊直,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,974評(píng)論 2 355

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