久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      一. 集群的概念

      服務(wù)器集群簡稱集群是一種服務(wù)器系統(tǒng),它通過一組松散集成的服務(wù)器軟件和/或硬件連接起來高度緊密地協(xié)作完成計(jì)算工作。在某種意義上,他們可以被看作是一臺服務(wù)器。
      集群系統(tǒng)中的單個(gè)服務(wù)器通常稱為節(jié)點(diǎn),通常通過局域網(wǎng)連接,但也有其它的可能連接方式。集群服務(wù)器通常用來改進(jìn)單個(gè)服務(wù)器的計(jì)算速度和/或可靠性。一般情況下集群
      服務(wù)器比單個(gè)服務(wù)器,比如工作站或超級服務(wù)器性能價(jià)格比要高得多。集群就是一組獨(dú)立的服務(wù)器,通過網(wǎng)絡(luò)連接組合成一個(gè)組合來共同完一個(gè)任務(wù)。

      說的直白點(diǎn),集群就是一組相互獨(dú)立的服務(wù)器,通過高速的網(wǎng)絡(luò)組成一個(gè)服務(wù)器系統(tǒng),每個(gè)集群節(jié)點(diǎn)都是運(yùn)行其自己進(jìn)程的一個(gè)獨(dú)立服務(wù)器。對網(wǎng)絡(luò)用戶來講,網(wǎng)站后
      端就是一個(gè)單一的系統(tǒng),協(xié)同起來向用戶提供系統(tǒng)資源,系統(tǒng)服務(wù)。

      二. 為什么要使用集群

      1) 集群的特點(diǎn)
      –  高性能performance
      一些需要很強(qiáng)的運(yùn)算處理能力比如天氣預(yù)報(bào),核試驗(yàn)等。這就不是幾臺服務(wù)器能夠搞定的。這需要上千臺一起來完成這個(gè)工作的。

      –  價(jià)格有效性
      通常一套系統(tǒng)集群架構(gòu),只需要幾臺或數(shù)十臺服務(wù)器主機(jī)即可,與動則上百萬的專用超級服務(wù)器具有更高的性價(jià)比。

      –  可伸縮性
      當(dāng)服務(wù)器負(fù)載壓力增長的時(shí)候,系統(tǒng)能夠擴(kuò)展來滿足需求,且不降低服務(wù)質(zhì)量。

      –  高可用性
      盡管部分硬件和軟件發(fā)生故障,整個(gè)系統(tǒng)的服務(wù)必須是7*24小時(shí)運(yùn)行的。

      2) 集群的優(yōu)勢
      –  透明性
      如果一部分服務(wù)器宕機(jī)了業(yè)務(wù)不受影響,一般耦合度沒有那么高,依賴關(guān)系沒有那么高。比如NFS服務(wù)器宕機(jī)了其他就掛載不了了,這樣依賴性太強(qiáng)。

      –  高性能
      訪問量增加,能夠輕松擴(kuò)展。

      –  可管理性
      整個(gè)系統(tǒng)可能在物理上很大,但很容易管理。

      –  可編程性
      在集群系統(tǒng)上,容易開發(fā)應(yīng)用程序,門戶網(wǎng)站會要求這個(gè)。

      3) 集群分類及不同分類的特點(diǎn)
      計(jì)算機(jī)集群架構(gòu)按照功能和結(jié)構(gòu)一般分成以下幾類:
      –  負(fù)載均衡集群(Loadbalancingclusters)簡稱LBC
      –  高可用性集群(High-availabilityclusters)簡稱HAC
      –  高性能計(jì)算集群(High-perfomanceclusters)簡稱HPC
      –  網(wǎng)格計(jì)算(Gridcomputing)

      就集群分類而言, 網(wǎng)絡(luò)上面一般認(rèn)為是有三個(gè),負(fù)載均衡和高可用集群式我們互聯(lián)網(wǎng)行業(yè)常用的集群架構(gòu)。
      1) 負(fù)載均衡集群
      負(fù)載均衡集群為企業(yè)提供了更為實(shí)用,性價(jià)比更高的系統(tǒng)架構(gòu)解決方案。負(fù)載均衡集群把很多客戶集中訪問的請求負(fù)載壓力可能盡可能平均的分?jǐn)偟接?jì)算機(jī)集群中處理。
      客戶請求負(fù)載通常包括應(yīng)用程度處理負(fù)載和網(wǎng)絡(luò)流量負(fù)載。這樣的系統(tǒng)非常適合向使用同一組應(yīng)用程序?yàn)榇罅坑脩籼峁┓?wù)。每個(gè)節(jié)點(diǎn)都可以承擔(dān)一定的訪問請求負(fù)載壓力,
      并且可以實(shí)現(xiàn)訪問請求在各節(jié)點(diǎn)之間動態(tài)分配,以實(shí)現(xiàn)負(fù)載均衡。

      負(fù)載均衡運(yùn)行時(shí),一般通過一個(gè)或多個(gè)前端負(fù)載均衡器將客戶訪問請求分發(fā)到后端一組服務(wù)器上,從而達(dá)到整個(gè)系統(tǒng)的高性能和高可用性。這樣集群有時(shí)也被稱為服務(wù)器群。
      一般高可用性集群和負(fù)載均衡集群會使用類似的技術(shù),或同時(shí)具有高可用性與負(fù)載均衡的特點(diǎn)。

      負(fù)載均衡集群的作用:
      a)分擔(dān)訪問流量(負(fù)載均衡)
      b)保持業(yè)務(wù)的連續(xù)性(高可用)

      2) 高可用性集群
      一般是指當(dāng)集群中的任意一個(gè)節(jié)點(diǎn)失效的情況下,節(jié)點(diǎn)上的所有任務(wù)自動轉(zhuǎn)移到其他正常的節(jié)點(diǎn)上,并且此過程不影響整個(gè)集群的運(yùn)行,不影響業(yè)務(wù)的提供。類似是集群中運(yùn)行著兩個(gè)或兩個(gè)以上的一樣的節(jié)點(diǎn),當(dāng)某個(gè)主節(jié)點(diǎn)出現(xiàn)故障的時(shí)候,那么其他作為從 節(jié)點(diǎn)的節(jié)點(diǎn)就會接替主節(jié)點(diǎn)上面的任務(wù)。從節(jié)點(diǎn)可以接管主節(jié)點(diǎn)的資源(IP地址,架構(gòu)身份等),此時(shí)用戶不會發(fā)現(xiàn)提供服務(wù)的對象從主節(jié)點(diǎn)轉(zhuǎn)移到從節(jié)點(diǎn)。
      高可用性集群的作用:當(dāng)一臺機(jī)器宕機(jī)另一臺進(jìn)行接管。比較常用的高可用集群開源軟件有:keepalive,heardbeat。

      3) 高性能計(jì)算集群
      高性能計(jì)算集群采用將計(jì)算任務(wù)分配到集群的不同計(jì)算節(jié)點(diǎn)兒提高計(jì)算能力,因而主要應(yīng)用在科學(xué)計(jì)算領(lǐng)域。比較流行的HPC采用Linux操作系統(tǒng)和其它一些免費(fèi)軟件來完成并行運(yùn)算。這一集群配置通常被稱為Beowulf集群。這類集群通常運(yùn)行特定的程序以發(fā)揮HPCcluster的并行能力。這類程序一般應(yīng)用特定的運(yùn)行庫, 比如專為科學(xué)計(jì)算設(shè)計(jì)的MPI庫。HPC集群特別適合于在計(jì)算中各計(jì)算節(jié)點(diǎn)之間發(fā)生大量數(shù)據(jù)通訊的計(jì)算作業(yè),比如一個(gè)節(jié)點(diǎn)的中間結(jié)果或影響到其它節(jié)點(diǎn)計(jì)算結(jié)果的情況。

      三. 負(fù)載均衡集群介紹

      負(fù)載均衡集群是 Load Balance 集群, 是一種將網(wǎng)絡(luò)上的訪問流量分布于各個(gè)節(jié)點(diǎn),以降低服務(wù)器壓力,更好的向客戶端提供服務(wù)的一種方式。
      負(fù)載均衡集群的作用提供一種廉價(jià)、有效、透明的方法,來擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的負(fù)載帶寬、增加吞吐量,加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。簡單來說,也就是:
      1) 把單臺計(jì)算機(jī)無法承受的大規(guī)模的并發(fā)訪問或數(shù)據(jù)流量分擔(dān)到多臺節(jié)點(diǎn)設(shè)備上分別處理,減少用戶等待響應(yīng)的時(shí)間,提升用戶體驗(yàn)。
      2) 單個(gè)重負(fù)載的運(yùn)算分擔(dān)到多臺節(jié)點(diǎn)設(shè)備上做并行處理,每個(gè)節(jié)點(diǎn)設(shè)備處理結(jié)束后,將結(jié)果匯總,返回給用戶,系統(tǒng)處理能力得到大幅度提高。
      3) 7*24小時(shí)的服務(wù)保證,任意一個(gè)或多個(gè)設(shè)備節(jié)點(diǎn)設(shè)備宕機(jī),不能影響到業(yè)務(wù)。在負(fù)載均衡集群中,所有計(jì)算機(jī)節(jié)點(diǎn)都應(yīng)該提供相同的服務(wù),集群負(fù)載均衡獲取所有對該服務(wù)的如站請求。

      常用的負(fù)載均衡分為:
      1) 開源軟件負(fù)載均衡:  Nginx, LVS, Haproxy  (Nginx和Haproxy通常做七層負(fù)載均衡, LVS做四層負(fù)載均衡. 但是Nginx也可以通過stream模塊做四層負(fù)載均衡, Haproxy也可以做四層負(fù)載均衡 ) ;
      2) 商業(yè)的硬件負(fù)載均衡: 設(shè)備F5、Netscale ;

      簡單理解一下軟件負(fù)載均衡:
      1) 所謂分層的負(fù)載均衡,都是以網(wǎng)絡(luò)的模型來說的。四層就是基于IP和端口的負(fù)載均衡,七層就是基于URL等應(yīng)用信息的負(fù)載均衡。所以簡單的說四層負(fù)載均衡就是通過IP和端口接收請求再分發(fā)至真實(shí)的服務(wù)器,七層是通過URL或主機(jī)名接收請求,然后分發(fā)至真實(shí)的服務(wù)器。
      2) .而七層的實(shí)現(xiàn)也是在四層的基礎(chǔ)上是實(shí)現(xiàn)的,沒有四層就不可能有七層。在第七層上可以做許多事情,比如可以根據(jù)七層的瀏覽器類別區(qū)分是手機(jī)還是PC,將WEB服務(wù)器分為2組,手機(jī)登陸專門的移動端網(wǎng)站。
      3) 對客戶端來說,客戶端好像是訪問的同一臺主機(jī)。其實(shí)為了有更好的用戶體驗(yàn),從智能DNS入手,根據(jù)客戶端IP來源將域名解析到距離客戶端最近的一臺服務(wù)器或者訪問最快速的一臺服務(wù)器,但這些內(nèi)容客戶端都是感覺不到的,客戶端感覺到的只能是訪問網(wǎng)站很快。

      四. LVS負(fù)載均衡集群說明

      1) LVS是什么?
      LVS是linux virtual server的簡寫linux虛擬服務(wù)器,是一個(gè)虛擬的服務(wù)器集群系統(tǒng),可以在unix/linux平臺下實(shí)現(xiàn)負(fù)載均衡集群功能。該項(xiàng)目在1998年5月由章文嵩博士組織成立。LVS是一種集群(Cluster)技術(shù),采用IP負(fù)載均衡技術(shù)和基于內(nèi)容請求分發(fā)技術(shù)。調(diào)度器具有很好的吞吐率,將請求均衡地轉(zhuǎn)移到不同的服務(wù)器上執(zhí)行,且調(diào)度器自動屏蔽掉服務(wù)器
      的故障,從而將一組服務(wù)器構(gòu)成一個(gè)高性能的、高可用的虛擬服務(wù)器。整個(gè)服務(wù)器集群的結(jié)構(gòu)對客戶是透明的,而且無需修改客戶端和服務(wù)器端的程序。

      LVS集群采用IP負(fù)載均衡技術(shù)和基于內(nèi)容請求分發(fā)技術(shù)。調(diào)度器具有很好的吞吐率,將請求均衡地轉(zhuǎn)移到不同的服務(wù)器上執(zhí)行,且調(diào)度器自動屏蔽掉服 務(wù)器的故障,從而將一組服務(wù)器構(gòu)成一個(gè)高性能的、高可用的虛擬服務(wù)器。整個(gè)服務(wù)器集群的結(jié)構(gòu)對客戶是透明的,而且無需修改客戶端和服務(wù)器端的程序。

      LVS在設(shè)計(jì)時(shí)需要考慮系統(tǒng)的透明性、可伸縮性、高可用性和易管理性。一般來說,LVS集群采用三層結(jié)構(gòu),其體系結(jié)構(gòu)如圖所示:

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      負(fù)載均衡的原理很簡單,就是當(dāng)客戶端發(fā)起請求時(shí),請求直接發(fā)給Director Server(調(diào)度器),這時(shí)會根據(jù)設(shè)定的調(diào)度算法,將請求按照算法的規(guī)定智能的分發(fā)到真正的后臺服務(wù)器。以達(dá)到將壓力均攤。但是我們知道,http的連接時(shí)無狀態(tài)的,假設(shè)這樣一個(gè)場景,我登錄某寶買東西,當(dāng)我看上某款商品時(shí),我將它加入購物車,但是我刷新了一下頁面,這時(shí)由于負(fù)載均衡的原因,調(diào)度器又選了新的一臺服務(wù)器為我提供服務(wù),我剛才的購物車內(nèi)容全都不見了,這樣就會有十分差的用戶體驗(yàn)。所以就還需要一個(gè)存儲共享,這樣就保證了用戶請求的數(shù)據(jù)是一樣的。所以LVS負(fù)載均衡分為三層架構(gòu)(也就是LVS負(fù)載均衡主要組成部分)

      第一層負(fù)載調(diào)度器(load balancer/ Director),它是整個(gè)集群的總代理,它在有兩個(gè)網(wǎng)卡,一個(gè)網(wǎng)卡面對訪問網(wǎng)站的客戶端,一個(gè)網(wǎng)??面對整個(gè)集群的內(nèi)部。負(fù)責(zé)將客戶端的請求發(fā)送到一組服務(wù)器上執(zhí)行,而客戶也認(rèn)為服務(wù)是來自這臺主的。舉個(gè)生動的例子,集群是個(gè)公司,負(fù)載調(diào)度器就是在外接攬生意,將接攬到的生意分發(fā)給后臺的真正干活的真正的主機(jī)們。當(dāng)然需要將活按照一定的算法分發(fā)下去,讓大家都公平的干活。
      第二層服務(wù)器池(server pool/ Realserver),是一組真正執(zhí)行客戶請求的服務(wù)器,可以當(dāng)做WEB服務(wù)器。就是上面例子中的小員工。  
      第三層共享存儲(shared storage),它為服務(wù)器池提供一個(gè)共享的存儲區(qū),這樣很容易使得服務(wù)器池?fù)碛邢嗤膬?nèi)容,提供相同的服務(wù)。一個(gè)公司得有一個(gè)后臺賬目吧,這才能協(xié)調(diào)。不然客戶把錢付給了A,而換B接待客戶,因?yàn)闆]有相同的賬目。B說客戶沒付錢,那這樣就不是客戶體驗(yàn)度的問題了。

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      2) LVS負(fù)載均衡集群特點(diǎn)

      2.1) IP負(fù)載均衡與負(fù)載調(diào)度算法
      IP負(fù)載均衡技術(shù)
      負(fù)載均衡技術(shù)有很多實(shí)現(xiàn)方案,有基于DNS域名輪流解析的方法、有基于客戶端調(diào)度訪問的方法、有基于應(yīng)用層系統(tǒng)負(fù)載的調(diào)度方法,還有基于IP地址的調(diào)度方法,在這些負(fù)載調(diào)度算法中,執(zhí)行效率最高的是IP負(fù)載均衡技術(shù)。

      LVS的IP負(fù)載均衡技術(shù)是通過IPVS模塊來實(shí)現(xiàn)的,IPVS是LVS集群系統(tǒng)的核心軟件,它的主要作用是:安裝在Director Server上,同時(shí)在Director Server上虛擬出一個(gè)IP地址,用戶必須通過這個(gè)虛擬的IP地址訪問服務(wù)。這個(gè)虛擬IP一般稱為LVS的VIP,即Virtual IP。訪問的請求首先經(jīng)過VIP到達(dá)負(fù)載調(diào)度器,然后由負(fù)載調(diào)度器從Real Server列表中選取一個(gè)服務(wù)節(jié)點(diǎn)響應(yīng)用戶的請求。當(dāng)用戶的請求到達(dá)負(fù)載調(diào)度器后,調(diào)度器如何將請求發(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(下面會詳細(xì)介紹);

      負(fù)載調(diào)度算法
      負(fù)載調(diào)度器是根據(jù)各個(gè)服務(wù)器的負(fù)載情況,動態(tài)地選擇一臺Real Server響應(yīng)用戶請求,那么動態(tài)選擇是如何實(shí)現(xiàn)呢,其實(shí)也就是我們這里要說的負(fù)載調(diào)度算法,根據(jù)不同的網(wǎng)絡(luò)服務(wù)需求和服務(wù)器配置,IPVS實(shí)現(xiàn)了如下八種負(fù)載調(diào)度算法rr、wrr、Wlc、Dh、SH、Lc、Lblc(下面會詳細(xì)介紹);

      2.2) 高可用性
      LVS是一個(gè)基于內(nèi)核級別的應(yīng)用軟件,因此具有很高的處理性能,后端服務(wù)器可運(yùn)行任何支持TCP/IP的操作系統(tǒng),包括Linux,各種Unix(如FreeBSD、Sun Solaris、HP Unix等),Mac/OS和Windows NT/2000等。負(fù)載調(diào)度器能夠支持絕大多數(shù)的TCP和UDP協(xié)議.

      2.3) 性能
      LVS服務(wù)器集群系統(tǒng)具有良好的伸縮性,可支持幾百萬個(gè)并發(fā)連接。用LVS構(gòu)架的負(fù)載均衡集群系統(tǒng)具有優(yōu)秀的處理能力,每個(gè)服務(wù)節(jié)點(diǎn)的故障不會影響整個(gè)系統(tǒng)的正常使用,同時(shí)又實(shí)現(xiàn)負(fù)載的合理均衡,使應(yīng)用具有超高負(fù)荷的服務(wù)能力,可支持上百萬個(gè)并發(fā)連接請求。如配置百兆網(wǎng)卡,采用VS/TUN或VS/DR調(diào)度技術(shù),整個(gè)集群系統(tǒng)的吞吐量可高達(dá)1Gbits/s;如配置千兆網(wǎng)卡,則系統(tǒng)的最大吞吐量可接近10Gbits/s。

      2.4)高可靠性
      LVS負(fù)載均衡集群軟件已經(jīng)在企業(yè)、學(xué)校等行業(yè)得到了很好的普及應(yīng)用,國內(nèi)外很多大型的、關(guān)鍵性的web站點(diǎn)也都采用了LVS集群軟件,所以它的可靠性在實(shí)踐中得到了很好的證實(shí)。有很多以LVS做的負(fù)載均衡系統(tǒng),運(yùn)行很長時(shí)間,從未做過重新啟動。這些都說明了LVS的高穩(wěn)定性和高可靠性。

      2.5) 適用環(huán)境
      LVS對前端Director Server目前僅支持Linux和FreeBSD系統(tǒng),但是支持大多數(shù)的TCP和UDP協(xié)議,支持TCP協(xié)議的應(yīng)用有:HTTP,HTTPS ,F(xiàn)TP,SMTP,,POP3,IMAP4,PROXY,LDAP,SSMTP等等。支持UDP協(xié)議的應(yīng)用有:DNS,NTP,ICP,視頻、音頻流播放協(xié)議等。LVS對Real Server的操作系統(tǒng)沒有任何限制,Real Server可運(yùn)行在任何支持TCP/IP的操作系統(tǒng)上,包括Linux,各種Unix(如FreeBSD、Sun Solaris、HP Unix等),Mac/OS和Windows等。

      2.6) 開源軟件(軟件許可證)
      LVS集群軟件是按GPL(GNU Public License)許可證發(fā)行的自由軟件,因此,使用者可以得到軟件的源代碼,并且可以根據(jù)自己的需要進(jìn)行各種修改,但是修改必須是以GPL方式發(fā)行。

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

      LVS集群負(fù)載均衡器接受服務(wù)的所有入展客戶端的請求,然后根據(jù)調(diào)度算法決定哪個(gè)集群節(jié)點(diǎn)來處理回復(fù)客戶端的請求。LVS虛擬服務(wù)器的體系如下圖所示,一組服務(wù)器通過高速的局域網(wǎng)或者地理分布的廣域網(wǎng)相互連接,在這組服務(wù)器之前有一個(gè)負(fù)載調(diào)度器(load balance)。負(fù)載調(diào)度器負(fù)責(zé)將客戶的請求調(diào)度到真實(shí)服務(wù)器上。這樣這組服務(wù)器集群的結(jié)構(gòu)對用戶來說就是透明的??蛻粼L問集群系統(tǒng)就如只是訪問一臺高性能,高可用的服務(wù)器一樣??蛻舫绦虿皇芊?wù)器集群的影響,不做任何修改。

      就比如說:我們?nèi)ワ埖瓿燥堻c(diǎn)菜,客戶只要跟服務(wù)員點(diǎn)菜就行。并不需要知道具體他們是怎么分配工作的,所以他們內(nèi)部對于我們來說是透明的。此時(shí)這個(gè)服務(wù)員就會按照一定的規(guī)則把他手上的活,分配到其他人員上去。這個(gè)服務(wù)員就是負(fù)載均衡器(LB)而后面這些真正做事的就是服務(wù)器集群。

      LVS結(jié)構(gòu)圖如下:

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      LVS基本工作過程

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      客戶請發(fā)送向負(fù)載均衡服務(wù)器發(fā)送請求。負(fù)載均衡器接受客戶的請求,然后先是根據(jù)LVS的調(diào)度算法(8種)來決定要將這個(gè)請求發(fā)送給哪個(gè)節(jié)點(diǎn)服務(wù)器。然后依據(jù)自己的工作模式(3種)來看應(yīng)該如何把這些客戶的請求如何發(fā)送給節(jié)點(diǎn)服務(wù)器,節(jié)點(diǎn)服務(wù)器又應(yīng)該如何來把響應(yīng)數(shù)據(jù)包發(fā)回給客戶端。

      LVS組成

      lvs分為兩個(gè)部分,分別是內(nèi)核模塊和lvs的管理工具。目前來說,CentOS6及其以上的內(nèi)核版本已經(jīng)包括了ipvs的相關(guān)模塊了。

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      從上面可知, 內(nèi)核支持的ipvs模塊, 上圖中的rr,wrr,lc,wlc,lblc等等都是lvs中調(diào)度器的調(diào)度算法,根據(jù)不同的調(diào)度算法可以更好的分配服務(wù),實(shí)現(xiàn)負(fù)載均衡。而ipvs(ip virtual server):一段代碼工作在內(nèi)核空間,實(shí)現(xiàn)調(diào)度。

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      上圖是ipvsadm (即LVS客戶端管理工具), 主要負(fù)責(zé)為ipvs內(nèi)核框架編寫規(guī)則,定義誰是集群服務(wù),而誰是后端真實(shí)的服務(wù)器(Real Server)。 

      4) LVS的實(shí)現(xiàn)原理

      lvs的原理其實(shí)就是利用了Iptables的功能。了解防火墻的都知道四表五鏈。防火墻不僅僅有放火的功能還有轉(zhuǎn)發(fā),地址偽裝,限流等等功能。

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      1) 首先,客戶端向調(diào)度器(Director Server)發(fā)起一個(gè)請求,調(diào)度器將這個(gè)請求發(fā)送至內(nèi)核
      2) PREROUTING鏈?zhǔn)紫葧邮盏接脩粽埱?,判斷目?biāo)IP確定是本機(jī)IP,將數(shù)據(jù)包發(fā)往INPUT鏈。
      3) 當(dāng)請求達(dá)到INPUT鏈上,調(diào)度器判斷報(bào)文中的目標(biāo)端口來確定這個(gè)訪問是不是要訪問集群服務(wù)(因?yàn)檫€有可能只是ssh想單純的遠(yuǎn)程登錄主機(jī)這個(gè)主機(jī)),如果是訪問的集群服務(wù),那么就會強(qiáng)制修改這個(gè)包的目標(biāo)IP
      4) POSTROUTING鏈接收數(shù)據(jù)包后發(fā)現(xiàn)目標(biāo)IP地址剛好是自己的后端服務(wù)器,那么此時(shí)通過選路,將數(shù)據(jù)包最終發(fā)送給后端的服務(wù)器

      5) LVS的工作原理

      LVS 的工作模式分為4中分別是 NAT,DR,TUN,F(xiàn)ULL-NAT。其中做個(gè)比較,由于工作原理的關(guān)系的,NAT的配置最為簡單,但是NAT對調(diào)度器的壓力太大了,導(dǎo)致其效率最低,DR和TUN的工作原理差不多,但是DR中,所有主機(jī)必須處于同一個(gè)物理環(huán)境中,而在TUN中,所有主機(jī)可以分布在不同的位置,服務(wù)器一個(gè)在紐約,一個(gè)在深圳。最多應(yīng)用的是FULL-NAT。

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      其中的專業(yè)術(shù)語
      DS:Director Server。指的是前端負(fù)載均衡器。
      RS:Real Server。后端真實(shí)的工作服務(wù)器。
      VIP:向外部直接面向用戶請求,作為用戶請求的目標(biāo)的IP地址。
      DIP:Director Server IP,主要用于和內(nèi)部主機(jī)通訊的IP地址。
      RIP:Real Server IP,后端服務(wù)器的IP地址。
      CIP:Client IP,訪問客戶端的IP地址。

      下面介紹LVS常用的三種負(fù)載均衡模式
      1)NAT模式-網(wǎng)絡(luò)地址轉(zhuǎn)換          Virtualserver via Network address translation(VS/NAT)
      這個(gè)是通過網(wǎng)絡(luò)地址轉(zhuǎn)換的方法來實(shí)現(xiàn)調(diào)度的。首先調(diào)度器(LB)接收到客戶的請求數(shù)據(jù)包時(shí)(請求的目的IP為VIP),根據(jù)調(diào)度算法決定將請求發(fā)送給哪個(gè)后端的真實(shí)服務(wù)器(RS)。然后調(diào)度就把客戶端發(fā)送的請求數(shù)據(jù)包的目標(biāo)IP地址及端口改成后端真實(shí)服務(wù)器的IP地址(RIP),這樣真實(shí)服務(wù)器(RS)就能夠接收到客戶的請求數(shù)據(jù)包了。真實(shí)服務(wù)器響應(yīng)完請求后,查看默認(rèn)路由(NAT模式下我們需要把RS的默認(rèn)路由設(shè)置為LB服務(wù)器。)把響應(yīng)后的數(shù)據(jù)包發(fā)送給LB,LB再接收到響應(yīng)包后,把包的源地址改成虛擬地址(VIP)然后發(fā)送回給客戶端。

      VS/NAT是一種最簡單的方式,所有的RealServer只需要將自己的網(wǎng)關(guān)指向Director即可??蛻舳丝梢允侨我獠僮飨到y(tǒng),但此方式下,一個(gè)Director能夠帶動的RealServer比較有限。在VS/NAT的方式下,Director也可以兼為一臺RealServer。VS/NAT的體系結(jié)構(gòu)如圖所示。

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      NAT工作模式下,調(diào)度過程IP包詳細(xì)圖:

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      NAT模式的以上原理圖簡述:
      1) 客戶端請求數(shù)據(jù),目標(biāo)IP為VIP
      2) 請求數(shù)據(jù)到達(dá)LB服務(wù)器,LB根據(jù)調(diào)度算法將目的地址修改為RIP地址及對應(yīng)端口(此RIP地址是根據(jù)調(diào)度算法得出的。)并在連接HASH表中記錄下這個(gè)連接。
      3) 數(shù)據(jù)包從LB服務(wù)器到達(dá)RS服務(wù)器webserver,然后webserver進(jìn)行響應(yīng)。Webserver的網(wǎng)關(guān)必須是LB,然后將數(shù)據(jù)返回給LB服務(wù)器。
      4) 收到RS的返回后的數(shù)據(jù),根據(jù)連接HASH表修改源地址VIP&目標(biāo)地址CIP,及對應(yīng)端口80.然后數(shù)據(jù)就從LB出發(fā)到達(dá)客戶端。
      5) 客戶端收到的就只能看到VIPDIP信息。

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

      再看下面的NAT模式圖

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      客戶發(fā)出請求,發(fā)送請求給鏈接調(diào)度器的VIP,調(diào)度器將請求報(bào)文中的目標(biāo)Ip地址改為RIP。這樣服務(wù)器RealServer將請求的內(nèi)容發(fā)給調(diào)度器,調(diào)度器再將報(bào)文中的源IP地址改為VIP;
      1) 當(dāng)用戶請求到達(dá)Director Server,此時(shí)請求的數(shù)據(jù)報(bào)文會先到內(nèi)核空間的PREROUTING鏈。 此時(shí)報(bào)文的源IP為CIP,目標(biāo)IP為VIP;
      2) PREROUTING檢查發(fā)現(xiàn)數(shù)據(jù)包的目標(biāo)IP是本機(jī),將數(shù)據(jù)包送至INPUT鏈;
      3) IPVS比對數(shù)據(jù)包請求的服務(wù)是否為集群服務(wù),若是,修改數(shù)據(jù)包的目標(biāo)IP地址為后端服務(wù)器IP,然后將數(shù)據(jù)包發(fā)至POSTROUTING鏈。 此時(shí)報(bào)文的源IP為CIP,目標(biāo)IP為RIP
      4) POSTROUTING鏈通過選路,將數(shù)據(jù)包發(fā)送給Real Server;
      5) Real Server比對發(fā)現(xiàn)目標(biāo)為自己的IP,開始構(gòu)建響應(yīng)報(bào)文發(fā)回給Director Server。 此時(shí)報(bào)文的源IP為RIP,目標(biāo)IP為CIP;
      6) Director Server在響應(yīng)客戶端前,此時(shí)會將源IP地址修改為自己的VIP地址,然后響應(yīng)給客戶端。 此時(shí)報(bào)文的源IP為VIP,目標(biāo)IP為CIP;

      NAT模式特點(diǎn)和注意事項(xiàng):
      1) 很好配置,原理簡單易懂;
      2) 由于調(diào)度器的工作量太大,很容易成為整個(gè)集群系統(tǒng)的瓶頸;
      3) RS應(yīng)該使用私有地址;
      4) RS的網(wǎng)關(guān)的必須指向DIP;
      5) RIP和DIP必須在同一網(wǎng)段內(nèi);
      6) 請求和響應(yīng)的報(bào)文都得經(jīng)過Director;在高負(fù)載場景中,Director很可能成為系統(tǒng)性能瓶頸;
      7) 支持端口映射;
      8) RS可以使用任意支持集群服務(wù)的OS;

      2)TUN模式-IP隧道模式          Virtual Server via IP Tunneling(VS/TUN)
      IP隧道(IP tunneling)是將一個(gè)IP報(bào)文封裝在另一個(gè)IP報(bào)文的技術(shù),這可以使得目標(biāo)為一個(gè)IP地址的數(shù)據(jù)報(bào)文能被封裝和轉(zhuǎn)發(fā)到另一個(gè)IP地址。IP隧道技術(shù)亦稱為IP封裝技術(shù)(IP encapsulation)。

      IP隧道主要用于移動主機(jī)和虛擬私有網(wǎng)絡(luò)(Virtual Private Network),在其中隧道都是靜態(tài)建立的,隧道一端有一??IP地址,另一端也有唯一的IP地址。它的連接調(diào)度和管理與VS/NAT中的一樣,只是它的報(bào)文轉(zhuǎn)發(fā)方法不同。調(diào)度器根據(jù)各個(gè)服務(wù)器的負(fù)載情況,動態(tài)地選擇一臺服務(wù)器,將請求報(bào)文封裝在另一個(gè)IP報(bào)文中,再將封裝后的IP報(bào)文轉(zhuǎn)發(fā)給選出的服務(wù)器; 服務(wù)器收到報(bào)文后,先將報(bào)文解封獲得原來目標(biāo)地址為 VIP 的報(bào)文,服務(wù)器發(fā)現(xiàn)VIP地址被配置在本地的IP隧道設(shè)備上,所以就處理這個(gè)請求,然后根據(jù)路由表將響應(yīng)報(bào)文直接返回給客戶。

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      采用NAT模式時(shí),由于請求和響應(yīng)的報(bào)文必須通過調(diào)度器地址重寫,當(dāng)客戶請求越來越多時(shí),調(diào)度器處理能力將成為瓶頸。為了解決這個(gè)問題,調(diào)度器把請求的報(bào)文通過IP隧道轉(zhuǎn)發(fā)到真實(shí)的服務(wù)器。真實(shí)的服務(wù)器將響應(yīng)處理后的數(shù)據(jù)直接返回給客戶端。這樣調(diào)度器就只處理請求入站報(bào)文,由于一般網(wǎng)絡(luò)服務(wù)應(yīng)答數(shù)據(jù)比請求報(bào)文大很多,采用VS/TUN模式后,集群系統(tǒng)的最大吞吐量可以提高10倍。

      VS/TUN的工作原理流程圖如下所示,它和NAT模式不同的是,它在LB和RS之間的傳輸不用改寫IP地址。而是把客戶請求包封裝在一個(gè)IP tunnel里面,然后發(fā)送給RS節(jié)點(diǎn)服務(wù)器,節(jié)點(diǎn)服務(wù)器接收到之后解開IP tunnel后,進(jìn)行響應(yīng)處理。并且直接把包通過自己的外網(wǎng)地址發(fā)送給客戶不用經(jīng)過LB服務(wù)器。

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      TUN模式下的以上原理圖過程簡述:
      1)客戶請求數(shù)據(jù)包,目標(biāo)地址VIP發(fā)送到LB上;
      2)LB接收到客戶請求包,進(jìn)行IP Tunnel封裝。即在原有的包頭加上IP Tunnel的包頭。然后發(fā)送出去;
      3)RS節(jié)點(diǎn)機(jī)器根據(jù)IP Tunnel包頭信息 (此時(shí)就又一種邏輯上的隱形隧道,只有LB和RS之間懂)收到請求包,然后解開IP Tunnel包頭信息,得到客戶的請求包并進(jìn)行響應(yīng)處理。
      4)響應(yīng)處理完畢之后,RS服務(wù)器使用自己的出公網(wǎng)的線路,將這個(gè)響應(yīng)數(shù)據(jù)包發(fā)送給客戶端。源IP地址還是VIP地址。(RS節(jié)點(diǎn)服務(wù)器需要在本地回環(huán)接口配置VIP);

      其實(shí)TUN模式和下面的DR模式差不多,但是比DR多了一個(gè)隧道技術(shù)以支持realserver不在同一個(gè)物理環(huán)境中。就是realserver一個(gè)在北京,一個(gè)工作在上海。在原有的IP報(bào)文外再次封裝多一層IP首部,內(nèi)部IP首部(源地址為CIP,目標(biāo)IIP為VIP),外層IP首部(源地址為DIP,目標(biāo)IP為RIP.  再看下面的TUN模式圖:

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      1)  當(dāng)用戶請求到達(dá)Director Server,此時(shí)請求的數(shù)據(jù)報(bào)文會先到內(nèi)核空間的PREROUTING鏈。 此時(shí)報(bào)文的源IP為CIP,目標(biāo)IP為VIP 。
      2)  PREROUTING檢查發(fā)現(xiàn)數(shù)據(jù)包的目標(biāo)IP是本機(jī),將數(shù)據(jù)包送至INPUT鏈;
      3)  IPVS比對數(shù)據(jù)包請求的服務(wù)是否為集群服務(wù),若是,在請求報(bào)文的首部再次封裝一層IP報(bào)文,封裝源IP為為DIP,目標(biāo)IP為RIP。然后發(fā)至POSTROUTING鏈。 此時(shí)源IP為DIP,目標(biāo)IP為RIP;
      4)  POSTROUTING鏈根據(jù)最新封裝的IP報(bào)文,將數(shù)據(jù)包發(fā)至RS(因?yàn)樵谕鈱臃庋b多了一層IP首部,所以可以理解為此時(shí)通過隧道傳輸)。 此時(shí)源IP為DIP,目標(biāo)IP為RIP;
      5)  RS接收到報(bào)文后發(fā)現(xiàn)是自己的IP地址,就將報(bào)文接收下來,拆除掉最外層的IP后,會發(fā)現(xiàn)里面還有一層IP首部,而且目標(biāo)是自己的lo接口VIP,那么此時(shí)RS開始處理此請求,處理完成之后,通過lo接口送給eth0網(wǎng)卡,然后向外傳遞。 此時(shí)的源IP地址為VIP,目標(biāo)IP為CIP;
      6)  響應(yīng)報(bào)文最終送達(dá)至客戶端;

      LVS-TUN (ip隧道) 模式特點(diǎn)和注意事項(xiàng)
      1) RIP、VIP、DIP全是公網(wǎng)地址
      2) RS的網(wǎng)關(guān)不會也不可能指向DIP
      3) 不支持端口映射
      4) RS的系統(tǒng)必須支持隧道

      3)DR模式-直接路由模式          Virtual Server via Direct Routing(VS/DR)
      DR模式也就是用直接路由技術(shù)實(shí)現(xiàn)虛擬服務(wù)器。它的連接調(diào)度和管理與VS/NAT和VS/TUN中的一樣,但它的報(bào)文轉(zhuǎn)發(fā)方法又有不同,VS/DR通過改寫請求報(bào)文的MAC地址,將請求發(fā)送到Real Server,而Real Server將響應(yīng)直接返回給客戶,免去了VS/TUN中的IP隧道開銷。這種方式是三種負(fù)載調(diào)度機(jī)制中性能最高最好的,但是必須要求Director Server與Real Server都有一塊網(wǎng)卡連在同一物理網(wǎng)段上。

      Director和RealServer必需在物理上有一個(gè)網(wǎng)卡通過不間斷的局域網(wǎng)相連。 RealServer上綁定的VIP配置在各自Non-ARP的網(wǎng)絡(luò)設(shè)備上(如lo或tunl),Director的VIP地址對外可見,而RealServer的VIP對外是不可見的。RealServer的地址即可以是內(nèi)部地址,也可以是真實(shí)地址。

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      DR模式是通過改寫請求報(bào)文的目標(biāo)MAC地址,將請求發(fā)給真實(shí)服務(wù)器的,而真實(shí)服務(wù)器響應(yīng)后的處理結(jié)果直接返回給客戶端用戶。同TUN模式一樣,DR模式可以極大的提高集群系統(tǒng)的伸縮性。而且DR模式?jīng)]有IP隧道的開銷,對集群中的真實(shí)服務(wù)器也沒有必要必須支持IP隧道協(xié)議的要求。但是要求調(diào)度器LB與真實(shí)服務(wù)器RS都有一塊網(wǎng)卡連接到同一物理網(wǎng)段上,必須在同一個(gè)局域網(wǎng)環(huán)境。

      DR模式是互聯(lián)網(wǎng)使用比較多的一種模式,DR模式原理圖如下:

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      DR模式以上原理過程簡述:
      VS/DR模式的工作流程圖如上圖所示,它的連接調(diào)度和管理與NAT和TUN中的一樣,它的報(bào)文轉(zhuǎn)發(fā)方法和前兩種不同。DR模式將報(bào)文直接路由給目標(biāo)真實(shí)服務(wù)器。在DR模式中,調(diào)度器根據(jù)各個(gè)真實(shí)服務(wù)器的負(fù)載情況,連接數(shù)多少等,動態(tài)地選擇一臺服務(wù)器,不修改目標(biāo)IP地址和目標(biāo)端口,也不封裝IP報(bào)文,而是將請求報(bào)文的數(shù)據(jù)幀的目標(biāo)MAC地址改為真實(shí)服務(wù)器的MAC地址。然后再將修改的數(shù)據(jù)幀在服務(wù)器組的局域網(wǎng)上發(fā)送。因?yàn)閿?shù)據(jù)幀的MAC地址是真實(shí)服務(wù)器的MAC地址,并且又在同一個(gè)局域網(wǎng)。那么根據(jù)局域網(wǎng)的通訊原理,真實(shí)復(fù)位是一定能夠收到由LB發(fā)出的數(shù)據(jù)包。真實(shí)服務(wù)器接收到請求數(shù)據(jù)包的時(shí)候,解開IP包頭查看到的目標(biāo)IP是VIP。(此時(shí)只有自己的IP符合目標(biāo)IP才會接收進(jìn)來,所以我們需要在本地的回環(huán)借口上面配置VIP。

      另外: 由于網(wǎng)絡(luò)接口都會進(jìn)行ARP廣播響應(yīng),但集群的其他機(jī)器都有這個(gè)VIP的lo接口,都響應(yīng)就會沖突。所以我們需要把真實(shí)服務(wù)器的lo接口的ARP響應(yīng)關(guān)閉掉。)然后真實(shí)服務(wù)器做成請求響應(yīng),之后根據(jù)自己的路由信息將這個(gè)響應(yīng)數(shù)據(jù)包發(fā)送回給客戶,并且源IP地址還是VIP。

      其實(shí)整個(gè)DR模式都是停留在第二層的數(shù)據(jù)鏈路層, 直接修改MAC。實(shí)現(xiàn)報(bào)文的轉(zhuǎn)發(fā)。再看下面的DR模式圖:

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      1)  當(dāng)用戶請求到達(dá)Director Server,此時(shí)請求的數(shù)據(jù)報(bào)文會先到內(nèi)核空間的PREROUTING鏈。 此時(shí)報(bào)文的源IP為CIP,目標(biāo)IP為VIP;
      2)  PREROUTING檢查發(fā)現(xiàn)數(shù)據(jù)包的目標(biāo)IP是本機(jī),將數(shù)據(jù)包送至INPUT鏈;
      3)  IPVS比對數(shù)據(jù)包請求的服務(wù)是否為集群服務(wù),若是,將請求報(bào)文中的源MAC地址修改為DIP的MAC地址,將目標(biāo)MAC地址修改RIP的MAC地址,然后將數(shù)據(jù)包發(fā)至POSTROUTING鏈。 此時(shí)的源IP和目的IP均未修改,僅修改了源MAC地址為DIP的MAC地址,目標(biāo)MAC地址為RIP的MAC地址;
      4)  由于DS和RS在同一個(gè)網(wǎng)絡(luò)中,所以是通過二層來傳輸。POSTROUTING鏈檢查目標(biāo)MAC地址為RIP的MAC地址,那么此時(shí)數(shù)據(jù)包將會發(fā)至Real Server;
      5)  響應(yīng)報(bào)文最終送達(dá)至客戶端;

      LVS-DR模式特點(diǎn)和注意事項(xiàng)
      1) 在前端路由器做靜態(tài)地址路由綁定,將對于VIP的地址僅路由到Director Server
      2) arptables:在arp的層次上實(shí)現(xiàn)在ARP解析時(shí)做防火墻規(guī)則,過濾RS響應(yīng)ARP請求。修改RS上內(nèi)核參數(shù)(arp_ignore和arp_announce)將RS上的VIP配置在網(wǎng)卡接口的別名上,并限制其不能響應(yīng)對VIP地址解析請求。
      3) RS可以使用私有地址;但也可以使用公網(wǎng)地址,此時(shí)可以直接通過互聯(lián)網(wǎng)連入RS以實(shí)現(xiàn)配置、監(jiān)控等;
      4) RS的網(wǎng)關(guān)一定不能指向DIP;
      5) RS跟Dirctory要在同一物理網(wǎng)絡(luò)內(nèi)(不能由路由器分隔);
      6) 請求報(bào)文經(jīng)過Directory,但響應(yīng)報(bào)文一定不經(jīng)過Director
      7) 不支持端口映射;
      8) RS可以使用大多數(shù)的操作系統(tǒng);

      DR模式小結(jié):
      1)通過在調(diào)度器LB上修改數(shù)據(jù)包的目的MAC地址實(shí)現(xiàn)轉(zhuǎn)發(fā)。注意源地址仍然是CIP,目的地址仍然是VIP地址。
      2)請求的報(bào)文經(jīng)過調(diào)度器,而RS響應(yīng)處理后的報(bào)文無需經(jīng)過調(diào)度器LB,因此并發(fā)訪問量大時(shí)使用效率很高(和NAT模式比)
      3)因?yàn)镈R模式是通過MAC地址改寫機(jī)制實(shí)現(xiàn)轉(zhuǎn)發(fā),因此所有RS節(jié)點(diǎn)和調(diào)度器LB只能在一個(gè)局域網(wǎng)里面
      4)RS主機(jī)需要綁定VIP地址在LO接口上(防止IP沖突),并且需要配置ARP機(jī)制。
      5)RS節(jié)點(diǎn)的默認(rèn)網(wǎng)關(guān)不需要配置成LB,而是直接配置為上級路由的網(wǎng)關(guān),能讓RS直接出網(wǎng)就可以。
      6)由于DR模式的調(diào)度器僅做MAC地址的改寫,所以調(diào)度器LB就不能改寫目標(biāo)端口,那么RS服務(wù)器就得使用和VIP相同的端口提供服務(wù)。

      三種負(fù)載均衡方式簡單比較:

      1)NAT模式-網(wǎng)絡(luò)地址轉(zhuǎn)換
      VS/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)的新瓶頸,因?yàn)樵赩S/NAT中請求和響應(yīng)報(bào)文都需要通過負(fù)載調(diào)度器。如果負(fù)載調(diào)度器成為系統(tǒng)新的瓶頸,可以有三種方法解決這個(gè)問題:混合方法、VS/TUN和 VS/DR。在DNS混合集群系統(tǒng)中,有若干個(gè)VS/NAT負(fù)調(diào)度器,每個(gè)負(fù)載調(diào)度器帶自己的服務(wù)器集群,同時(shí)這些負(fù)載調(diào)度器又通過RR-DNS組成簡單的域名。但VS/TUN和VS/DR是提高系統(tǒng)吞吐量的更好方法。對于那些將IP地址或者端口號在報(bào)文數(shù)據(jù)中傳送的網(wǎng)絡(luò)服務(wù),需要編寫相應(yīng)的應(yīng)用模塊來轉(zhuǎn)換報(bào)文數(shù)據(jù)中的IP地址或者端口號。這會帶來實(shí)現(xiàn)的工作量,同時(shí)應(yīng)用模塊檢查報(bào)文的開銷會降低系統(tǒng)的吞吐率。

      2)TUN模式-IP隧道模式
      在TUN 的集群系統(tǒng)中,負(fù)載調(diào)度器只將請求調(diào)度到不同的后端服務(wù)器,后端服務(wù)器將應(yīng)答的數(shù)據(jù)直接返回給用戶。這樣負(fù)載調(diào)度器就可以處理大量的請求,它甚至可以調(diào)度百臺以上的服務(wù)器(同等規(guī)模的服務(wù)器),而它不會成為系統(tǒng)的瓶頸。即使負(fù)載調(diào)度器只有100Mbps的全雙工網(wǎng)卡,整個(gè)系統(tǒng)的最大吞吐量可超過 1Gbps。所以,VS/TUN可以極大地增加負(fù)載調(diào)度器調(diào)度的服務(wù)器數(shù)量。VS/TUN調(diào)度器可以調(diào)度上百臺服務(wù)器,而它本身不會成為系統(tǒng)的瓶頸,可以用來構(gòu)建高性能的超級服務(wù)器。VS/TUN技術(shù)對服務(wù)器有要求,即所有的服務(wù)器必須支持”IP Tunneling”或者”IP Encapsulation”協(xié)議。目前,VS/TUN的后端服務(wù)器主要運(yùn)行Linux操作系統(tǒng),我們沒對其他操作系統(tǒng)進(jìn)行測試。因?yàn)?#8221;IP Tunneling”正成為各個(gè)操作系統(tǒng)的標(biāo)準(zhǔn)協(xié)議,所以VS/TUN應(yīng)該會適用運(yùn)行其他操作系統(tǒng)的后端服務(wù)器。

      3)DR模式
      跟VS/TUN方法一樣,VS/DR調(diào)度器只處理客戶到服務(wù)器端的連接,響應(yīng)數(shù)據(jù)可以直接從獨(dú)立的網(wǎng)絡(luò)路由返回給客戶。這可以極大地提高LVS集群系統(tǒng)的伸縮性。跟VS/TUN相比,這種方法沒有IP隧道的開銷,但是要求負(fù)載調(diào)度器與實(shí)際服務(wù)器都有一塊網(wǎng)卡連在同一物理網(wǎng)段上,服務(wù)器網(wǎng)絡(luò)設(shè)備(或者設(shè)備別名)不作ARP響應(yīng),或者能將報(bào)文重定向(Redirect)到本地的Socket端口上。

      LVS負(fù)載均衡-基礎(chǔ)知識全面整理詳解

      6) LVS負(fù)載均衡調(diào)度算法

      VS的調(diào)度算法決定了如何在集群節(jié)點(diǎn)之間分布工作負(fù)荷。當(dāng)director調(diào)度器收到來自客戶端訪問VIP的上的集群服務(wù)的入站請求時(shí),director調(diào)度器必須決定哪個(gè)集群節(jié)點(diǎn)應(yīng)該
      處理請求。

      Director調(diào)度器用的調(diào)度方法基本分為兩類 (如下所列, LVS總共有10種調(diào)度算法, 常用的也就四種調(diào)度算法, 下面會說到):
      靜態(tài)調(diào)度算法:rr,wrr,dh,sh
      動態(tài)調(diào)度算法:wlc,lc,lblc,lblcr, sed, nq

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號