跳轉到

Orchestrator & Security Group

Maestro 的核心是用 Orchestrator(MHO) 把多台 appliance 綁成一個 Security Group,對外像一台超大防火牆。先把名詞搞清楚,後面排錯才不會亂。

名詞對照

名詞 全名 角色
MHO Maestro Hyperscale Orchestrator 編排器,本體是 Mellanox 交換器,負責把流量分配給成員
Security Group (SG) 一組 appliance 組成的邏輯防火牆
SGM Security Group Member Security Group 裡的單一 appliance(成員)
SMO Single Management Object 整個 SG 對 Management 呈現的「單一物件」,由其中一個成員擔任代表
graph TD
    NET[網路流量] --> MHO1[Orchestrator 1<br/>MHO]
    NET --> MHO2[Orchestrator 2<br/>MHO]
    MHO1 --> SGM1[SGM 1]
    MHO1 --> SGM2[SGM 2]
    MHO2 --> SGM1
    MHO2 --> SGM2
    subgraph Security Group
    SGM1
    SGM2
    end

運作概念

  • 流量進到 Orchestrator,由它依據分配機制(distribution)把連線平均分給各個 SGM
  • 每個 SGM 是一台跑 Gaia 的 appliance,實際做防火牆檢查。
  • 整個 SG 對 Management 來說是一個 SMO 物件 —— 你裝策略、看狀態,都是對這一個物件操作,Orchestrator 再同步到所有成員。
  • 要更多效能 → 加 SGM;要更高可用 → 雙 Orchestrator(成員雙邊連線)。

雙 Orchestrator = 冗餘

正式環境通常配兩台 MHO,每個成員同時連到兩台。一台 MHO 維護 / 故障時,成員把連線 failover 到另一台,服務不中斷。這也是為什麼升級 MHO 要逐台做。

成員一致性:版本必須相同

SGM 的版本 + JHF 必須與 SG 一致

一個 Security Group 裡所有成員的 OS 版本與 JHF Take 必須相同。新成員加入時,Orchestrator 會自動把它佈建(auto-provisioning)成與群組相同的版本。版本對不上是新成員加不進來、卡在 DETACHED 的常見原因(見 新成員加入與排錯)。

對外呈現與管理

  • 在 SmartConsole 裡,整個 SG 是一個 Gateway 物件(SMO)。
  • 在 CLI,登入 SMO 後用 gclish(group clish)對整組下指令,或用 g_all 對所有成員執行。
  • 健康狀態用 asg 系列指令看(見 asg 指令與監看)。
# 對所有成員執行同一指令
g_all clish -c "show version all"

# 進 group clish(對整組操作)
gclish

SMO Master 與 Image Auto-Clone

  • SMO Master:其中一台 SGM 擔任,負責所有管理任務 —— gateway 設定、policy 安裝、遠端連線、logging。用 asg stat -i tasks 查目前哪台是 SMO / 任務分配。
  • Image Auto-Clone:開啟後,新加入的成員會自動安裝與 SMO 目前相同的版本與 JHF(含已裝 JHF、private HF、OS 模組),確保整組一致。用 show smo image auto-clone state 查狀態。

規模上限(R81.20 / R82)

  • 每台 Orchestrator 可設定的 Security Group 數:最多 8
  • 每個 Security Group 的 成員(SGM)數:最多 28;雙站(Dual-Site)時每站最多 14,且每站至少 1 台。
  • R81.20 與 R82 的成員上限一致;R82 主要新增 VSNext 虛擬化模式與更高的介面上限。規劃擴充前仍以對應版本的 Maestro / Scalable Platforms Admin Guide 為準。

小結

  • Orchestrator(MHO) 分配流量、SGM 做檢查、整組對外是一個 SMO 物件。
  • 加成員擴效能、雙 Orchestrator 做冗餘。
  • 所有成員版本 + JHF 必須一致,新成員由 Orchestrator 自動佈建對齊。
  • 用 gclish / g_all 對整組操作,用 asg 指令看健康。