天天看點

LVS NAT/DR/TUN三種模式1 什麼是LVS2 LVS工作模式3 LVS 排程算法

本文為彙總加個人改動類型

1 什麼是LVS

LVS是Linux Virtual Server的簡寫,意即Linux虛拟伺服器,是一個虛拟的伺服器叢集系統。該項目在1998年5月由章文嵩博士成立,是中國國内最早出現的自由軟體項目之一。

LVS NAT/DR/TUN三種模式1 什麼是LVS2 LVS工作模式3 LVS 排程算法

LVS主要有負載均衡排程器和RealServer組成。

2 LVS工作模式

LVS工作模式分為NAT模式、TUN模式、以及DR模式。

2.1 NAT

NAT(Network Address Translation)即網絡位址轉換,其作用是通過資料報頭的修改,使得位于企業内部的私有IP位址可以通路外網,以及外部用使用者可以通路位于公司内部的私有IP主機。VS/NAT工作模式拓撲結構如圖2所示,LVS負載排程器可以使用兩塊網卡配置不同的IP位址,eth0設定為私鑰IP與内部網絡通過交換裝置互相連接配接,eth1裝置為外網IP與外部網絡聯通。

NAT 模式,通過修改資料包的「目标 IP 位址」和 「源 IP 位址」,将請求負載到多台真實伺服器,是四層負載均衡模式中最基礎的負載方式。因為它是對 IP 位址層面的修改,作用在網絡層,是以可以對端口進行映射。真實伺服器傳回的響應資料包必須經過負載均衡器,是以要求真實伺服器的預設網關是負載均衡器。

FULLNAT 模式,是對 NAT 模式的一種演進。通過同時修改「源 IP 位址」和「目标 IP 位址」,突破 NAT 模式中真實伺服器的預設網關必須是負載均衡器的限制。但是由于同時修改了「源 IP 位址」和「目标 IP 位址」,真實伺服器建立的真實連接配接和用戶端毫無關系,是以會丢失用戶端的資訊。

各叢集節點可以跨越不同的網絡,不用在同一個VLAN

LVS NAT/DR/TUN三種模式1 什麼是LVS2 LVS工作模式3 LVS 排程算法

2.2 TUN

IP隧道(IP tunneling)是将一個IP封包封裝在另一個IP封包的技術,這可以使得目标為一個IP位址的資料封包能被封裝和轉發到另一個IP位址。IP隧道技術亦稱為IP封裝技術(IP encapsulation)。IP隧道主要用于移動主機和虛拟私有網絡(Virtual Private Network),在其中隧道都是靜态建立的,隧道一端有一個IP位址,另一端也有唯一的IP位址。它的連接配接排程和管理與VS/NAT中的一樣,隻是它的封包轉發方法不同。排程器根據各個伺服器的負載情況,動态地選擇一台伺服器,将請求封包封裝在另一個IP封包中,再将封裝後的IP封包轉發給選出的伺服器;伺服器收到封包後,先将封包解封獲得原來目标位址為 VIP 的封包,伺服器發現VIP位址被配置在本地的IP隧道裝置上,是以就處理這個請求,然後根據路由表将響應封包直接傳回給客戶

TUN 模式,是對 DR 模式的一種演進。突破 DR 模式中真實伺服器的預設網關必須是負載均衡器的限制。TUN 模式不會對源資料包進行修改,而是在源資料包上額外新增一條 IP 首部資訊,是以不能對端口映射,且要求真實伺服器必須能夠解除安裝掉兩層 IP 首部資訊

LVS NAT/DR/TUN三種模式1 什麼是LVS2 LVS工作模式3 LVS 排程算法

2.3 DR

DR方式是通過改寫請求封包中的MAC位址部分來實作的。Director和RealServer必需在實體上有一個網卡通過不間斷的區域網路相連。 RealServer上綁定的VIP配置在各自Non-ARP的網絡裝置上(如lo或tunl),Director的VIP位址對外可見,而RealServer的VIP對外是不可見的。RealServer的位址即可以是内部位址,也可以是真實位址。

DR 模式,是對 NAT 模式的另一種演進。由于真實請求中響應資料包比請求資料包大很多的特點,在高并發下會成為系統的瓶頸,于是将響應資料包直接由真實伺服器傳回給用戶端。使用 MAC 位址欺騙來達到此目的,作用于資料鍊路層,是以不能對端口映射。并且在真實伺服器上,必須有一個僅自己可見的 “隐藏” VIP。在網絡中,真實的 VIP 綁定在負載均衡器上,用來接收用戶端的真實請求資料包。而 “隐藏” 的 VIP 綁定在真實伺服器的 lo 接口上,用來欺騙自己可以正常接收目标位址是 VIP 的資料包。是以真實伺服器的預設網關也必須是負載均衡器

DR跟TUN 方法相同,負載排程器中隻負責排程請求,而伺服器直接将響應傳回給客戶,可以極大地提高整個叢集系統的吞吐量。

跟 TUN 相比,這種方法沒有 IP 隧道的開銷,但排程器和伺服器組都必須在實體上有一個網卡通過不分斷的區域網路相連,如通過交換機或者高速的 HUB 相連。

VIP 位址為排程器和伺服器組共享,排程器配置的 VIP 位址是對外可見的,用于接收虛拟服務的請求封包

所有的伺服器把 VIP 位址配置在各自的 Non-ARP 網絡裝置上,它對外面是不可見的,隻是用于處 理目标位址為VIP 的網絡請求。

LVS NAT/DR/TUN三種模式1 什麼是LVS2 LVS工作模式3 LVS 排程算法

三種模式比較

模式 NAT TUN DR
server any tunneling真實伺服器必須處理ip封裝,且不能實作端口映射 non-arp device。真實伺服器上需要配置上隐藏的vip
server network private LAN/WAN LAN
server number low (10~20) high high
server gateway load balancer own router own router

3 LVS 排程算法

LVS有三種工作模式,但不管采用的是哪種模式,排程算法進行排程的政策與算法都是LVS的核心技術,LVS在核心中主要實作了以下十種排程算法。

1.輪詢排程

2.權重輪詢排程

3.最小連接配接排程

4.權重最小連接配接排程

5.基于局部的最少連接配接

6.帶複制的基于局部性的最少連接配接

7.目标位址散列排程

8.源位址散列排程

9.最短的期望的延遲

10.最少隊列排程

參考:

https://chowdera.com/2020/11/20201114001110962w.html

繼續閱讀