負載均衡之LVS

2021-08-18 01:12:15 字數 1827 閱讀 7984

lvs是四層負載均衡器,linux2.4核心以後天然支援(核心的一部分),其網路架構如下所示:

備註:lvs對外暴露的公網ip叫做「vip」。

nat模式

nat(network address translation)網路位址轉換,即將乙個ip位址轉換為另乙個ip位址的技術,如下圖所示:

lvs接收到請求,根據排程演算法得到實際伺服器,假設其位址為rip;

lvs將資料報的目標位址從vip改為rip,並**到實際伺服器;

實際伺服器處理完成後返回響應資料報,其源位址為rip,目標位址為cip;

lvs收到響應資料報後,將其源位址改為vip,然後傳送到公網;

缺點:nat模式下所有的請求和響應都會經過lvs,lvs容易成為系統的效能瓶頸。

dr模式

dr(direct routing)直接路由,lvs只負責請求的排程,響應由真實伺服器直接返回給客戶端,以此提高吞吐量(依據是大多數網路請求都是請求報文短而響應報文長),如下圖所示:

lvs接收到請求,根據排程演算法得到實際伺服器rs;

lvs將資料報的mac位址改為際伺服器rs的mac位址,並**給rs;

實際伺服器處理完成後直接給客戶端返回響應資料報;

tun模式

ip隧道技術是將乙個ip資料封裝成另乙個ip資料報的技術。

lvs接收到請求,根據排程演算法得到實際伺服器rs;

lvs將資料報封裝成新的資料報,其目標位址為rs的位址,源位址為vip,並**給rs;

實際伺服器處理完成後直接給客戶端返回響應資料報;

備註:tun模式需要作業系統支援ip隧道技術。

輪詢(round robin, rr)

lvs將外部請求按順序依次分配到集群中的每台機器上,均等對待每一台機器,不管伺服器上實際的連線數和系統負載。

加權輪詢(weighted round robin, wrr)

lvs根據伺服器的不同處理能力來排程訪問請求,這樣可以保證處理能力強的伺服器處理更多的訪問流量。

最少連線(least connections, lc)

lvs動態地將網路請求排程到已建立連線最少的伺服器上。

加權最少連線(weighted least connections, wlc)

權重高的伺服器承受更多的連線,適用於伺服器配置差異較大的場景。

源位址雜湊(source hashing, sh)

將請求的源ip位址作為key進行hash,從靜態分配的雜湊表中找出對應伺服器。

目標位址雜湊(destination hashing, dh)

將請求的目標ip位址作為key進行hash,從靜態分配的雜湊表中找出對應伺服器。

目前主要使用ipvsadm命令配置lvs

參考:

負載均衡之lvs

集群 cluster 將一組計算機軟 硬體連線起來,高度緊密的協作完成計算工作,其中的單個計算機通常稱為節點。負載均衡集群 load balancing 通過負載均衡器,將負載盡可能平均分攤處理。lvs linux virtul server linux虛擬服務,分為三層結構 排程器 上面的虛擬ip...

負載均衡之LVS詳解

負載均衡 四層負載均衡 lvs 之前也寫過相關的文章,但是寫的太爛了。自己都不也敢直視。現在有空決定重新全面學習了下lvs.總結出本部落格。好了,其他的不多說了,我們開始吧。一 負載均衡 負載均衡包括如下 1 硬體負載均衡 f5,big ip citrix,netscaler a102 軟體負載均衡...

負載均衡之LVS詳解

負載均衡 四層負載均衡 lvs 之前也寫過相關的文章,但是寫的太爛了。自己都不也敢直視。現在有空決定重新全面學習了下lvs.總結出本部落格。好了,其他的不多說了,我們開始吧。一 負載均衡 負載均衡包括如下 1 硬體負載均衡 f5,big ip citrix,netscaler a102 軟體負載均衡...