簡介
在 Nutanix 運作架構中,AHV 主機便是利用 OVS (Open vSwitch),來達成連接和管理 VM 虛擬主機的虛擬網路部份。OVS 虛擬網路可以透 Prism 或 ACLI 進行組態設定。下列為 OVS 虛擬網路機制運作架構示意圖:
OVS 運作元件
針對上述的 OVS 架構圖中,可以看到幾個重要的運作元件或術語。
OVS (Open vSwitch)
OVS (Open vSwitch) 是結合 Linux 核心實作的開源軟體交換器,並可以在伺服器虛擬化環境中運作。在預設情況下,OVS 虛擬網路交換器的運作機制,類似於 Layer 2 功能的虛擬網路交換器 (MAC Address)。 OVS 支援許多網路交換器主流功能,例如,VLAN Tagging、LACP (Link Aggregation Control Protocol)、Port Mirroring、QoS (Quality of Service)……等,每台 AHV Host 會運作一個 OVS 執行個體,多個 OVS 整合之後,將會組成一個邏輯上的虛擬網路交換器,以便後續管理和組護虛擬網路環境。
Bridge
預設情況下,AHV Host 會建立一個名稱為 virbr0 的 Native Linux Bridge,以及一個名稱為 br0 的 OVS Bridge 。其中,virbr0 負責 CVM 和 AHV Host 之間 Management 和 Storage 網路流量,而其它 Storage、AHV Host、VMs……等網路流量便是由 br0 負責。
Port
Port 是 Bridge 中的邏輯結構,並且負責處理 AHV Host、VM 虛擬主機、實體網路卡的連接作業。其中,br0 負責連接和存取 AHV Host,Tap Ports 則是 VM 虛擬主機虛擬網卡連接存取使用,VXLAN Port 用於 Acropolis 提供 IP 位址管理功能,Bonded Ports 則是提供 NIC Teaming 機制,以便將 AHV Host 的多個實體網路卡整合的機制。
Bond
預設情況下,系統會自動建立 br0-up 的 Bonding 介面,一般為了方便識別通常會重新命名為 bond0。此外,Bond 建立後,支援多種網路流量負載平衡演算法,例如,Active-Backup、Balance-SLB、Balance-TCP 等,當然 LACP 也支援但必須配合實體網路交換器的設定。值得注意的是,在安裝期間未指定使用的負載平衡演算法 (bond_mode) 時,預設將會採用 Active-Backup 演算法。
Service Chain
預設情況下,所有的網路流量都會轉送到 AHV Service Chaining 的 Packet Processor。目前,有兩種 Service Chaing 運作模式分別是 Inline 和 Tap,其中 Inline Packet Processor 當網路封包經過 OVS 時會進行攔截,並且可以修改/允許/拒絕網路封包,常見的應用類型為防火牆或網路負戴平衡。而 Tap Packet Processor 則是,在網路封包進入時會檢查及讀取封包內容,常用的應用類型為 IDS/IPS/網路監控。
事實上,所有類型的 Service Chain,都是在 Flow - Microsegmentation 規則之後,並且當網路封包離開 OVS 之前完成,在網路堆疊中是在 br.nf 內完成這段處理。