高性能負(fù)載均衡器集群LVS

此文檔主要來(lái)自高俊峰老師的資料匯總

LVS體系結(jié)構(gòu)

??使用 LVS 架設(shè)的服務(wù)器集群系統(tǒng)有三個(gè)部分組成:最前端的負(fù)載均衡層,用 Load Balancer表示,中間的服務(wù)器群組層,用 Server Array 表示殴泰,最底端的數(shù)據(jù)共享存儲(chǔ)層,用 Shared Storage 表示,在用戶看來(lái)泽篮,所有的內(nèi)部應(yīng)用都是透明的,用戶只是在使用一個(gè)虛擬服務(wù)器提供的高性能服務(wù)柑船。

LVS 體系結(jié)構(gòu)如下圖所示:


  • Load Balancer 層:位于整個(gè)集群系統(tǒng)的最前端帽撑,有一臺(tái)或者多臺(tái)負(fù)載調(diào)度器
    (Director Server)組成,LVS 模塊就安裝在 Director Server 上鞍时,而 Director 的主要作用類似于一個(gè)路由器亏拉,它含有完成 LVS 功能所設(shè)定的路由表,通過(guò)這些路由表把用戶的請(qǐng)求分發(fā)給 Server Array 層的應(yīng)用服務(wù)器(Real Server)上逆巍。同時(shí)及塘,在 Director Server 上還要安裝對(duì) Real Server 服務(wù)的監(jiān)控模塊 Ldirectord,此模塊用于監(jiān)測(cè)各個(gè)Real Server 服務(wù)的健康狀況锐极。在 Real Server 不可用時(shí)把它從 LVS 路由表中剔除笙僚,恢復(fù)時(shí)重新加入。
  • Server Array 層:由一組實(shí)際運(yùn)行應(yīng)用服務(wù)的機(jī)器組成灵再,Real Server 可以是 WEB 服務(wù)器肋层、MAIL 服務(wù)器、FTP 服務(wù)器翎迁、DNS 服務(wù)器栋猖、視頻服務(wù)器中的一個(gè)或者多個(gè),每個(gè)Real Server 之間通過(guò)高速的 LAN 或分布在各地的 WAN 相連接鸳兽。在實(shí)際的應(yīng)用中掂铐,Director Server 也可以同時(shí)兼任 Real Server 的角色。
  • Shared Storage 層:是為所有 Real Server 提供共享存儲(chǔ)空間和內(nèi)容一致性的存儲(chǔ)區(qū)域,在物理上全陨,一般有磁盤陣列設(shè)備組成爆班,為了提供內(nèi)容的一致性,一般可以通過(guò) NFS網(wǎng)絡(luò)文件系統(tǒng)共享數(shù)據(jù)辱姨,但是 NFS 在繁忙的業(yè)務(wù)系統(tǒng)中柿菩,性能并不是很好,此時(shí)可以采用集群文件系統(tǒng)雨涛,例如 Red hat 的 GFS 文件系統(tǒng)枢舶,oracle 提供的 OCFS2 文件系統(tǒng)等。


lvs負(fù)載均衡

??負(fù)載均衡技術(shù)有很多實(shí)現(xiàn)方案替久,有DNS負(fù)載均衡凉泄、HTTP重定向、反向代理負(fù)載均衡蚯根、IP負(fù)載均衡后众、直接路由、IP隧道颅拦,在這些負(fù)載調(diào)度算法中蒂誉,執(zhí)行效率最高的是數(shù)據(jù)鏈路負(fù)載均衡。
關(guān)于服務(wù)器集群負(fù)載均衡參考文檔:https://www.zhihu.com/question/22610352
注意:
反向代理負(fù)載均衡不是數(shù)據(jù)鏈路層的負(fù)載均衡距帅,數(shù)據(jù)鏈路層的負(fù)載均衡可以實(shí)現(xiàn)三角傳輸(DR模式)右锨。
數(shù)據(jù)鏈路層負(fù)載均衡是目前使用最廣泛的一種負(fù)載均衡方式。著名的負(fù)載均衡開源產(chǎn)品LVS(Linux Virtual Server)碌秸,同時(shí)支持上面的IP負(fù)載均衡和數(shù)據(jù)鏈路層負(fù)載均衡绍移。

??LVS 的 IP 負(fù)載均衡技術(shù)是通過(guò) IPVS 模塊來(lái)實(shí)現(xiàn)的,IPVS 是 LVS 集群系統(tǒng)的核心軟件哮肚,lvs集群整個(gè)執(zhí)行流程為:訪問(wèn)的請(qǐng)求首先經(jīng)過(guò) VIP 到達(dá)負(fù)載調(diào)度器登夫,然后由負(fù)載調(diào)度器從 Real Server 列表中選取一個(gè)服務(wù)節(jié)點(diǎn)響應(yīng)用戶的請(qǐng)求。
??當(dāng)用戶的請(qǐng)求到達(dá)負(fù)載調(diào)度器后允趟,調(diào)度器如何將請(qǐng)求發(fā)送到提供服務(wù)的 Real Server 節(jié)點(diǎn)恼策,而 Real Server 節(jié)點(diǎn)如何返回?cái)?shù)據(jù)給用戶,是 IPVS 實(shí)現(xiàn)的重點(diǎn)技術(shù)潮剪,IPVS 實(shí)現(xiàn)負(fù)載均衡機(jī)制有三種涣楷,分別是 NAT、TUN 和 DR抗碰,詳述如下:

1. DR模式
DR模式

DR 模式: 即 Virtual Server via Direct Routing狮斗,也就是用直接路由技術(shù)實(shí)現(xiàn)虛擬服務(wù)器。VS/DR 通過(guò)改寫請(qǐng)求報(bào)文的 MAC 地址弧蝇,將請(qǐng)求發(fā)送到 Real Server碳褒,而 Real Server將響應(yīng)直接返回給客戶折砸。這種調(diào)度方式的性能最好的。

DR模式小結(jié):
1沙峻、DR 模式是通過(guò)在調(diào)度器 LB 上修改數(shù)據(jù)包的目的 MAC 地址實(shí)現(xiàn)轉(zhuǎn)發(fā)睦授。因此數(shù)據(jù)包來(lái)源地址保持不變,目的地址仍然是 VIP 地址摔寨。
2去枷、請(qǐng)求的報(bào)文經(jīng)過(guò)調(diào)度器,而 RS 響應(yīng)處理后的報(bào)文無(wú)需經(jīng)過(guò)調(diào)度器 LB是复,因此并發(fā)訪問(wèn)量大時(shí)使用效率很高(和 NAT 模式比)
3删顶、因?yàn)?DR 模式是通過(guò) MAC 地址改寫機(jī)制實(shí)現(xiàn)轉(zhuǎn)發(fā),因此所有 RS 節(jié)點(diǎn)和調(diào)度器 LB 只能在一個(gè)局域網(wǎng)里面
4淑廊、RS 主機(jī)需要綁定 VIP 地址在 LO 接口上逗余,并且需要配置 ARP 抑制。
5季惩、RS 節(jié)點(diǎn)的默認(rèn)網(wǎng)關(guān)不需要配置成 LB猎荠,而是直接配置為上級(jí)路由的網(wǎng)關(guān),能讓 RS 直接出網(wǎng)就可以蜀备。
6、由于 DR 模式的調(diào)度器僅做 MAC 地址的改寫荒叶,所以調(diào)度器 LB 就不能改寫目標(biāo)端口碾阁,那么 RS 服務(wù)器就得使用和 VIP 相同的端口提供服務(wù)。

2. NAT模式
NAT模式

NAT 模式: 即 Virtual Server via Network Address Translation些楣,也就是網(wǎng)絡(luò)地址翻譯技術(shù)實(shí)現(xiàn)虛擬服務(wù)器脂凶。當(dāng)用戶請(qǐng)求到達(dá)調(diào)度器時(shí),調(diào)度器將請(qǐng)求報(bào)文的目標(biāo)地址(即虛擬IP 地址)改寫成選定的 Real Server 地址愁茁,同時(shí)將報(bào)文的目標(biāo)端口也改成選定的 Real Server的相應(yīng)端口蚕钦,最后將報(bào)文請(qǐng)求發(fā)送到選定的 Real Server。在服務(wù)器端得到數(shù)據(jù)后鹅很,Real Server 將數(shù)據(jù)返回給用戶時(shí)嘶居,需要再次經(jīng)過(guò)負(fù)載調(diào)度器將報(bào)文的源地址和源端口改成虛擬IP 地址和相應(yīng)端口,然后把數(shù)據(jù)發(fā)送給用戶促煮,完成整個(gè)負(fù)載調(diào)度過(guò)程邮屁。

NAT模式優(yōu)缺點(diǎn):
1、NAT 模式不需要 LB IP 和 realserver ip 在同一個(gè)網(wǎng)段(此圖是在同一個(gè)局域網(wǎng)下)菠齿。只需要在 LB 上配置一個(gè)公網(wǎng) IP 地址就可以了佑吝。
2、NAT 技術(shù)將請(qǐng)求的報(bào)文和響應(yīng)的報(bào)文都需要通過(guò) LB 進(jìn)行地址改寫绳匀,因此網(wǎng)站訪問(wèn)量比較大的時(shí)候芋忿,LB 負(fù)載均衡調(diào)度器有比較大的瓶頸炸客,一般要求最多之能 10-20 臺(tái)節(jié)點(diǎn)
3、每臺(tái)內(nèi)部的 realserver 服務(wù)器的網(wǎng)關(guān)地址必須是調(diào)度器 LB 的內(nèi)網(wǎng)地址戈钢。
4痹仙、NAT 模式支持對(duì) IP 地址和端口進(jìn)行轉(zhuǎn)換。即用戶請(qǐng)求的端口和真實(shí)服務(wù)器的端口可以不一致逆趣。

3. FULL NAT模式

FULL NATT 模式蝶溶,與 NAT 模式基本一樣,不同之處在于對(duì)報(bào)文的處理方面,如下圖:

NAT與FULL NAT報(bào)文

1宣渗、FULL NAT 模式也不需要 LB IP 和 realserver ip 在同一個(gè)網(wǎng)段抖所。
2、FULL NAT 因?yàn)橐?Source IP 所以性能正常比 NAT 模式下降 10%痕囱。

4. IP TUNNEL模式
IP隧道.png

TUN :即 Virtual Server via IP Tunneling 也就是通過(guò) IP 隧道技術(shù)實(shí)現(xiàn)虛擬服務(wù)器田轧。 在 VS/TUN 方式中,調(diào)度器采用 IP 隧道技術(shù)將用戶請(qǐng)求轉(zhuǎn)發(fā)到某個(gè) Real Server鞍恢,而這個(gè)Real Server 將直接響應(yīng)用戶的請(qǐng)求傻粘,不再經(jīng)過(guò)前端調(diào)度器。此外帮掉,對(duì) Real Server 的地域位置沒(méi)有要求弦悉,可以和 Director Server 位于同一個(gè)網(wǎng)段,也可以在獨(dú)立的一個(gè)網(wǎng)絡(luò)中蟆炊。因此稽莉,在 TUN 方式中,調(diào)度器將只處理用戶的報(bào)文請(qǐng)求涩搓,從而使集群系統(tǒng)的吞吐量大大提高污秆。

IP TUNNEL模式注意事項(xiàng):
1、TUNNEL 模式必須在所有的 realserver 機(jī)器上面綁定 VIP 的 IP 地址
2昧甘、TUNNEL 模式的 vip ------>realserver 的包通信通過(guò) TUNNEL 模式良拼,不管是內(nèi)網(wǎng)和外網(wǎng)都能通信,所以不需要 lvs vip 跟 realserver 在同一個(gè)網(wǎng)段內(nèi)
3充边、TUNNEL 模式 realserver 會(huì)把 packet 直接發(fā)給 client 不會(huì)給 lvs 了
4庸推、TUNNEL 模式走的隧道模式,所以運(yùn)維起來(lái)比較難痛黎,所以一般不用予弧。

LVS調(diào)度算法

Lvs 的調(diào)度算法決定了如何在集群節(jié)點(diǎn)之間分布工作負(fù)荷。當(dāng) director 調(diào)度器收到來(lái)自客戶端訪問(wèn) VIP 的上的集群服務(wù)的入站請(qǐng)求時(shí)湖饱,director 調(diào)度器必須決定哪個(gè)集群節(jié)點(diǎn)應(yīng)該處理請(qǐng)求掖蛤。Director 調(diào)度器用的調(diào)度方法基本分為兩類:
固定調(diào)度算法:rr,wrr井厌,dh蚓庭,sh
動(dòng)態(tài)調(diào)度算法:wlc致讥,lc,lblc器赞,lblcr

LVS調(diào)度算法的生產(chǎn)環(huán)境選型:
1垢袱、一般的網(wǎng)絡(luò)服務(wù),如 www港柜,mail请契,mysql 等常用的 LVS 調(diào)度算法為:
a.基本輪詢調(diào)度 rr
b.加權(quán)最小連接調(diào)度 wlc
c.加權(quán)輪詢調(diào)度 wrr
2、基于局部性的最小連接 lblc 和帶復(fù)制的給予局部性最小連接 lblcr 主要適用web cache 和 DB cache
3夏醉、源地址散列調(diào)度 SH 和目標(biāo)地址散列調(diào)度 DH 可以結(jié)合使用在防火墻集群中爽锥,可以保證整個(gè)系統(tǒng)的出入口唯一。

LVS的安裝與使用

  • 安裝 IPVS 管理軟件
[root@localhost ~]#yum -y install ipvsadm
[root@localhost ~]# ipvsadm --help
  • ipvsadm 的用法


    ipvsadm的用法

可以用“ipvsadm --clear”代替“ipvsadm -C”

列子:

[root@localhost ~]#ipvsadm -C
[root@localhost ~]#ipvsadm -A -t 192.168.60.200:80 -s rr -p 600
[root@localhost ~]#ipvsadm -a -t 192.168.60.200:80 -r 192.168.60.132:80 -g
[root@localhost ~]#ipvsadm -a -t 192.168.60.200:80 -r 192.168.60.144:80 –g
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末畔柔,一起剝皮案震驚了整個(gè)濱河市氯夷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌靶擦,老刑警劉巖腮考,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異玄捕,居然都是意外死亡踩蔚,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門枚粘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)寂纪,“玉大人,你說(shuō)我怎么就攤上這事赌结。” “怎么了孝冒?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵柬姚,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我庄涡,道長(zhǎng)量承,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任穴店,我火速辦了婚禮撕捍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘泣洞。我一直安慰自己忧风,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布球凰。 她就那樣靜靜地躺著狮腿,像睡著了一般腿宰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上缘厢,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天吃度,我揣著相機(jī)與錄音,去河邊找鬼贴硫。 笑死椿每,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的英遭。 我是一名探鬼主播间护,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼贪绘!你這毒婦竟也來(lái)了兑牡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤税灌,失蹤者是張志新(化名)和其女友劉穎均函,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體菱涤,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡苞也,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了粘秆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片如迟。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖攻走,靈堂內(nèi)的尸體忽然破棺而出殷勘,到底是詐尸還是另有隱情,我是刑警寧澤昔搂,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布玲销,位于F島的核電站,受9級(jí)特大地震影響摘符,放射性物質(zhì)發(fā)生泄漏贤斜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一逛裤、第九天 我趴在偏房一處隱蔽的房頂上張望瘩绒。 院中可真熱鬧,春花似錦带族、人聲如沸锁荔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)堕战。三九已至坤溃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間嘱丢,已是汗流浹背薪介。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留越驻,地道東北人汁政。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像缀旁,于是被迫代替她去往敵國(guó)和親记劈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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