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 調度策略深度解析:持久連結、模板機制與調度演算法

編輯:Linux 教學

LVS (Linux Virtual Server) 核心模組 ipvs 提供多種調度演算法與持久連結機制。本文深入解析 -p 持久參數、-M 網罩粒度、連結模板運作流程,以及 RR/WRR/LC/WLC 等演算法行為差異。

持久連結參數詳解

ipvsadm -A -t VIP:PORT -s wlc -p 900 -M 255.255.255.0
  • -p 900:持久逾時 900 秒(預設 300 秒)。
  • -M 255.255.255.0:來源 IP 套用網罩後比對,同一 C 類網段視為同一客戶端。

「同一客戶端」定義: 依來源 IP(套用網罩後)比對,非 Cookie 或 Session ID。例:10.1.9.8 與 10.1.9.9 套用 /24 後均為 10.1.9.0,將導向同一 Real Server。

連結模板機制

啟用 -p 時,IPVS 內部維護 持久模板:

  1. 新連結 <CIP:CPORT, VIP:VPORT> 到達,查找模板表。
  2. 若存在匹配模板 <CIP:0, VIP:0, RIP:RPORT> 且未逾時,直接依模板建立真實連結 <CIP:CPORT, VIP:VPORT, RIP:RPORT>,不再經過調度演算法,並重置模板逾時計時器。
  3. 若無模板,執行調度演算法選出 RS,建立模板與真實連結,模板逾時設為 -p 值。

模板本質是一種特殊連結項,可用 ipvsadm -Lcn 觀察。

調度演算法特性比較

Session 保持最佳實踐

LVS 僅負責 L4 分發,不複製 Session。RS 故障切換時,原 Session 遺失。解決方案:

  1. 應用層 Session 外部化:Redis、Memcached、資料庫、共享檔案系統。
  2. 啟用 quiescent=yes 平滑下線 RS,配合健康檢查。
  3. 關鍵業務採用 sh 或 dh 靜態雜湊,搭配應用層 Session 共享。

操作流程圖解


封包 -> VS
   |
   +-- 查找連結表
   |     |
   |     +-- 命中 -> 依現有連結轉發
   |
   +-- 未命中 -> 新連結
         |
         +-- 一般服務 -> 調度演算法 -> 建立連結 -> 轉發
         |
         +-- 持久服務 (-p)
               |
               +-- 查找模板
               |     |
               |     +-- 命中 -> 依模板建立連結 -> 重置模板逾時 -> 轉發
               |
               +-- 未命中 -> 調度演算法 -> 建立模板+連結 -> 轉發
Copyright © Windows教程網 All Rights Reserved
演算法代碼特性適用場景
Round Robinrr循環指標,無狀態,均勻分發同質 RS、無 Session 依賴
Weighted RRwrr依權重比例循環異質硬體、靜態負載
Least Connectionlc選當前連結數最少的 RS長連結、負載動態變化
Weighted LCwlc依權重調整的最少連結(預設)通用生產環境
Locality-Based LClblc目標 IP 親和性 + 最少連結快取 Proxy、CDN 邊緣節點
LBLCRlblcrlblc + 複製機制大型快取叢集
Destination Hashdh目標 IP 雜湊靜態映射防火牆、固定路由
Source Hashsh來源 IP 雜湊靜態映射無狀態持久、防火牆
Shortest Expected Delaysed預估延遲最小(LC 變體)實驗性
Never Queuenq直接分發無佇列(LC 變體)低延遲需求