一、核心概念 (Concept)
一句話定義:
VRRP-A (Virtual Router Redundancy Protocol - A10 Extension) 是一套 A10 專有的高可用性機制,透過將兩台或多台設備組成一個群組,確保當一台設備故障時,另一台能「無縫接軌」所有網路服務與連線。
生活化比喻:餐廳的「雙主廚制」
想像一間高級餐廳有兩位主廚(設備):
Active (主廚): 負責所有出餐(處理封包),站在出餐口指揮。
Standby (副主廚): 站在旁邊隨時待命,雖然不炒菜,但他會即時同步主廚的菜單進度(Session Sync)。
一旦主廚突然身體不適(故障),副主廚因為知道所有菜單進度,能立刻站上出餐口繼續做菜,客人完全感覺不到更換了廚師。
Active 主廚
上菜中Standby 副主廚
監控菜單二、運作原理 (Mechanism)
技術細節
- VRID (Virtual Router ID): 這是 HA 群組的識別證。兩台設備必須設定相同的 VRID 才能成為一組搭檔。每個 VRID 擁有一組虛擬 MAC 位址。
- Hello Messages (心跳偵測): 設備間會透過專用的 VLAN 發送 Hello 封包。如果 Standby 收不到 Active 的心跳,就會判定對方「陣亡」,進而接手服務。
- Conn-Sync (Session Synchronization): 這是 A10 的強項。Active 設備會將當前的連線表 (Session Table) 即時複製給 Standby。這樣 Failover 發生時,使用者的 TCP 連線不會斷線,不需重新登入。
關鍵參數
模式比較:Active-Standby vs. Active-Active
| 特性 | Active-Standby (推薦) | Active-Active |
|---|---|---|
| 流量處理 | 100% 由 Active 處理,Standby 閒置待命。 | 兩台同時處理流量 (通常透過多個 VRID 群組實現)。 |
| 除錯難度 | 簡單,路徑明確。 | 複雜,需判斷封包走哪台設備 (Asymmetric Routing)。 |
| 適用場景 | 大多數企業環境,追求穩定與管理簡便。 | 超大流量環境,不希望有閒置資源。 |
三、架構視覺化 (Visuals)
1. VRRP-A 物理連接拓樸 (Topology)
Heartbeat + Sync"| S1 style A1 fill:#001f3f,stroke:#333,stroke-width:2px,color:#fff style S1 fill:#fff,stroke:#001f3f,stroke-width:2px,stroke-dasharray: 5 5 end A1 -->|Traffic| Servers[Backend Servers] linkStyle 3 stroke:#d6006e,stroke-width:4px
實線代表主要流量路徑,虛線代表待命路徑。中間的洋紅色粗線為 HA 同步線路 (Ethernet 1)。
2. Failover 切換流程 (Sequence)
四、實務應用場景 (Use Case)
案例:證券交易系統的「零秒」備援
情境: 某大型證券商的下單系統,每秒鐘有數千筆交易。如果防火牆或負載平衡器故障導致連線中斷,客戶必須重新登入下單,這幾秒的延遲可能造成巨大的金錢損失。
解決方案: 部署兩台 A10 Thunder 形成 VRRP-A Active-Standby 架構,並開啟 Conn-Sync (Session Synchronization) 功能。
優點
- 交易不中斷: 即便 Active 設備斷電,客戶端的 TCP 連線依然存活,不需重連。
- 維護便利: 網管人員可以在上班時間手動切換至 Standby 進行韌體更新,完全不影響業務。
缺點/挑戰
- 成本較高: 需購買兩台設備,但平時只有一台在運作 (Active-Standby 模式下)。
- 同步頻寬: 若連線量極大 (數百萬 Concurrent),HA 介面之間的頻寬需足夠大 (建議用 10G/40G 直連)。
五、實戰設定範例 (Configuration Lab) - AA 路由模式
場景描述 (Active-Active / Routed Mode):
企業實施 Active-Active (AA) 架構,且 Client 端與 Server 端位於不同網段 (Routed Mode)。
需求:
• Client Side (10.10.10.x):配置 VIP (10.10.10.1 & .2) 供用戶存取。
• Server Side (192.168.20.x):配置 Gateway IP (192.168.20.1 & .2) 供後端伺服器回程路由使用。
• Ethernet 1:Client 側 + HA Sync。 Ethernet 2:Server 側。
實驗拓樸圖 (Routed Mode)
Eth1 (Client): 10.10.10.11
Eth2 (Server): 192.168.20.11"] DevB["Device B
Eth1 (Client): 10.10.10.12
Eth2 (Server): 192.168.20.12"] DevA <==>|"Eth 1
Heartbeat + Sync"| DevB end Internet -->|"VIP: 10.10.10.0/24"| DevA Internet -->|"VIP: 10.10.10.0/24"| DevB L2SW["L2 Switch
(VLAN Trunking)"] DevA -->|"Eth 2"| L2SW DevB -->|"Eth 2"| L2SW subgraph Servers [Backend Server Groups] SG1["Server A
IP: 192.168.20.100"] SG2["Server B
IP: 192.168.20.200"] end L2SW --> SG1 L2SW --> SG2 SG1 -.->|"Default GW: .1 (VRID 1)"| DevA SG2 -.->|"Default GW: .2 (VRID 2)"| DevB style DevA fill:#e6f0ff,stroke:#001f3f,stroke-width:2px style DevB fill:#e6f0ff,stroke:#001f3f,stroke-width:2px style L2SW fill:#fff,stroke:#333,stroke-width:2px
! 1. 設定共用參數
vrrp-a common
device-id 1
set-id 1
enable
! 2. 設定 VRID 1 (我是 Active)
vrrp-a vrid 1
floating-ip 10.10.10.1 (VIP1)
floating-ip 192.168.20.1 (GW1)
blade-parameters
priority 200
! 3. 設定 VRID 2 (我是 Standby)
vrrp-a vrid 2
floating-ip 10.10.10.2 (VIP2)
floating-ip 192.168.20.2 (GW2)
blade-parameters
priority 150
! 4. 介面設定
interface ethernet 1 (Client Side)
ip address 10.10.10.11 255.255.255.0
vrrp-a vrid 1
vrrp-a vrid 2
interface ethernet 2 (Server Side)
ip address 192.168.20.11 255.255.255.0
vrrp-a vrid 1
vrrp-a vrid 2
! 1. 設定共用參數
vrrp-a common
device-id 2
set-id 1
enable
! 2. 設定 VRID 1 (我是 Standby)
vrrp-a vrid 1
floating-ip 10.10.10.1 (VIP1)
floating-ip 192.168.20.1 (GW1)
blade-parameters
priority 150
! 3. 設定 VRID 2 (我是 Active)
vrrp-a vrid 2
floating-ip 10.10.10.2 (VIP2)
floating-ip 192.168.20.2 (GW2)
blade-parameters
priority 200
! 4. 介面設定
interface ethernet 1 (Client Side)
ip address 10.10.10.12 255.255.255.0
vrrp-a vrid 1
vrrp-a vrid 2
interface ethernet 2 (Server Side)
ip address 192.168.20.12 255.255.255.0
vrrp-a vrid 1
vrrp-a vrid 2
關鍵補充:後端伺服器網路設定 (Server Gateway Settings)
因為 Server IP (192.168.20.x) 與 VIP (10.10.10.x) 位於不同網段,伺服器的 Default Gateway 必須指向 A10 在 Server 網段上的 Floating IP,才能確保封包回程不迷路。
Server Group A (服務 A)
主機 IP: 192.168.20.100
(指向 VRID 1 的 Server-Side Floating IP)
Server Group B (服務 B)
主機 IP: 192.168.20.200
(指向 VRID 2 的 Server-Side Floating IP)
進階補充:HA 溝通機制與位址 (Communication & Addresses)
1. Multicast Address (標準 VRRP)
標準 VRRP 協定預設使用 Multicast 位址進行 Hello 封包溝通。
- IPv4 Multicast: 224.0.0.18
- Protocol: IP Protocol 112
2. A10 VRRP-A 專有擴充
A10 的 VRRP-A 為了同步大量的 Session Table,採用了專有的傳輸機制。
- Sync Protocol: UDP Port 3003
- Default Transport: Layer 2 Broadcast 或 Unicast (若指定 Peer IP)
關鍵檢查指令 (Verification)
Show vrrp-a
查看目前 HA 狀態 (誰是 Active、誰是 Standby)。
Show vrrp-a sessions
確認 Session Table 的同步數量是否一致。
六、隨堂測驗 (Quiz)
測驗完成!
您的得分: / 5