vSphere SR-IOV 支援依賴 NIC 連接埠虛擬功能 (VF) 和實體功能 (PF) 之間的互動來改善效能,依賴 PF 驅動程式和主機交換器之間的互動來實現流量控制。

在 SR-IOV 實體介面卡表面執行虛擬機器流量的主機中,虛擬機器介面卡可直接連絡虛擬功能以傳遞資料。但是,能否設定網路則取決於虛擬機器所在的連接埠正在使用的原則。

在不具有 SR-IOV 的 ESXi 主機上,虛擬交換器會透過主機上相應的連接埠傳送流出或流入相關連接埠群組實體介面卡的外部網路流量。此外,虛擬交換器也會在受管理封包上套用網路原則。

圖 1. vSphere SR-IOV 支援中的資料路徑和組態路徑

vSphere 中 SR-IOV 支援的資料路徑和控制路徑包含不同的元件。資料路徑直接將虛擬機器與 NIC 上的虛擬功能連線。控制路徑包含虛擬交換器和虛擬機器上正在使用的原則。

SR-IOV 中的資料路徑

將虛擬機器網路介面卡指派給某一虛擬功能後,客體作業系統中的 VF 驅動程式會使用 I/O 記憶體管理單元 (IOMMU) 技術來存取必須透過網路接收和傳送資料的虛擬功能。VMkernel (尤其是虛擬交換器) 不會處理資料流,這可縮短已啟用 SR-IOV 之工作負載的總體延遲時間。

SR-IOV 中的組態路徑

當客體作業系統嘗試變更已對應到 VF 的虛擬機器介面卡的組態時,如果與此虛擬機器介面卡關聯的連接埠上的原則允許,則將執行變更。

組態工作流程包括以下作業:

  1. 客體作業系統要求變更 VF 上的組態。
  2. VF 透過信箱機制將該要求轉寄至 PF。
  3. PF 驅動程式向虛擬交換器 (標準交換器或分散式交換器的主機代理交換器) 確認組態要求。
  4. 虛擬交換器透過與已啟用 VF 的虛擬機器介面卡相關聯的連接埠上的原則來驗證組態要求。
  5. 如果新的設定符合虛擬機器介面卡的連接埠原則,則 PF 驅動程式將設定 VF。

    例如,當 VF 驅動程式嘗試修改 MAC 位址時,如果連接埠群組或連接埠的安全性原則不允許變更 MAC 位址,則該位址將保持不變。客體作業系統可能會顯示已成功變更,但記錄訊息會指示此作業失敗。因此,客體作業系統和虛擬裝置儲存的 MAC 位址不同。客體作業系統中的網路介面可能無法取得 IP 位址並進行通訊。在此情況下,您必須重設客體作業系統中的介面,以從虛擬裝置取得最新的 MAC 位址並擷取 IP 位址。