




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、Linux負載均衡一、LVS 既述及原理LVS 是一個開源的軟件, 由畢業(yè)于國防科技大學的章文嵩博士于 1998 年 5 月創(chuàng)立,可以實現(xiàn) LINUX 平臺下的簡單負載均衡。LVS 是 LinuxVirtualServer 的縮寫,意思是Linux 虛擬服務器。LVS 集群采用 IP 負載均衡技術和基于內(nèi)容請求分發(fā)技術。調(diào)度器具有很好的吞吐率,將請求均衡地轉(zhuǎn)移到不同的服務器上執(zhí)行,且調(diào)度器自動屏蔽掉服務器的故障,從而將一組服務器構成一個高性能的、高可用的虛擬服務器。整個服務器集群的結構對客戶是透明的,而且無需修改客戶端和服務器端的程序。為此,在設計時需要考慮系統(tǒng)的透明性、可伸縮性、高可用性和易
2、管理性。一般來說,LVS 集群采用三層結構,其主要組成部分為:1)負載調(diào)度器(loadbalancer),它是整個集群對外面的前端機,負責將客戶的請求發(fā)送到一組服務器上執(zhí)行, 而客戶認為服務是來自一個 IP 地址(我們可稱之為虛擬 IP 地址)上的。2)服務器池(serverpool),是一組真正執(zhí)行客戶請求的服務器,執(zhí)行的服務有WERMAIL、FTP 和 DNS 等。3)共享存儲(sharedstorage),它為服務器池提供一個共享的存儲區(qū),這樣很容易使得服務器池擁有相同的內(nèi)容,提供相同的服務。調(diào)度器是服務器集群系統(tǒng)的唯一入口點(SingleEntryPoint),它可以采用 IP 負載均
3、衡技術、基于內(nèi)容請求分發(fā)技術或者兩者相結合。在 IP 負載均衡技術中,需要服務器池擁有相同的內(nèi)容提供相同的服務。當客戶請求到達時,調(diào)度器只根據(jù)服務器負載情況和設定的調(diào)度算法從服務器池中選出一個服務器,將該請求轉(zhuǎn)發(fā)到選出的服務器,并記錄這個調(diào)度;當這個請求的其他報文到達,也會被轉(zhuǎn)發(fā)到前面選出的服務器。在基于內(nèi)容請求分發(fā)技術中,服務器可以提供不同的服務,當客戶請求到達時,調(diào)度器可根據(jù)請求的內(nèi)容選擇服務器執(zhí)行請求。因為所有的操作都是在 Linux 操作系統(tǒng)核心空間中將完成的,它的調(diào)度開銷很小,所以它具有很高的吞吐率。服務器池的結點數(shù)目是可變的。當整個系統(tǒng)收到的負載超過目前所有結點的處理能力時,可以在
4、服務器池中增加服務器來滿足不斷增長的請求負載。對大多數(shù)網(wǎng)絡服務來說,請求問不存在很強的相關性,請求可以在不同的結點上并行執(zhí)行,所以整個系統(tǒng)的性能基本上可以隨著服務器池的結點數(shù)目增加而線性增長。共享存儲通常是數(shù)據(jù)庫、網(wǎng)絡文件系統(tǒng)或者分布式文件系統(tǒng)。|服務器結點需要動態(tài)更新的數(shù)據(jù)一般存儲在數(shù)據(jù)庫系統(tǒng)中,同時數(shù)據(jù)庫會保證并發(fā)訪問時數(shù)據(jù)的一致性。靜態(tài)的數(shù)據(jù)可以存儲在網(wǎng)絡文件系統(tǒng)(如 NFS/CIFS 中,但網(wǎng)絡文件系統(tǒng)的伸縮能力有限,一般來說,NFS/CIFSK 務器只能支持 36 個繁忙的服務器結點。對于規(guī)模較大的集群系統(tǒng),可以考慮用分布式文件系統(tǒng),如 AFSGFSCoda 和Intermezzo
5、等。分布式文件系統(tǒng)可為各服務器提供共享的存儲區(qū),它們訪問分布式文件系統(tǒng)就像訪問本地文件系統(tǒng)一樣,同時分布式文件系統(tǒng)可提供良好的伸縮性和可用性。此外,當不同服務器上的應用程序同時讀寫訪問分布式文件系統(tǒng)上同一資源時,應用程序的訪問沖突需要消解才能使得資源處于一致狀態(tài)。這需要一個分布式鎖管理器(DistributedLockManager-),它可能是分布式文件系統(tǒng)內(nèi)部提供的, 也可能是外部的。開發(fā)者在寫應用程序時,可以使用分布式鎖管理器來保證應用程序在不同結點上并發(fā)訪問的一致性。負載調(diào)度器、服務器池和共享存儲系統(tǒng)通過高速網(wǎng)絡相連接,如 100Mbps 交換網(wǎng)絡、Myrinet 和 Gigabit
6、網(wǎng)絡等。使用高速的網(wǎng)絡,主要為避免當系統(tǒng)規(guī)模擴大時互聯(lián)網(wǎng)絡成為整個系統(tǒng)的瓶頸。GraphicMonitor 是為系統(tǒng)管理員提供整個集群系統(tǒng)的監(jiān)視器,它可以監(jiān)視系統(tǒng)的狀態(tài)。GraphicMonitor 是基于瀏覽器的,所以無論管理員在本地還是異地都可以監(jiān)測系統(tǒng)的狀況。為了安全的原因,瀏覽器要通過 HTTPS(SecureHTTP 協(xié)議和身份認證后,才能進行系統(tǒng)監(jiān)測,并進行系統(tǒng)的配置和管理??缮炜s網(wǎng)絡服務的幾種結構,它們都需要一個前端的負載調(diào)度器(或者多個進行主從備份)。我們先分析實現(xiàn)虛擬網(wǎng)絡服務的主要技術,指出 IP 負載均衡技術是在負載調(diào)度器的實現(xiàn)技術中效率最高的。在已有的 IP 負載均衡技術
7、中,主要有通過網(wǎng)絡地址轉(zhuǎn)換(NetworkAddressTranslation)將一組服務器構成一個高性能的、高可用的虛擬服務器,我們稱之為 VS/NAT 技術(VirtualServerviaNetworkAddressTranslation)。在分析 VS/NAT 的缺點和網(wǎng)絡服務的非對稱性的基礎上, 我們提出了通過 IP 隧道實現(xiàn)虛擬服務器的方法 VS/TUN (VirtualServerviaIPTunneling,和通過直接路由實現(xiàn)虛擬服務器的方法 VS/DR(VirtualServerviaDirectRoutin。,它們可以極大地提高系統(tǒng)的伸縮性。VS/NATVS/NAT、VS/
8、TUNVS/TUN 和 VS/DRVS/DR 技術是 LVSLVS 集群中實現(xiàn)的三種 IPIP 負載均衡技術。1)使用 VS/NAT 方法:客戶通過 VirtualIPAddress(虛擬服務的 IP 地址)訪問網(wǎng)絡服務時,請求報文到達調(diào)度器,調(diào)度器根據(jù)連接調(diào)度算法從一組真實服務器中選出一臺服務器,將報文的目標地址 VirtualIPAddress 改寫成選定服務器的地址,報文的目標端口改寫成選定服務器的相應端口,最后將修改后的報文發(fā)送給選出的服務器。同時,調(diào)度器在連接 Hash 表中記錄這個連接,當這個連接的下一個報文到達時,從連接 Hash 表中可以得到原選定服務器的地址和端口,進行同樣的
9、改寫操作,并將報文傳給原選定的服務器。當來自真實服務器的響應報文經(jīng)過調(diào)度器時,調(diào)度器將報文的源地址和源端口改為VirtualIPAddress 和相應的端口,再把報文發(fā)給用戶。當使用 VS/NAT 方法時,如果有大量的響應數(shù)據(jù)經(jīng)過調(diào)度器,調(diào)度器將成為整個集群的瓶頸。2)使用 VS/TUN 方法:VS/TUN 的連接調(diào)度和管理與 VS/NAT 中的一樣,只是它的報文轉(zhuǎn)發(fā)方法不同。調(diào)度器根據(jù)各個服務器的負載情況,動態(tài)地選擇一臺服務器,將請求報文封裝在另一個 IP 報文中,再將封裝后的 IP 報文轉(zhuǎn)發(fā)給選出的服務器;服務器收到報文后,先將報文解封獲得原來目標地址為 VIP 的報文,服務器發(fā)現(xiàn) VIP
10、 地址被配置在本地的 IP 隧道設備上,所以就處理這個請求,然后根據(jù)路由表將響應報文直接返回給客戶。3)使用 VS/DR 方法:調(diào)度器和服務器組都必須在物理上有一個網(wǎng)卡通過不分斷的局域網(wǎng)相連,如通過交換機或者高速的 HUB 相連。VIP 地址為調(diào)度器和服務器組共享,調(diào)度器配置的 VIP 地址是對外可見的,用于接收虛擬服務的請求報文;所有的服務器把VIP 地址配置在各自的 Non-ARP 網(wǎng)絡設備上,它對外面是不可見的,只是用于處理目標地址為 VIP 的網(wǎng)絡請求。在 VS/DR 中,調(diào)度器根據(jù)各個服務器的負載情況,動態(tài)地選擇一臺服務器,不修改也不封裝 IP 報文,而是將數(shù)據(jù)幀的 MAC 地址改為
11、選出服務器的 MAC 地址,再將修改后的數(shù)據(jù)幀在與服務器組的局域網(wǎng)上發(fā)送。因為數(shù)據(jù)幀的 MAC 地址是選出的服務器,所以服務器肯定可以收到這個數(shù)據(jù)幀,從中可以獲得該 IP 報文。當服務器發(fā)現(xiàn)報文的目標地址 VIP 是在本地的網(wǎng)絡設備上,服務器處理這個報文,然后根據(jù)路由表將響應報文直接返回給客戶。LVS 負載平衡器調(diào)度后臺真實服務器的方法有八種,分別如下:1)RoundRobin 輪叫法2)WeightedRoundRobin 加權輪叫3)LeastConnections 最少鏈接4)WeightedLeastConnections 力口權最少鏈接5)Locality-BasedLeastCon
12、nections 基于局部性的最少鏈接6)Locality-BasedLeastConnectionswithReplication 帶復制的基于局部性最少鏈接7)DestinationHashing 目標地址散列8)SourceHashing 源地址散列二、實現(xiàn) LVS 負載平衡下面以實驗的形式來說明 LVS 負載平衡的功能(本例是使用 LVSDR 模式, 調(diào)度方法為輪循呼叫),實驗拓撲圖如下所示:分析:上圖中 0/16 為負載平衡器(實現(xiàn) LVS)而 0/16、0/16 為兩臺 web 服務器??蛻舳嗽L問負載平衡器的虛擬 IP 時
13、,由負載平衡器調(diào)度使用輪叫法調(diào)度兩臺 web 服務器。1.初始化各服務器如下圖所示:(1)負載平衡器初始化(設置 IP 地址、計算機名稱、hosts 文件)如下圖所示:/etc/sysconfig/network-scripts/ifcfg-eth0 配置如下:BOOTPROT0-stdljc川DDR-fiO:OC:29UniONBOOT=yesI?IDDR-17221.0.30/etc/sysconfig/network 文件配置如下:KTUORkiXG_IPK=yesimssxwil=nIbmaslL,exampleci/etc/hosts 文件配置如下所示:n1hmasterlocaIh
14、ost*localdomainlocalho1ucaIhusl6.lucaldumtii(16luca1hub16為了能夠順利的看到實驗效果,禁用 selinux,/etc/sysconfig/selinux 文件配置如下:二Thrfi1cront:-n1sihrrIntc?ofS|J】mironthr,$1.WSELINUX=contakeoneofthesethreevalues:二cnttJiCing-SL1.inuxsecuritjpolicyi&enforced,=pernissiveSELinuprintswarningsinsLeadofenforcing.-disabl
15、ed-SELinuxisfullydisabled,SEL1KIX二場ablqdlCLJ1T、TTTX1U*FnlA事ViL1-4-KJ!d1K一 0111no0,iC4說明:上述內(nèi)容設置完畢后必須重新啟動計算機讓其生效。(2)使用上述相同方法設置兩臺 web 服務器的 IP 地址、計算機名、hosts 文件、及禁用selinux 并重啟計算機。配置負載平衡器(LVS 莊機(1)為了不受防火墻的影響,在實驗前關閉防火墻,如下圖所示:11門nt1hmas1(?r=servirciptablessti)p清除防火堵規(guī)則:確定把ins設置為ACCEPT策略:Tiller用毛正在卸載Iiptables
16、模塊:I確定1IroutujnIbmcLitci,,|二Irc-otnIbmastcr|mcunL/hJc/tnntmounttblockdevice/dev/hdeisnrile-ptLtccIcd.mountinpread-onlyrootAnlbmaster產(chǎn)cd/rnnt/Clustor蔡元紀制作Irootan1bmalcrC1uJStci|一口mithiDsadm1.二工-8+1.jW6.r口m-warning:ipvsadn14248*1*i386.rpm-HeaderV3DSAsignature:米爪”、keyD37017186Preparingi.(100K*MMOK=.Mm.
17、MKJ=JBM.WBV*KAHHLMKTHTJiBM*XB-d-KUMS*1!KMMM.aI1I1f1L1LIlFQ1ipvsadm(6X=|100(2)在負載平衡器上手工建立 LVS 調(diào)度腳本,如下圖所示:rooton1boiasterClustervim/etc/init.d/vip.sh127,0.0Jytt;117202.LVS 調(diào)度腳本的內(nèi)容如下圖所示:=h;n/hash;ifconfigethOiO172*24.0.100broadcast55netmask235uprouteadd-lir-ILL_JJ19Jex燈LhG;ip5adm門-1L_,2L、,1。
18、:$0msadrn說明:首先將 LVS 虛擬 IP00 綁定至 ij 本地的 eth0:0 設備上,設置本地計算機要到達00 的數(shù)據(jù)需要使用 eth0:0 設備;ipvsadmC代表清除以前的 ipvsadm 設置;ipvsadm-A 代表在內(nèi)核的虛擬服務器表中添加一條新的虛擬服務器記錄,也就是增加一臺新的虛擬服務器;-a 代表在內(nèi)核虛擬服務器表的一條記錄里添加一條新的真實服務器記錄,也就是在一個虛擬服務器中增加一臺新的真實服務器;-t-tcp-serviceservice-address 說明虛擬服務器提供的是 tcp 的服務;-s 代表使用的調(diào)度算法
19、,有這樣幾個選項 rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,其中 rr 為輪叫法;-g 指定 LVS 的工作模式為直接路由模式(也是 LVS 默認的模式)(3)為 LVS 調(diào)度腳本添加相關的執(zhí)行權限,然后執(zhí)行調(diào)度腳本,并設置系統(tǒng)開機后自動執(zhí)行該腳本,如下圖所示::0:httpf172.24.0,IO:httpFjrarJHeightctiCcnnnrtctConnRoute10RouteI3.設置 0/16Web01 服務器(1)在服務器 web01 上首先關閉防火墻,服務,最后建立 web01 主頁如下圖所示:然后安裝
20、 httpd 的 apache 軟件包,并啟動 apachel:httpd7fH:二二二=二二匚二二二二二二二二二二二二|100uI|roDtcvcbOScier|scrvicchttpdstart啟動httcxh南定IrootdwcbOlServer|zechoh1111111111/var/wwi*/html/1ndex+htmlIrcnt(iweb01Serverl=(2)為了讓 web01 綁定群集虛擬 IP,并忽略 ARP 請求包,需要建立腳本文件完成,如下圖所示:iGiwehOlServerLIE/t?tc/1n11,d,sh|腳本文件的內(nèi)容如下圖所示:#!/bin/bashiif
21、configla:0172240100broadcast172,24*255,255netmask253255*255*255uP蔡元紀制作routeadd-E11-t172.21,0*10deloin1/proc/sys/rift/ipi-1/conr/lu/arp_ignore:_/proc/byb/nt;l/ip4/conf/1o/arp_annunceec?-1/proc/sys/net/ipv4/conf/all/arp_ignorc2/proc/sys/nct/ipv4Aonf/a11/arpannouncessc110說明: 上圖中首先將00的虛擬IP綁定到本
22、機網(wǎng)卡的lo環(huán)回接口上,然后告訴本地計算機:到達 00 的數(shù)據(jù)需要使用設備 lo:0;然后設置忽略本地 ARP 請求, 最后使用 sysctlR 使之生效。(3)為腳本文件添加相關執(zhí)行權限,然后執(zhí)行腳本,并設置該腳本系統(tǒng)開機時自動啟動,如下圖所示:rootfivcbOl=5crviceiptablesstop清除防火墻規(guī)則:把chains設置為CCLPT策略:filter正在酬載liptabitb模塊;Ir*.?ub01|二IiJuLCwebOl|二muuni/dz/hdc/mntmonntJblockdcicc/Jcv/hdcisnritc-pr.levied,nioun
23、iing1rootctycbOlcd/mntrootlebOlrnnt=cd5uccrootOwebOlServer注ncnr*vhhttD,I】1.廣口電確定確定1就定rcadonlywarnin&ihttpd-2,2,3-6.e151386,rowHeaderV3DSAsisnatureiXOKY,keyID3蔡元紀制作(icm!1001Lliiepdring.rootawebOlServerJ1?chmoda+x/etc/initd/webOlshIrootatwcbOlScrcr|-IrootcowcbOlServer/ctcin11.d/webO1,shnet*ipv4ip_
24、irward=0netipv4.conf.defau11.rp_li1ter-1net,ip4.mnf,defau:Itseeept_,soijrcc_rnule=0ketrie1*syjiiq=0ketnel.coveruse_pid-1netHp4.tcp_syricookits=1_kernel.msgmnb-65S36禁兀紀制作kernel.rtibgniax-63336kernel.shmmax=4294987295kernel,5hna1I=2(i8435436rnotCwcbOlServer?roottwcbOlServereqhQ./tr/imt.d/rebOl*:sh*/elr/u-l”aI4.設置 0/16web02 服務器(1)在服務器 web02 上首先關閉防火墻,然后安裝 httpd 的 apache 軟件包,并啟動 apache 服務,最后建立 web02 主頁如下圖所示:說明:為了更明顯的看到實驗效果,我們在兩臺 web 服務器上建立不相同的主頁內(nèi)容建立。(2)在 web02 的/etc/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 提升自我學習能力心理學角度的策略解析
- 學生目標設定與動機激發(fā)的關系探討
- 施工合同的條款解讀考查題
- 智慧城市辦公空間的未來趨勢預測
- 智慧城市公園的數(shù)字化公共藝術空間設計
- 教育心理學在團隊建設中的作用
- 江西省上饒市“山江湖”協(xié)作體統(tǒng)招班2025屆物理高二第二學期期末預測試題含解析
- 智慧辦公青島企業(yè)智能化的新篇章
- 醫(yī)療健康領域的政策變革與未來趨勢
- 2025年安徽省滁州市來安縣第三中學物理高一下期末統(tǒng)考試題含解析
- 2025至2030全球及中國隔膜式氫氣壓縮機行業(yè)項目調(diào)研及市場前景預測評估報告
- 2025年包頭包鋼集團招聘筆試備考題庫(帶答案詳解)
- 初級保育員培訓課件
- 2025年遼寧、吉林、黑龍江、內(nèi)蒙古四省高考物理真題(含答案)
- DB4201∕T 694-2024 押運行業(yè)安全生產(chǎn)標準化基本規(guī)范
- 2025至2030中國精神病醫(yī)院行業(yè)發(fā)展分析及發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 裝載機司機安全培訓試題及答案
- 2025年中國拉臂式車廂可卸式垃圾車市場調(diào)查研究報告
- 2025屆上海市高考英語考綱詞匯表
- 新《高等教育學》考試復習題庫450題(含各題型)
- 日照正濟藥業(yè)有限公司創(chuàng)新原料藥及制劑研發(fā)生產(chǎn)項目一期工程職業(yè)病危害預評價報告
評論
0/150
提交評論