Hyper-V 主機上或每個虛擬機器內的 NIC 組合?

Hyper-V 主機上或每個虛擬機器內的 NIC 組合?

我在 Dell T620 上安裝了 Windows Server 2016 Datacenter,然後安裝了 Hyper-V 角色。接下來,我建立了一個由 2 個實體 1Gbps 網路介面卡組成的 NIC 團隊。團隊稱為 LANTeam。設定為:分組模式 - 獨立於交換器、負載平衡模式 - 動態、備用適配器 - 無(所有適配器均處於活動狀態)

在此伺服器的網路連線控制面板中,我看到了所有實體網卡,現在還看到了一個名為「LANTeam」的連線。這是連接的名稱,但裝置名稱是“Microsoft 網路適配器多工器驅動程式”

如果我雙擊該網路連接,它會顯示 2.0 Gbps 的速度,這是有道理的,因為這是組合在一起的 2 x 1 Gbps 連接。

這對我來說事情變得有點陰暗:

我開啟 Hyper-V 管理員並點擊虛擬交換器管理員。我建立一個新的虛擬交換器(外部)並從下拉清單中選擇“Microsoft 網路適配器多工器驅動程式”。

我將此交換器命名為“LAN vSwitch”

接下來,我創建我的第一個虛擬機器。在其“屬性”視窗中,我從下拉清單中選擇“LAN vSwitch”。

當我啟動此虛擬機器(我安裝了 Windows 2016 Server)時,請前往網路連線並雙擊一個(也是唯一的)網路介面卡(稱為“乙太網路”,它顯示速度僅為 1.0Gbps。

為什麼不是2.0Gbps?我的目標是創建一些虛擬機,所有虛擬機都具有 2.0Gbps 乙太網路連接。

答案1

您看到的差異僅在於報告的 NIC 速度。首先是一些背景:

當 Windows 告訴您分組的 NIC 正在以 2Gbps 運行時,它有點撒謊,因為這並不是分組或綁定的真正工作原理。使用分組,您可以對兩個 NIC 之間的離散連接進行負載平衡。單一連線只能使單一 NIC 飽和。分組僅在處理多個網路端點時才有效,因此通常是在 VM 主機上建立的好選擇。在虛擬機器內而不是在主機上建立聯繫或團隊可能會在各種平台上產生奇怪的後果,如果可以的話,您應該避免這樣做。一般來說,最好將綁定放在可以獲得最多連接的位置,並且通常盡可能靠近網路主幹。

回到虛擬機器內的速度報告問題——這不是說謊。您已將 1Gbps NIC 插入主機並加入為實例提供網路的 vswitch。這會將整個 vswitch 的速度降低至 1Gbps,這是 HyperV 的已知流量控制限制。 vswitch 忽略報告的綁定容量,因為這對流量控制並不重要。您仍然可以從主機推送總共 2 Gbps 的數據,但不能推送到任何虛擬機器。

如果您仍然希望虛擬機器之間的主機系統匯流排速度網絡,您可以建立一個「空」vswitch,它不會連接到任何類型的實體網卡,而僅連接到每個虛擬機器和主機。如果您有大量虛擬機間東西向流量,這會很有用。

基於上面的範例,您可以透過在虛擬機器管理程式處終止第 2 層來幾乎完全解決此問題。您可以將所有虛擬機器連接到該空 vswitch,從而實現總線速度通訊。建立之後,您可以使用 hyperv 主機作為網關,將第 3 層流量從完全虛擬 vswitch 路由到主機上的第 3 層尋址群組。這會帶來一些網路複雜性,例如需要連接埠轉送和使用 NAT。然而,hyperv 對此有非常友好的控制。

相關內容