lvs負載均衡實現機制、及、ipvs調度算法 lvs可靠性、可用性、使用環境

 

                  Lvs原理及負載均衡ipvs三種機制、調度、
簡介:
Lvs負載均衡軟件、是一位中國人發明的、這個軟件、章文嵩開發的軟件。
此軟件是在linux內核2.4前、先編譯一下內核、要讓linux內核支持lvs此軟件、在2.4內核以後就不用了。      
 
體系與結構:
Lvs架構服務器分三個層次:負載均衡層、(load balancer)服務器羣集層、(server array)數據共享層(shared storage)
拓補圖:

                                                                                                   
在前端:負載均衡層、用戶想訪問數據共享的東西,那這個負載均衡器就像是臺路由器,將外來的用戶請求轉發到服務集羣組、而這些服務集羣組可以是web服務器、也可以使dns服務器ftp服務器……而在LAN還是在WAN負載均衡調度器是可以兼容不同的角色
而數據共享層、必須要和共享出來的數據內容保持一致性的存儲區域、在物理上、一般有磁盤陣列設備組成、爲了就是保持內容一致性、在linux系統上、一般可以通過NFS網絡共享文件系統共享數據的、但在業務繁忙時、性能並不是很好、此時可以採用集羣文件系統、例如rhthat的gfs文件系統、oracle提供的ocfs2文件系統等。
LVS集羣的特點:
IP負載均衡與負載調度算法:
在lvs的在負載均衡技術上、ipvs這個模塊作用是在安裝在最前端的服務器上的、(這個ipvs模塊是lvs集羣的核心軟件),作用是虛擬出一個ip地址出來、用戶必須通過此虛擬ip地址來通過它在才能訪問。
首先用戶通過訪問虛擬ip地址來到了負載均衡調度器、從而在通過負載均衡調度器(注:的真實ip地址訪問)服務器羣集列表裏、選出一個服務節點響應用戶請求、在這過程中、ipvs實現負載均衡機制有三種、分別是、NAT 、TUN、DR、。
Ipvs的三種技術:vs/NAT (Virtual Server via Network Address Translation) (注:網絡地址轉換)
1、      就是用戶在訪問時、先訪問的虛擬ip地址、然後通過vs/nat轉換成、真實的服務器ip地址和真實的相應的端口、從而訪問數據後、在經過負載均衡調度器、在然後vs/nat在把服務器真實ip地址、及相應的端口、轉換層虛擬ip地址、及端口號、返回給訪問的用戶。
拓補圖:
 

 
2、      VS/TUN (Virtual Server via IP Tunneling)
TUN和nat一樣、而不一樣的地方就是、它直接響應到訪問的用戶、
首先用戶想訪問共享的數據、先經過負載均衡調度器、(這裏與nat一樣)然後經nat轉換成真實的ip地址和端口訪問、並且不響應用戶訪問到了所需要的東西、然而不是像nat那樣原路返回、而是它直接跟用戶打交道、(注:這裏調度器採用IP隧道技術將用戶請求轉發到某個Real Server)直接把用戶想訪問的東西直接交給用戶、不需要在轉換成虛擬ip地址和端口、不在經過調度器、並且返回給用戶,這個VS/TUN、這一點不需要、而且VS/tun優點就是、它可以分佈在不同的地域位置沒有要求、也可以和位和負載均衡調度器在一個網段下、也可以是一個獨立的網絡、所以再。TUN方式中,調度器只處理用戶的報文求、這樣集羣系統的吞吐量就大大提高了。
拓補圖:
 

Vs/DR    :(Virtual Server via Direct Routing)
這項技術和nat tun的報文請求時一樣的
首先用戶訪問先找到了服務器負載均衡調度器、通過轉換訪問到了共享的數據、然而不一樣的就是、在負載均衡調度器vs/DR 通過改寫請求報文的mac地址,在將請求發送到了集羣服務器、最後通過訪問到了數據直接回給訪問的用戶、vs/dr免去了VS/tun中的ip隧道開銷。
而這種方式是、這三種負載調度機制中性能最高最好的了。但是它必須要與要求Director Server與Real Server在一個網段下。
拓補圖:
 
 

負載均衡調度算法:
Ipvs實現如下八種算法、最常用的就是四種、
1、          輪叫調度:(Round Robin
有四個用戶想訪問共享的數據、而集羣當中的服務器、有很多,因爲考慮到了負載均衡,這種輪叫調度就是說、第一位用戶叫張三、訪問的一個集羣服務器第一臺(注:不一定非個是一定臺也許是另一臺服務器)、就是1:1的調度
那下一個用戶想訪問時,如用戶是李四、那調度的不是第一臺集羣服務器了、而是另一臺集羣服務器 1:1調度,而當用戶不只這些時就會又從頭開始1:1的調度了
這就是輪叫調度算法、這種算法平等的對待每一臺集羣服務器。
優點:訪問速度快。
缺點:不管服務器上實際的負載狀況和連接狀態、
加權輪叫調度(Weighted Round Robin)
加權輪叫調度算法就是根據、集羣服務器的不同的處理能力來調度訪問請求的、可以對每一它羣集服務器設置不同的調度權值;從而讓那些性能好的集羣服務器處理更多的、用戶訪問、那些性能較差的集羣服務器調度權值可以設置低一些,這樣可以從份的利用好服務器的資源、同時調度器還可以監聽集羣服務器的負載情況、並動態地調整器權值。
最少連接調度:(Least Connections)
就是說、每一臺集羣服務器上的用戶訪問的連接數那臺最少、那麼調度算法就會自動的連接那臺用戶訪問連接數最少的那臺集羣服務器、
加權最少連接調度(Weighted Least Connections)
是說:加權最少連接調度、是最少連接調度的擴展版、每個集羣服務器可以用相應的權值表示改集羣服務器的其處理能力、而這時系統管理員可以動態的設置相應的權值、缺省權值爲1.、 而加權的最小連接調度在分配新連接請求時儘可能是服務器與連接數和其權值成正比。
 
其另四種調度算法分別爲、基於局部性的最少連接、帶複製的基於局部性最少連接、目標地址散列和源地址散列。
高可用性:HA三種工作方式
  (1)主從方式 (非對稱方式)
  工作原理:主機工作,備機處於監控準備狀況;當主機宕機時,備機接管主機的一切工作,待主機恢復正常後,按使用者的設定以自動或手動方式將服務切換到主機上運行,數據的一致性通過共享存儲系統解決。
  (2)雙機雙工方式(互備互援)
  工作原理:兩臺主機同時運行各自的服務工作且相互監測情況,當任一臺主機宕機時,另一臺主機立即接管它的一切工作,保證工作實時,應用服務系統的關鍵數據存放在共享存儲系統中。
  工作原理:多臺主機一起工作,各自運行一個或幾個服務,各爲服務定義一個或多個備用主機,當某個主機故障時,運行在其上的服務就可以被其它主機接管。
 
 
高可用性:因爲它是基於linux內核的應用軟件、因此具備了很高的處理性能、及時出現故障也不會影響整個系統的正常使用、與此可用併發鏈接上百萬個併發鏈接、如集羣配置千兆網卡、則系統的吞度量可接近10gbits/S每秒。
高可靠性:在教育、公司、大型企業、在過國外也有很多公司普遍lvs做的負載均衡系統、運行時間長、…… 這就說明了lvs的高可用性和高可考性了。
Lvs的使用環境:
在各個平臺下的系統都支持lvs 但是支持大多數的TCPUDP協議,支持TCP協議的應用有:HTTPHTTPS FTPSMTP,,POP3IMAP4PROXYLDAPSSMTP等等。支持UDP協議的應用有:DNSNTPICP,視頻、音頻流播放協議等。
 
                                                                                                                                   在此文檔有不對的地方請指出、好修改、謝謝。
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章