簡介
在 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 內完成這段處理。