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

ipvsadm 指令完整參考手冊:LVS 虛擬服務/真實伺服器管理、調度演算法、三大轉發模式詳解

編輯:Linux 教學

核心概念對照表

術語中文說明
Virtual Service Address虛擬服務 IP (VIP)對外提供服務的浮動 IP
Real Service Address真實伺服器 IP (RIP)後端實際處理請求的主機
Scheduler調度演算法決定請求分發給哪台 RIP

ipvsadm 完整語法分類

1. 虛擬服務管理

# 新增虛擬服務
ipvsadm -A -t|u|f VIP:PORT [-s scheduler] [-p [timeout]] [-M netmask]

# 編輯虛擬服務
ipvsadm -E -t|u|f VIP:PORT [-s scheduler] [-p [timeout]] [-M netmask]

# 刪除虛擬服務
ipvsadm -D -t|u|f VIP:PORT

# 清空所有規則
ipvsadm -C

2. 真實伺服器管理

# 新增真實伺服器
ipvsadm -a -t|u|f VIP:PORT -r RIP:PORT [-g|i|m] [-w weight]

# 編輯真實伺服器
ipvsadm -e -t|u|f VIP:PORT -r RIP:PORT [-g|i|m] [-w weight]

# 刪除真實伺服器
ipvsadm -d -t|u|f VIP:PORT -r RIP:PORT

3. 查看與統計

# 列出規則 (預設數字格式加 -n)
ipvsadm -L -n
ipvsadm -L -n --stats   # 統計資訊
ipvsadm -L -n --rate    # 速率資訊
ipvsadm -L -n --timeout # 逾時值
ipvsadm -L -n --sort    # 排序輸出
ipvsadm -L -n -c        # 當前連線表

# 歸零計數器
ipvsadm -Z [-t|u|f VIP:PORT]

# 儲存/還原規則
ipvsadm -S > /etc/sysconfig/ipvsadm
ipvsadm -R < /etc/sysconfig/ipvsadm

4. 連線同步與高可用

# 設定連線逾時 (tcp tcpfin udp)
ipvsadm --set 900 120 300

# 啟動同步守護程式 (Master/Backup)
ipvsadm --start-daemon master --mcast-interface eth0
ipvsadm --start-daemon backup --mcast-interface eth0
ipvsadm --stop-daemon

關鍵參數詳細說明

參數長選項說明
-t--tcp-serviceTCP 服務 VIP:PORT
-u--udp-serviceUDP 服務 VIP:PORT
-f--fwmark-service防火牆標記服務 (需配合 iptables MARK)
-s--scheduler調度演算法 (rr/wrr/lc/wlc/lblc/lblcr/dh/sh/sed/nq)
-p--persistent持久連線 (同一 Client 固定導向同一 RIP),預設逾時 300 秒
-M--netmask持久連線網路遮罩粒度
-r--real-server真實伺服器 RIP:PORT
-g--gatewayingDirect Routing (DR) 模式 (預設)
-i--ipipIP Tunneling 模式
-m--masqueradingNAT 模式
-w--weight真實伺服器權重

三大封包轉發模式對比

1. NAT 模式 (-m)

  • 原理: Director 修改封包目的 IP 為 RIP,回應封包經 Director 改回 VIP
  • 優點: RIP 可用私有 IP、僅需一個公網 VIP、支援任意 OS
  • 缺點: 所有回應流量經 Director,成瓶頸 (請求小、回應大);Director 需為 RIP 預設閘道
  • 適用: 中小型網站、RIP 無公網 IP 環境

2. IP Tunneling 模式 (-i)

  • 原理: Director 將封包封裝於新 IP 頭 (VIP→RIP),RIP 解封後直接回應 Client
  • 優點: 回應流量繞過 Director,擴展性極佳 (>100 節點)、支援跨地域部署、災備友善
  • 缺點: RIP 必須有公網 IP、所有節點需支援 IP Encapsulation (IP/IP)
  • 適用: 異地多活、大規模叢集、RIP 擁有公網 IP

3. Direct Routing (DR) 模式 (-g,預設)

  • 原理: Director 僅修改 MAC 位址 (二層轉發),RIP 直接回應 Client
  • 優點: 無封裝開銷、效能最高、回應繞過 Director
  • 缺點: 所有節點必須在同一物理網段 (二層互通)、RIP 需配置 VIP on lo:0 並關閉 ARP 回應
  • 適用: 高併發單資料中心、追求極致效能

IPVS 十大調度演算法

代碼演算法特點
rrRound Robin簡單輪詢,無狀態
wrrWeighted Round Robin加權輪詢,依權重分發
lcLeast Connections最少連線,動態負載感知
wlcWeighted Least Connections加權最少連線 (預設),權重×連線數
lblcLocality-Based LC基於局部性最少連線,適合快取
lblcrLBLC with Replication帶複寫的 LBLC,熱點分散
dhDestination Hashing目標 IP 雜湊,固定映射
shSource Hashing來源 IP 雜湊,防火牆親和性
sedShortest Expected Delay最短預期延遲,優化佇列
nqNever Queue無佇列,直接分發 idle 節點

實戰範例:DR 模式 HTTP 負載均衡

# 1. 建立虛擬服務 (VIP 192.168.0.167:80,加權最少連線)
ipvsadm -A -t 192.168.0.167:80 -s wlc

# 2. 新增真實伺服器 (DR 模式,權重 1)
ipvsadm -a -t 192.168.0.167:80 -r 192.168.0.31:80 -g -w 1
ipvsadm -a -t 192.168.0.167:80 -r 192.168.0.32:80 -g -w 1

# 3. 驗證
ipvsadm -L -n
# 輸出應顯示 VIP、兩台 RIP、Forward: Route (DR 模式標識)

# 4. 持久化規則
ipvsadm -S > /etc/sysconfig/ipvsadm
echo "ipvsadm -R < /etc/sysconfig/ipvsadm" >> /etc/rc.local

RIP 端 DR 模式必要配置

# 1. 綁定 VIP 於 loopback 介面 (隱藏不回應 ARP)
ifconfig lo:0 192.168.0.167 netmask 255.255.255.255 up
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

# 2. 設定預設閘道指向 Director (非 VIP)
route add default gw 192.168.0.1
Copyright © Windows教程網 All Rights Reserved