SR-IOV VF 容錯移轉和即時移轉支援
啟動 Hyper-V 子分割之後,網路流量會流經綜合資料路徑。 如果實體網路介面卡支援單一根目錄 I/O 虛擬化 (SR-IOV) 介面,它可以啟用一或多個 PCI Express (PCIe) Virtual Functions (VFs) 。 每個 VF 都可以附加至 Hyper-V 子分割區。 發生這種情況時,網路流量會流經硬體優化的 SR-IOV VF 資料路徑。
建立 VF 資料路徑之後,如果下列任一條件成立,網路流量就可以還原為 綜合資料路徑 :
VF 已附加至 Hyper-V 子分割區,但會中斷連結。 例如,虛擬化堆疊可以將 VF 與一個子分割區中斷連結,並將它附加至另一個子分割區。 當執行比基礎 SR-IOV 網路介面卡上的 VF 資源更多的 Hyper-V 子分割區時,可能會發生這種情況。
從 VF 資料路徑容錯移轉至綜合資料路徑的程式稱為 VF 容錯移轉。
Hyper-V 子分割區正在即時移轉至不同的主機。
下圖顯示透過 SR-IOV 網路介面卡支援的各種資料路徑。
NetVSC 會公開虛擬機器 (VM) 網路介面卡,此網路介面卡系結至 VF 迷你埠驅動程式以支援 VF 資料路徑。 在轉換至綜合資料路徑期間,VF 網路介面卡會盡可能從客體作業系統正常移除。 如果無法正常移除 VF 並逾時,將會意外移除。 然後 VF 迷你埠驅動程式會停止,而網路虛擬網路用戶端 (NetVSC) 與 VF 迷你埠驅動程式無關。
VF 與綜合資料路徑之間的轉換會以最少的封包遺失而發生,並防止 TCP 連線遺失。 轉換到綜合資料路徑完成之前,虛擬化堆疊會遵循下列步驟:
虛擬化堆疊會將媒體存取控制 (MAC) 和虛擬 LAN (VLAN) 篩選,以將 VM 網路介面卡的預設虛擬埠 (VPort) 移至 PCIe 實體函式 (PF) 。 VM 網路介面卡會在子磁碟分割的客體作業系統中公開。
將篩選移至預設 VPort 之後,綜合資料路徑就完全適用于在客體作業系統中執行之網路元件的網路流量。 PF 迷你埠驅動程式會指出預設 PF VPort 上的已接收封包,其會使用綜合資料路徑來指出客體作業系統的封包。 同樣地,來自客體作業系統的所有傳輸封包都會透過綜合資料路徑路由傳送,並透過預設 PF VPort 傳輸。
如需 VPorts 的詳細資訊,請參閱 虛擬埠 (VPorts) 。
虛擬化堆疊會藉由發出物件識別碼 (OID) 將 OID_NIC_SWITCH_DELETE_VPORT 集要求發行至 PF 迷你埠驅動程式,以刪除附加至 VF 的 VPort。 迷你埠驅動程式會釋放與 VPort 相關聯的任何硬體和軟體資源,並完成 OID 要求。
如需詳細資訊,請參閱 刪除虛擬埠。
虛擬化堆疊會在解除配置 VF 之前,要求 PCIe 函式層級重設 (FLR) 。 堆疊會發出 OID_SRIOV_RESET_VF的 OID 集合要求給 PF 迷你埠驅動程式來執行此作業。 FLR 會將 SR-IOV 網路介面卡上的 VF 帶入靜止狀態,並清除 VF 的任何擱置中斷事件。
重設 VF 之後,虛擬化堆疊會向 PF 迷你埠驅動程式發出 OID 集合 要求 OID_NIC_SWITCH_FREE_VF, 以要求解除配置 VF 資源。 這會導致迷你埠驅動程式釋出與 VF 相關聯的硬體資源。
如需此程式的詳細資訊,請參閱 虛擬函式終止順序。