• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺析LVS集群的動態(tài)負(fù)載均衡方法

      2017-02-22 12:07:22李燕清
      氮肥與合成氣 2017年1期
      關(guān)鍵詞:均衡器報文集群

      李燕清

      (湖南建筑高級技工學(xué)校湖南長沙410015)

      淺析LVS集群的動態(tài)負(fù)載均衡方法

      李燕清

      (湖南建筑高級技工學(xué)校湖南長沙410015)

      0 前言

      為了解決服務(wù)器負(fù)載過重的問題,最常見的方法是提高服務(wù)器的硬件性能,如提高CPU頻率和總線帶寬、增加CPU數(shù)量和內(nèi)存容量等,這些措施導(dǎo)致服務(wù)器價格昂貴、擴展性差,而且這種提升也受當(dāng)時技術(shù)水平的限制。集群技術(shù)在現(xiàn)有設(shè)備和網(wǎng)絡(luò)之上構(gòu)建,是一種高效解決服務(wù)器負(fù)載過重和提高性能的方案,將多臺服務(wù)器通過高速網(wǎng)絡(luò)互連成1個集合,集合中的每臺服務(wù)器地位相同,都能為客戶的訪問提供服務(wù)。服務(wù)器采用虛擬IP(Virtual IP,VIP),客戶端程序與集群系統(tǒng)交互時,就像在與1臺高性能服務(wù)器進行交互。

      1 負(fù)載均衡簡述

      負(fù)載均衡是將任務(wù)均衡地分配到多個系統(tǒng)上執(zhí)行,從而共同完成任務(wù)。它通過有效的方法擴展服務(wù)器的帶寬和數(shù)據(jù)處理能力,提高網(wǎng)絡(luò)的可用性、靈活性和吞吐率。

      負(fù)載均衡的主要含義:①將大量并發(fā)網(wǎng)絡(luò)連接或數(shù)據(jù)流量按照一定的策略分配到不同服務(wù)器上執(zhí)行,可增大集群系統(tǒng)吞吐量,縮短響應(yīng)時間;②將復(fù)雜計算按照某種策略分配給多個節(jié)點并行執(zhí)行,計算結(jié)束后將多個節(jié)點的處理結(jié)果匯總并返回給用戶。

      2 研究現(xiàn)狀

      隨著網(wǎng)絡(luò)流量的爆發(fā)式增長,僅僅依靠高性能集群并不能確保系統(tǒng)吞吐率高和響應(yīng)用戶請求速度快。整個集群系統(tǒng)必須像1臺服務(wù)器統(tǒng)一對外提供服務(wù),需要采用負(fù)載均衡技術(shù)來高效地分配各種用戶請求。

      服務(wù)器集群能很大程度上提高服務(wù)質(zhì)量,有效緩解網(wǎng)絡(luò)堵塞,縮短服務(wù)器的響應(yīng)時間?;贚inux的虛擬服務(wù)器(Linux Virtual Service,簡稱LVS),由于其軟件開源且性能穩(wěn)定,獲得了非常廣泛的應(yīng)用。但在負(fù)載均衡策略方面還存在不足,現(xiàn)有的調(diào)度策略不能完全根據(jù)服務(wù)器的實時情況動態(tài)分配負(fù)載。本文分析了3種流行的集群系統(tǒng)負(fù)載均衡技術(shù),并比較了它們的優(yōu)缺點。

      3 LVS基本結(jié)構(gòu)與負(fù)載均衡機制分析

      3.1 LVS結(jié)構(gòu)

      負(fù)載均衡器能將請求均勻地分配給不同服務(wù)器,而且還可以屏蔽故障節(jié)點。LVS集群系統(tǒng)運用IP負(fù)載均衡技術(shù)和基于內(nèi)容請求的分發(fā)技術(shù),因此,在設(shè)計時應(yīng)充分考慮集群的可伸縮性、靈活性和高可用性。LVS集群通常由負(fù)載均衡器、服務(wù)器池和共享存儲構(gòu)成。

      (1)負(fù)載均衡器(Load Balance):它位于LVS集群的最前端,是用戶訪問集群系統(tǒng)的唯一入口,負(fù)責(zé)將客戶端請求分配到服務(wù)器上執(zhí)行,在用戶看來,同一項服務(wù)來自同一個IP地址。這些操作由Linux內(nèi)核完成,調(diào)度消耗的資源較少,因此有很高的吞吐率。為了保證系統(tǒng)的健壯性,通常會給負(fù)載均衡器增加1個備份,兩者通過心跳線連接。

      (2)服務(wù)器池(Server Pool):真正處理用戶網(wǎng)絡(luò)請求的服務(wù)器集合,執(zhí)行Web,F(xiàn)tp,Mail等網(wǎng)絡(luò)服務(wù)。池中服務(wù)器數(shù)量動態(tài)可變,如果集群系統(tǒng)負(fù)載過重,可增加服務(wù)器來滿足增長的負(fù)載需求。理論上,隨著池中服務(wù)器數(shù)量的增加,集群系統(tǒng)的性能也可線性增長。

      (3)共享存儲(Shared Storage):由數(shù)據(jù)庫、分布式文件或網(wǎng)絡(luò)文件系統(tǒng)構(gòu)成,它給服務(wù)器池提供1個共享的存儲區(qū)。由于磁盤陣列和分布式文件系統(tǒng)價格昂貴,小型網(wǎng)絡(luò)應(yīng)用如果對數(shù)據(jù)一致性要求不高,可將數(shù)據(jù)存儲在服務(wù)器本地硬盤中。

      這三者之間通過高速LAN或者WAN相互連接,使用高速LAN可以避免集群系統(tǒng)擴大升級時網(wǎng)絡(luò)成為整個集群系統(tǒng)的瓶頸。

      在Linux內(nèi)核中,通過修改TCP/IP協(xié)議棧,對IP報文進行改寫和轉(zhuǎn)發(fā)。IPVS軟件實現(xiàn)基于IP層的3種負(fù)載均衡技術(shù),同時還提供ipvsadm程序進行虛擬服務(wù)器的配置與管理。

      IPVS由調(diào)度算法、IP包處理、虛擬服務(wù)器與真實服務(wù)器鏈表、配置與管理等4個模塊組成。

      集群系統(tǒng)啟動時,負(fù)載均衡器對IPVS進行初始化,IPVS 通過setsockopt()和getsockopt()2個函數(shù)進行注冊與相關(guān)配置。主要的配置管理文件存儲在ip_vs_ctl.c中,當(dāng)管理員調(diào)用setsockopt()函數(shù)時,系統(tǒng)就會自動運行ip_vs_ctl.c文件中的do_ip_vs_set_ctl()函數(shù)中的內(nèi)容,完成服務(wù)器的添加、修改和刪除等操作。服務(wù)器和虛擬服務(wù)器的添加、修改和刪除操作分別由函數(shù)ip_vs_add_dest()、ip_vs_edit_dest()和ip_vs_edit_server()完成。

      3.2 LVS的IP負(fù)載均衡技術(shù)

      VS/NAT(Virtual Server via Network Address Translation)技術(shù)是通過網(wǎng)絡(luò)地址轉(zhuǎn)換將一組服務(wù)器組成一個高可用、高性能的虛擬服務(wù)器集群系統(tǒng)。通過分析請求報文和響應(yīng)報文的非對稱特點以及VS/NAT技術(shù)存在的不足,一些文獻(xiàn)提出了通過IP隧道實現(xiàn)虛擬服務(wù)器VS/TUN(Virtual Server via IP Tunneling)和通過直接路由實現(xiàn)虛擬服務(wù)器VS/DR(Virtual Server via Direct Routing)等方法。

      3.2.1 基于NAT技術(shù)

      因為IPv4的IP地址空間有限以及網(wǎng)絡(luò)安全問題,一些網(wǎng)絡(luò)采用預(yù)留IP地址。當(dāng)網(wǎng)絡(luò)內(nèi)部的計算機與因特網(wǎng)進行信息交換時,需要通過NAT將內(nèi)部IP地址轉(zhuǎn)換為外部IP地址。VS/NAT模式將負(fù)載均衡器置于集群系統(tǒng)前端,通過高速交換機連接服務(wù)器,外部用戶請求被分配給任意服務(wù)器處理,其結(jié)果是相同的。VS/NAT結(jié)構(gòu)示意如圖1所示。

      圖1 VS/NAT結(jié)構(gòu)示意

      客戶端通過VIP訪問集群時,負(fù)載均衡器首先收到請求報文,并按照一定的策略從后端服務(wù)器池中選出1臺服務(wù)器,將報文的VIP和端口改成該服務(wù)器的地址和端口,再將報文轉(zhuǎn)發(fā)給該服務(wù)器;同時在哈希表中記載這個連接,當(dāng)相同網(wǎng)絡(luò)連接的下一個報文到達(dá)時,進行同樣的改寫與轉(zhuǎn)發(fā)操作。真實服務(wù)器將響應(yīng)報文發(fā)送給負(fù)載均衡器時,負(fù)載均衡器將報文的源地址和端口做相應(yīng)的改寫,再將響應(yīng)報文發(fā)送給用戶。

      3.2.2 基于IP隧道技術(shù)

      負(fù)載均衡器收到客戶端的請求報文后,利用IP隧道技術(shù)封裝請求報文并轉(zhuǎn)發(fā)給按調(diào)度策略動態(tài)選出的服務(wù)器,該服務(wù)器根據(jù)路由表將響應(yīng)報文直接返回給用戶。因為服務(wù)器池中有多個節(jié)點,所以不能建立靜態(tài)的一對一隧道。

      VS/TUN模式處理數(shù)據(jù)包流程如圖2所示。該模式與NAT模式的連接調(diào)度和管理方法相同,兩者的差異在于報文的轉(zhuǎn)發(fā)方式上。負(fù)載均衡器根據(jù)服務(wù)器的實時負(fù)載,從服務(wù)器池中動態(tài)地選擇1臺服務(wù)器,將封裝后的IP報文發(fā)給該服務(wù)器;服務(wù)器收到報文并處理該報文,然后將響應(yīng)報文直接發(fā)送給用戶。

      3.2.3 基于直接路由技術(shù)

      在VS/DR模式中,負(fù)載均衡器只負(fù)責(zé)分配用戶的請求,由服務(wù)器負(fù)責(zé)處理請求并將響應(yīng)報文返回給客戶,這樣提高了LVS集群系統(tǒng)的吞吐率。VS/DR模式的負(fù)載均衡器與服務(wù)器池中的各個服務(wù)器通過高速交換機相互連接。VIP為整個集群系統(tǒng)共同享有,負(fù)載均衡器配置的VIP對用戶完全透明,主要用于接收網(wǎng)絡(luò)請求;而服務(wù)器配置的VIP對用戶是不可見的,只用于處理目標(biāo)地址為VIP的網(wǎng)絡(luò)請求。

      圖2 VS/TUN模式處理數(shù)據(jù)包流程

      負(fù)載均衡器只需將數(shù)據(jù)幀的MAC地址修改為被選服務(wù)器的MAC地址,并轉(zhuǎn)送給被選服務(wù)器。服務(wù)器處理完后,再根據(jù)路由表直接將響應(yīng)報文發(fā)送給用戶。在此點上,VS/DR和VS/TUN的方式不同。

      3.3 3種負(fù)載均衡策略分析

      LVS的3種IP負(fù)載均衡技術(shù)比較見表3。

      表1 LVS的3種IP負(fù)載均衡技術(shù)比較

      從表1可以看出,這3種負(fù)載均衡策略都有各自的特點。

      4 負(fù)載均衡算法分析

      負(fù)載均衡算法主要分為靜態(tài)和動態(tài)兩大類,Linux下的IPVS負(fù)載均衡算法以連接數(shù)為粒度,這種負(fù)載均衡在某種程度上能減少負(fù)載傾斜現(xiàn)象的發(fā)生。目前,已有超過十余種負(fù)載均衡調(diào)度算法,每種調(diào)度算法均被實現(xiàn)為1個內(nèi)核模塊,在需要時加載。

      4.1 靜態(tài)算法

      靜態(tài)算法主要有輪動類和地址散列類。輪動(Round Robin,RR)算法是按照一定的順序?qū)⑦B接請求分配給不同的服務(wù)器,其最大優(yōu)點是簡潔,但沒有考慮服務(wù)器的差異以及當(dāng)前活躍連接數(shù)。當(dāng)服務(wù)器的性能差別較大或者請求服務(wù)時間波動較大時,系統(tǒng)容易出現(xiàn)負(fù)載傾斜現(xiàn)象。加權(quán)輪動(Weighted Round- Robin,WRR)依據(jù)服務(wù)器的性能分配權(quán)重,根據(jù)權(quán)重和輪動策略分配請求到服務(wù)器。WRR在一定的環(huán)境下效果不錯,但是當(dāng)服務(wù)時間波動較大時,系統(tǒng)依然會出現(xiàn)負(fù)載傾斜現(xiàn)象。

      地址散列算法主要有目的地址散列算法(Destination Hashing,DH)和源地址散列算法(Source Hashing,SH),分別將目的或源IP地址映射到池中的某臺服務(wù)器上,顯然這2個算法都未依據(jù)實時情況分配連接。

      4.2 動態(tài)算法

      動態(tài)算法以最小連接(Least Connection,LC)算法為代表,該算法把新的連接分配給當(dāng)前活躍連接數(shù)最小的服務(wù)器,負(fù)載均衡器根據(jù)各服務(wù)器的活躍連接數(shù)來衡量實時負(fù)載情況。服務(wù)器性能相同時,LC算法能把服務(wù)時間波動較大的請求均勻分配給不同服務(wù)器,從而避免負(fù)載傾斜的出現(xiàn)。

      但是,當(dāng)服務(wù)器的性能差異較大時,容易引發(fā)負(fù)載不均衡。加權(quán)最小連接算法(Weighted Least Connection,WLC)通過給不同性能的服務(wù)器設(shè)置權(quán)重,盡量使服務(wù)器的當(dāng)前活躍連接數(shù)和它的權(quán)重成比例,算法將新的連接請求分配給比值(當(dāng)前活躍連接數(shù)/權(quán)重)最小的服務(wù)器。該算法綜合考慮了服務(wù)器的性能和當(dāng)前連接數(shù),是IPVS默認(rèn)的負(fù)載均衡調(diào)度算法。

      動態(tài)算法還有基于局部性的最少鏈接(Locality Based Least Connections,LBLC)、帶復(fù)制的基于局部性最少鏈接(Locality Based Least Connections with Replication,LBLCR)、最短預(yù)期延時(Shortest Expected Delay,SED)和不排隊調(diào)度(Never Queue Scheduling,NQ)等算法,多數(shù)都是基于LC算法的改進版。

      5 結(jié)語

      LVS集群作為一種優(yōu)秀的負(fù)載均衡技術(shù),已經(jīng)在許多領(lǐng)域得到了大規(guī)模的應(yīng)用。然而,LVS集群存在一定的局限性,在LVS集群運行一段時間后,集群容易出現(xiàn)負(fù)載傾斜現(xiàn)象。如果想要在不增加硬件投入的前提下提高集群系統(tǒng)的穩(wěn)定性和可靠性,還需在負(fù)載均衡算法上做些工作,比如WLC算法可采取動態(tài)修改服務(wù)器權(quán)重,對于改善集群性能、減少負(fù)載傾斜的發(fā)生是很有意義的。

      2016- 12- 01)

      猜你喜歡
      均衡器報文集群
      基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
      海上小型無人機集群的反制裝備需求與應(yīng)對之策研究
      淺析反駁類報文要點
      中國外匯(2019年11期)2019-08-27 02:06:30
      一種無人機集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計
      電子制作(2018年11期)2018-08-04 03:25:40
      Python與Spark集群在收費數(shù)據(jù)分析中的應(yīng)用
      勤快又呆萌的集群機器人
      ATS與列車通信報文分析
      無線傳感網(wǎng)OFDM系統(tǒng)中信道均衡器的電路實現(xiàn)
      電子器件(2015年5期)2015-12-29 08:42:39
      一種基于LC振蕩電路的串聯(lián)蓄電池均衡器
      定西市| 凤凰县| 高淳县| 泰和县| 类乌齐县| 皋兰县| 晴隆县| 陇南市| 金沙县| 隆德县| 湘西| 阿拉尔市| 阿城市| 郓城县| 永州市| 绥江县| 峡江县| 石景山区| 酉阳| 万载县| 富川| 沈丘县| 建宁县| 永康市| 闵行区| 航空| 西宁市| 三穗县| 十堰市| 东宁县| 额济纳旗| 荆门市| 景东| 惠来县| 鄂托克旗| 固镇县| 台东县| 鹰潭市| 中宁县| 达日县| 宜黄县|