Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

LVS 三種負載均衡模式 (NAT/TUN/DR) 深度對比與選型指南

編輯:關於 Linux

LVS (Linux Virtual Server) 作為內核級四層負載均衡器,提供三種 IP 負載均衡模式:VS/NAT (地址轉換)、VS/TUN (IP 隧道)、VS/DR (直接路由)。三者在封包轉發路徑、網絡拓撲要求、性能上限、適用場景上差異巨大。本文深度對比架構原理、數據流向、優缺點、部署約束,給出生產環境選型建議。

一、LVS 核心架構組件

  • Director (調度器/LVS 節點):掛載 VIP (虛擬 IP),運行 IPVS 內核模塊,根據調度算法 (RR/WRR/LC/WLC/LBLC/LBLCR/DH/SH/SED/NQ) 將請求分發至 Real Server。
  • Real Server (後端應用服務器):運行真實業務 (Web/DB/App),需配置 RIP (真實 IP)。
  • Client (客戶端):訪問 VIP,感知不到後端叢集。
  • 共享存儲:可選,用於會話同步、靜態資源共享。

二、三種模式深度解析

1. VS/NAT (Virtual Server via Network Address Translation)

原理:Director 同時作為 Default Gateway。請求包:Client→VIP → Director (DNAT: VIP→RIP) → RS。響應包:RS → Director (SNAT: RIP→VIP) → Client。雙向流量均經 Director。

維度特性
網絡拓撲RS 私有 IP (10/172/192.168.x),網關指向 Director DIP。Director 雙網卡 (公網 VIP + 內網 DIP)。
RS 作業系統任意 (Linux/Windows/Unix),只需配置網關。
Director 負載極高:雙向全流量經 Director,CPU/內存/帶寬瓶頸明顯。
最大 RS 數10-20 台 (受限於 Director 轉發能力)。
端口映射支持端口映射 (VIP:80 → RIP:8080)。
Director 高可用需 Keepalived/VRRP 漂移 VIP+DIP。
優點配置簡單,RS 無內核要求,支持端口映射,RS 可用私有 IP。
缺點Director 成為性能瓶頸與單點,不適合高併發/大流量場景。

2. VS/TUN (Virtual Server via IP Tunneling / IP Encapsulation)

原理:Director 將請求包封裝在新 IP 頭中 (外層: DIP→RIP,內層: CIP→VIP) 發送給 RS。RS 解封獲取原始請求 (目標 VIP),處理後直接響應給 Client (源 VIP,經默認網關路由)。僅請求經 Director,響應繞過 Director。

維度特性
網絡拓撲RS 需公網 IP (RIP) 或可路由 IP。Director 與 RS 可跨公網 (隧道)。所有節點需支持 IP 隧道 (IPv4: ipip/gre; IPv6: ip6ip6/sit)。
RS 作業系統需支持 IP 隧道的內核 (Linux/BSD/部分 Unix)。Windows 需額外配置。
Director 負載低:僅處理入站請求封裝轉發,無響應流量壓力。
最大 RS 數100+ 台。
響應路徑RS → Client 直連,需 RS 配置 VIP on lo (隧道設備),ARP 抑制 (arp_ignore/arp_announce)。
優點Director 壓力小,跨地域部署靈活,擴展性強。
缺點RS 需公網 IP,隧道開銷 (MTU 減小、CPU 封裝/解封),配置複雜,Windows 支持弱。

3. VS/DR (Virtual Server via Direct Routing)

原理:Director 與 RS 同一物理網段 (同一 VLAN/二層網絡)。請求包:Director 修改 MAC 地址為 RS 的 MAC (幀級轉發),源 IP 仍為 CIP,目標 IP 仍為 VIP,直接二層轉發給 RS。RS 處理後直接響應給 Client (源 VIP)。Director 僅處理入站幀轉發,無 IP 層修改,性能最高。

維度特性
網絡拓撲Director 與 RS 必須在同一二層網段 (同一交換機/VLAN)。RS 配置 VIP on lo:0/lo:1,抑制 ARP 回應。
RS 作業系統Linux (最佳)、BSD、Solaris。Windows 需環回適配器配置 VIP 且禁用 ARP,較繁瑣。
Director 負載極低:僅 MAC 級轉發,CPU 幾乎無壓力,千萬級併發輕鬆應對。
最大 RS 數數百台 (受限於 ARP 表/交換機 MAC 表)。
VIP 配置Director 綁定 VIP (eth0:0)。RS 綁定 VIP 於 loopback (lo:0),設置 arp_ignore=1, arp_announce=2。
優點性能最強,Director 無狀態易擴展,無隧道開銷,響應直連低延遲。
缺點強制同一二層網段,跨機房/雲廠商難部署;RS 需配置 VIP/ARP 抑制;不支持端口映射。

三、核心對比總覽表

特性VS/NATVS/TUNVS/DR
雙向流量經 Director是否 (僅入站)否 (僅入站幀)
Director 性能瓶頸嚴重輕微幾乎無
RS 需公網 IP否是否 (但需同網段)
RS 作業系統限制無需隧道支持Linux 最佳
跨網段/跨機房部署容易 (路由即可)容易 (隧道穿越)困難 (需二層互通)
端口映射支持支持不支持不支持
典型最大 RS 數20100+500+
配置複雜度低高中 (ARP 抑制關鍵)

四、生產環境選型建議

  1. 單機房、高併發、大流量 (Web/Api/静態資源):首選 VS/DR。性能最強、架構簡潔、Director 易做 Keepalived 雙機熱備。
  2. 多機房/混合雲/跨地域、RS 分散不同網段:選 VS/TUN。隧道穿越三層網絡,Director 集中調度。注意 MTU 設置 (建議 1400) 和隧道加密 (IPsec/GRE over IPsec)。
  3. 小規模、RS 為 Windows/異構 OS、需端口映射、無公網 IP:選 VS/NAT。配置最簡單,Director 壓力可接受 (<1Gbps 入站)。
  4. 現代雲原生替代:雲廠商 SLB/ALB/NLB (AWS ALB/NLB, ALB SLB, GCP Cloud Load Balancing) 已替代自建 LVS。Kubernetes Service (ClusterIP/NodePort/LoadBalancer) + kube-proxy (IPVS 模式) 實現叢集內四層負載均衡,Ingress Controller (Nginx/Traefik/Envoy) 處理七層。

五、VS/DR 關鍵配置參考 (Linux RS)


# Director (ipvsadm)
ipvsadm -A -t VIP:80 -s rr
ipvsadm -a -t VIP:80 -r RIP1 -g  # -g 表示 DR 模式
ipvsadm -a -t VIP:80 -r RIP2 -g

# RS (循環配置 VIP 於 lo,抑制 ARP)
# /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
# 應用
sysctl -p

# 啟動腳本綁定 VIP (或 systemd service)
ip addr add VIP/32 dev lo label lo:0
# 或永久: /etc/sysconfig/network-scripts/ifcfg-lo:0

六、總結

LVS 三模式本質是封包轉發層級 (三層 NAT/隧道 vs 二層 MAC) 與響應路徑 (經 Director vs 直連) 的權衡。VS/DR 性能王者但拓撲受限;VS/TUN 靈活跨網但開銷大;VS/NAT 通用簡單但瓶頸早。現代架構多遷移至雲負載均衡或 K8s Service/IPVS,理解 LVS 原理仍是掌握四層負載均衡內核機制、排查 kube-proxy IPVS 模式問題的基石。

LVS 集群體系架構圖

VS/NAT 體系結構圖

VS/TUN 體系結構圖

Copyright © Windows教程網 All Rights Reserved