lvs即linux virtual server,是四層負載均衡軟體,與nginx和haproxy等七層負載均衡不同的是,它只能實現資料報的**和四層以下內容的修改,無法實現反向**或者修改七層訪問請求。
簡單來說,lvs的結構主要分為兩層,前端用於接收並排程使用者請求,我們稱之為load balance。使用者請求在經過lb排程後,會被**到不同的工作伺服器上,這些真正提供服務的伺服器被稱為real server。在大部分場景下,real server間可能還需要共享儲存,這個可以被稱為第三層
名詞解析
vs:virtual server
rs:real server 後面真實的伺服器
director:排程器
balancer:負載均衡器
1.dr模式(直接路由)
dr模式效能最佳,但必須要求在乙個vlan中。
資料報流向:client–>vs–>rs–> client
dr模式下收到客戶端請求,lvs會將vs的mac位址修改為某一台rs的mac位址如資料幀流向所示,客戶端請求由lvs接收,但返回的時候不經過lvs,而是直接向源ip返回,由真實伺服器直接返回給使用者。
優點:效率最高,負載均衡器只用分發請求,應答包通過單獨的路由返回給客戶端,提高了伺服器併發能力。
缺點:負載均衡器的網絡卡必須和物理網絡卡在同一網段上
2.nat模式(多目標dnat)
nat模式下收到客戶端請求,lvs會做目的位址轉換(dnat),將目標ip改為rs的ip。rs接收到該資料報直接進行處理,返回響應時,目標ip即為cip,源ip即為rs的ip。然後,rs的資料報通過lvs中轉,lvs進行源位址轉換(snat),將資料報的源位址(rip)改為vip傳送至客戶端(rip不會直接響應cip),整個過程對於客戶端來說是不可見的。
3.tunnel(隧道)模式
隧道模式下,vs 收到客戶端請求,封裝資料報,使源 ip 成為 vip,目標 ip 成為
rip,當 rs 收到資料報時,進行解封裝,還原資料報,處理後,利用 vip 發出響應
從 rip 所在的介面發出,直接達到客戶端。
4.fullnat模式
fullnat模式可以解決lvs和rs跨vlan的問題,從此lvs和rs不再存在vlan上的從屬關係,可以作到多個lvs對應多個rs,解決水平擴容的問題。 其他三種模式不能橫向擴充套件,因為必須在同乙個vlan當中,決定了不能異地容災,fullnat在不同區域的主機提供負載均衡。
fullnat在nat模式上做了如下改進:
在dnat時,源位址從客戶端的ip被替換成了lvs內網ip。而內網ip之間,可以通過多個交換機跨vlan通訊。當rs返回經過處理的資料報時,會將這個資料報返回到lvs的內網ip上,此時lvs進行源位址轉換(snat),把資料報的目的位址從lvs內網ip替換為客戶端ip。
LVS四種模式的原理及優缺點
nat模式tun模式dr模式 對伺服器節點要求 服務節點可以是任何作業系統 必須支援隧道模式,目前只有linux 服務節點支援虛擬網絡卡裝置,能夠禁用裝置的arp響應 網路要求 擁有私有ip位址的區域網 擁有合法ip位址的區域網或廣域網 擁有合法ip位址的區域網,服務節點與均衡器必須在同一網段 通常...
LVS三種模式原理及優缺點
nat模式 tun模式 dr模式 nat模式 tun模式 dr模式 對伺服器節點要求 服務節點可以是任何作業系統 必須支援隧道模式,目前只有linux 服務節點支援虛擬網絡卡裝置,能夠禁用裝置的arp響應 網路要求 擁有私有ip位址的區域網 擁有合法ip位址的區域網或廣域網 擁有合法ip位址的區域網...
LVS原理及三種模式優缺點比較
lvs nat模式 lvs dr模式 lvs tun模式 一 virtual server via nat vs nat 缺點 擴充套件性有限。當伺服器節點 普通pc伺服器 資料增長到20個或更多時,負載均衡器將成為整個系統的瓶頸,因為所有的請求包和應答包都需要經過負載均衡器再生。假使tcp包的平均...