ClusterXL 高可用¶
一台防火牆掛了,服務不能跟著掛。ClusterXL 把兩台(或多台)Gateway 組成叢集,一台故障時另一台接手,達到高可用(HA)。
兩種模式¶
| 模式 | 運作 | 特點 |
|---|---|---|
| High Availability(HA) | 一台 Active 工作、其他 Standby 待命 | 最常見,故障時 failover |
| Load Sharing(LS) | 多台同時分擔流量 | 吞吐更高,設定 / 狀態同步較複雜 |
大多數環境用 HA(Active/Standby)。
關鍵元件¶
graph TD
subgraph Cluster
A[成員 1<br/>Active] ---|Sync 網路| B[成員 2<br/>Standby]
end
A -->|持有 VIP| NET[對外 / 對內網路]
B -.接手 VIP.-> NET
- Cluster Virtual IP(VIP):對外服務用的虛擬 IP,永遠在 Active 成員上。Failover 時 VIP 轉到新 Active。
- Sync 網路(State Synchronization):成員間同步連線表的專用網路。有了它,failover 時既有連線不中斷。
- CCP(Cluster Control Protocol):成員間互相偵測存活與健康,並承載 Delta Sync。使用 UDP port 8116。模式有 Multicast / Broadcast / Unicast,R80.20 起會自動在三者間切換找最佳模式(必要時
cphaconf set_ccp <broadcast|multicast>手動指定)。
Sync 網路要獨立且穩定
Sync 介面建議用獨立實體網路 / 直連,頻寬足、延遲低。Sync 不穩會造成連線表同步失敗、甚至雙方都搶當 Active(split-brain)。
健康檢查與排錯:cphaprob¶
cphaprob 是看叢集狀態的核心指令:
# 看叢集整體狀態與各成員角色
cphaprob stat
# 看是哪個「device / pnote」讓成員變 down
cphaprob -l list
# 看 Sync 介面與 CCP 狀態
cphaprob -a if
# 看 failover 歷史
cphaprob show_failover
# State Sync 同步統計(看連線表有沒有同步上)
cphaprob syncstat
成員狀態值(cphaprob state):ACTIVE、STANDBY、DOWN、READY(等待成為 Active)、INIT、BACKUP、LOST,以及 ACTIVE(!)(如 ACTIVE(!P) 代表有 pnote problem)。
cphaprob stat 範例(重點看 State):
Cluster Mode: High Availability (Active Up)
ID Unique Address State Name
1 10.0.0.1 ACTIVE member1
2 10.0.0.2 STANDBY member2
成員一直 down?看 pnote
cphaprob -l list 會列出各種監控項(pnote),例如介面、程序、策略。哪一項 problem,就是它把成員拉 down 的原因 —— 比盲猜快得多。
Failover 怎麼觸發¶
任一監控項失敗就可能觸發 failover:
- 監控介面 link down
- 關鍵程序(如 fwd)異常
- 策略未安裝
- Sync 中斷
維運注意¶
- 升級 / 打 JHF 逐台滾動做:先升 Standby → 確認正常 → 手動 failover → 再升另一台,全程不中斷服務。
- 手動切換:
版本提醒
ClusterXL 在 R81.10 ~ R82.10 一致,新版對 failover 速度、Sync 效率、虛擬環境(VMware / 雲)叢集支援持續強化。要注意:Maestro 不是用 ClusterXL —— Maestro 由 Orchestrator 做流量分配與成員管理,是另一套機制(見 Maestro)。
小結¶
- ClusterXL 提供高可用:HA(Active/Standby)最常見。
- VIP 跟著 Active 走、Sync 網路同步連線表讓 failover 不斷線。
- 排錯主力指令
cphaprob stat/cphaprob -l list(看 pnote)。 - 升級逐台滾動做;Maestro 是另一套機制,別搞混。