IPMP 提供網卡故障檢測與自動遷移,保障網絡高可用。本文詳解 基於鏈路 (Link-based) 與 基於探測 (Probe-based) 兩大模式,涵蓋 Active-Active、Active-Standby 部署與持久化配置。
| 特性 | Link-based (基於鏈路) | Probe-based (基於探測) |
|---|---|---|
| 故障檢測機制 | 監聽網卡鏈路狀態 (LINK UP/DOWN) | 發送 ICMP 探測包至目標 IP |
| 依賴條件 | 交換機/對端設備支持鏈路狀態傳遞 | 需配置測試 IP、目標可達 |
| 檢測範圍 | 僅物理鏈路層面 | 端到端 IP 通路 (含路由、防火牆) |
| 適用場景 | 直連交換機、簡單網絡 | 複雜網絡、跨防火牆、需驗證完整路徑 |
| IP 地址消耗 | 僅需數據 IP | 需額外測試 IP (每張卡一個) |
# 即時生效 ifconfig e1000g0 plumb 192.168.1.2 netmask + broadcast + group IPMPgroup up ifconfig e1000g1 plumb group IPMPgroup up # 持久化配置 # /etc/hostname.e1000g0 192.168.1.2 netmask + broadcast + group IPMPgroup up # /etc/hostname.e1000g1 group IPMPgroup up
# 即時生效 ifconfig e1000g0 plumb 192.168.1.2 netmask + broadcast + group IPMPgroup up ifconfig e1000g1 plumb group IPMPgroup standby up # 持久化 # /etc/hostname.e1000g1 group IPMPgroup standby up
前置條件:每張物理網卡需配置一個 deprecated -failover 的測試 IP,不參與數據傳輸,專供 ICMP 探測。
# e1000g0: 數據 IP + 測試 IP
ifconfig e1000g0 plumb 192.168.1.2 netmask + broadcast + group ipmp0 up \
addif 192.168.1.3 netmask + broadcast + deprecated -failover up
# e1000g1: 測試 IP
ifconfig e1000g1 plumb 192.168.1.4 netmask + broadcast + deprecated -failover group ipmp0 up
# 持久化
# /etc/hostname.e1000g0
192.168.1.2 netmask + broadcast + group ipmp0 up \
addif 192.168.1.3 netmask + broadcast + deprecated -failover up
# /etc/hostname.e1000g1
192.168.1.4 netmask + broadcast + deprecated -failover group ipmp0 up
# e1000g1 標記 standby ifconfig e1000g1 plumb 192.168.1.4 netmask + broadcast + deprecated -failover group ipmp0 standby up # /etc/hostname.e1000g1 192.168.1.4 netmask + broadcast + deprecated -failover group ipmp0 standby up
deprecated:標記為不作為源地址發送數據包-failover:故障時不遷移此 IP (測試 IP 綁定物理卡,不隨組漂移)standby:標記為備用介面,正常不承擔數據流量group:加入 IPMP 組名# 查看組狀態 ifconfig -a # 正常時:兩張卡均 UP,數據 IP 在活躍卡 # 故障後:故障卡標記 FAILED/NOFAILOVER,數據 IP 自動漂移至備用卡 # e1000g1:1 顯示為漂移後的數據 IP
/etc/hostname.<interface>inet6