Hyper-V 網路適配器:什麼、為什麼以及如何

先前的博客文章介紹了如何建立 Hyper-V 虛擬機器(VM)。然而,建立 Hyper-V VM 僅僅是構建大規模虛擬環境的第一步;之後,您需要確保在 Hyper-V 主機上運行的 VM 能夠彼此通信。為此,您需要了解 Hyper-V 網絡適配器、Hyper-V 網絡背後的技術,以及如何配置 Hyper-V 網絡。

關於 Hyper-V 網絡

A virtual network adapter (also known as virtual NIC) can be regarded as a virtualized version of a physical network adapter. It is used in Hyper-V environments to connect a physical server with other servers, VMs, or any other networking devices over a LAN connection. In short, vNIC enables and manages all network communications.

每個 VM 都有一個或多個 vNIC,提供連接到單個子網的功能。但是,您可以為該網卡分配額外的 IP 地址,以便訪問多個子網。

當您在計算機上安裝 Hyper-V 角色並開始創建新的 VM 時,您需要了解默認存在的網絡配置。

  1. 較早的 Windows 版本(Windows 10 之前)沒有虛擬交換機。但是,當您在 Windows 10 上啟用 Hyper-V 時,您可以使用默認交換機進行無縫網絡連接,因為它提供對主機網絡的訪問。
  2. Hyper-V 虛擬網絡適配器通過虛擬交換機使 VM 之間能夠通信。然而,新創建的 VM 沒有任何虛擬交換機分配給它們。每個新 VM 都有一個網絡適配器,可以通過分配單個虛擬交換機來配置,或者您可以將其保持未連接。因此,為了啟用網絡連通性,您需要創建一個虛擬交換機並配置虛擬網絡適配器。

有三個虛擬開關提供不同級別的網路連通性:

  • 外部虛擬開關可以連接到物理網路適配器,使虛擬機器能夠訪問物理網路。外部虛擬開關允許虛擬機器在同一台物理計算機上進行通信,虛擬機器和物理計算機之間進行通信,以及允許虛擬機器訪問物理網路。
  • 內部虛擬開關允許在同一台 Hyper-V 伺服器上運行的虛擬機器之間進行通信,以及與管理作業系統之間進行通信。然而,這種類型的開關不提供對物理網路的訪問。
  • A private virtual switch only ensures connectivity between the VMs that run on the same Hyper-V host. This type of network provides an isolated mode of network connectivity.

另一個值得一提的是 VLAN 標記,這是一種將特定標記(VLAN ID)分配給運行在網路上的每個封包的方法。VLAN 標記簡化了識別哪些資訊封包屬於特定 VLAN 的過程。因此,這種方法允許您隔離網路流量,並確保網路通信不受干擾。

在 Hyper-V 中的虛擬網路適配器可以是兩種類型:

  • 傳統網路適配器模擬物理網路適配器,僅與第一代虛擬機器兼容。這種類型的網路適配器用於不支持 Hyper-V Integration Services 或 Linux Integration Services 的未啟用的客戶端虛擬機器。在單個虛擬機器上最多可以部署 4 個傳統 vNIC。此外,傳統網路適配器用於啟用不受 Hyper-V 支持的客戶端作業系統之間的通信。傳統 vNIC 可以執行基於網路的客戶端作業系統安裝。
  • 合成網絡適配器用於提供支援 Hyper-V Integration Services 或 Linux Integration Services 的啟發式客戶端 VM。單個 VM 可部署高達 8 個合成 vNIC。它們通常比傳統的 vNIC 提供更好的性能。在這種情況下,網絡連接是通過 VMBus 啟用的,VMBus 在不同分割區之間提供並控制通信。此外,使用此類型的網絡適配器,您可以使用 VLAN 標記。

如何在 Hyper-V 管理員中設置虛擬網絡適配器

有兩種方法可以啟用和配置 Hyper-V 網絡適配器:在 Hyper-V 管理員中使用圖形用戶界面(GUI),或者在 PowerShell 中運行 PowerShell 腳本。我們將詳細討論它們。現在,讓我們從前一種方法開始:

  1. 打開 Hyper-V 管理員。
  2. 找到要添加 Hyper-V 網絡適配器的 VM,並右鍵單擊 VM 名稱。選擇設置。
  3. 新菜單將打開,提供有關 VM 設置的信息。在硬件部分,選擇添加硬件以查看可以添加到您的 VM 的設備列表。

    在我們的情況下,我們只對兩個選項感興趣:網絡適配器傳統網絡適配器 (僅適用於第一代 VM)。選擇您需要的網絡適配器,然後單擊添加

  4. 您將被重定向到網路介面卡部分,在這裡您可以通過選擇要連接到的虛擬交換機,啟用 VLAN 識別並指定 VLAN ID,以及指定帶寬使用的最大和最小量來配置新的 Hyper-V 網路介面卡。

    您還可以點擊移除來移除 Hyper-V 網路介面卡。

  5. 點擊套用以保存更改。

此外,在 Hyper-V 管理員中,您可以修改硬件加速設置並啟用更高級的功能。

  1. 在硬件部分下雙擊網絡適配器。選擇硬件加速。在這裡,您可以啟用虛擬機隊列(VMQ)和IPsec任務卸載,並指定卸載SA(安全關聯)的最大數量。

    Hyper-V虛擬機隊列是一種硬件虛擬化技術,可以確保將網絡數據直接傳輸到虛擬機共享內存。IPsec是用於加密網絡數據交換的安全協議。

    啟用IPsec任務卸載後,您可以將IPsec相關任務卸載到網絡適配器,以避免過度使用硬件資源。

  2. 點擊應用以保存更改。
  3. 然後,選擇進階功能以設定虛擬網路適配器上的進階功能。它們包括 MAC 地址、DHCP 保護、路由器保護、受保護的網路、端口鏡像和網路介面卡 (NIC) 集團化。每個功能都附有一個簡短的描述,說明它如何使用。閱讀它們,然後決定應該啟用哪些功能。
  4. 勾選所需的方塊,然後點擊應用以保存更改。

使用 PowerShell 管理 Hyper-V 網路適配器

如您所見,在 Hyper-V 管理員中的配置選項相當有限。此外,通過使用 GUI,您只能為客戶 VM 設置 Hyper-V 網路適配器,而不能為管理 OS 設置。出於這個原因,可以使用 PowerShell 提供更多高級功能和多個配置選項。讓我們看看如何在 PowerShell 中管理 Hyper-V 網路適配器。

創建 Hyper-V 網路適配器

請注意,為了使 PowerShell 命令列正常工作,您需要以管理員模式運行 PowerShell。要做到這一點,請在搜尋欄中輸入PowerShell,右鍵單擊 PowerShell 圖示,然後選擇以系統管理員身份運行。

插入Add-VMNetworkAdapter命令列以將新的虛擬網路適配器添加到 Hyper-V VM。以下是您可以使用此命令列的示例:

Add-VMNetworkAdapter -VMName DemoVM -SwitchName DemoVSwitch –Name ‘Demo Network Adapter’

以下示例演示了如何在管理操作系统中添加第二个虚拟网络适配器:

Add-VMNetworkAdapter -ManagementOS -Name ‘Second Network Adapter’

连接或断开 Hyper-V 网络适配器

Connect-VMNetworkAdapter cmdlet 允许您将虚拟网络适配器连接到您选择的虚拟交换机。以下示例演示了如何同时将一个虚拟交换机(默认交换机)添加到两个 VM(DemoVM 和 New Virtual Machine)。确保两个 VM 都不处于运行状态。

Connect-VMNetworkAdapter -VMName DemoVM, ‘New Virtual Machine’ -SwitchName ‘Default Switch’

要从虚拟交换机或以太网资源池中断开 Hyper-V 网络适配器,可以使用 Disconnect-VMNetworkAdapter cmdlet。以下脚本允许您从名为 DemoVM 的单个 VM 中断开所有网络适配器:

Disconnect-VMNetworkAdapter -VMName DemoVM

此 PowerShell 脚本可用于断开连接到 Hyper-V 环境中所有 VM 中名为 Default Switch 的虚拟交换机的所有虚拟网络适配器。

Get-VMNetworkAdapter -VMName *| Where-Object {$_.SwitchName -eq 'Default Switch'} | Disconnect-VMNetworkAdapter

使用 PowerShell,您可以在配置中更加精确。如果要断开连接到特定 VM(DemoVM)上运行的特定虚拟交换机(Default Switch)的所有网络适配器,请使用下面的 cmdlet:

Get-VMNetworkAdapter -VMName DemoVM | Where-Object {$_.SwitchName -eq 'Default Switch'} | Disconnect-VMNetworkAdapter

獲取 Hyper-V 網絡適配器

這些 PowerShell 腳本可用於訪問特定 VM 上存在的虛擬網絡適配器的信息,管理 OS 上的虛擬網絡適配器,或者在虛擬環境中運行的所有 VM 以及管理 OS。以下是所有的 cmdlet:

  • 對於單個 VM:

Get-VMNetworkAdapter –VMName DemoVM

  • 對於管理 OS:

Get-VMNetworkAdapter -ManagementOS

  • 對於 Hyper-V 環境中的所有 VM,包括管理 OS:

Get-VMNetworkAdapter -All

如果最終腳本正確實施,您將看到包含有關您的 Hyper-V 網絡適配器的信息的屏幕:

移除 Hyper-V 網絡適配器

此 cmdlet 用於從 VM 中刪除一個或多個虛擬網絡適配器,以及從管理 OS 中刪除。

在下面的示例中,從名為 DemoVM 的 VM 中刪除網絡適配器 NewNetworkAdapter DemoVM:

Remove-VMNetworkAdapter -VMName DemoVM -VMNetworkAdapterName NewNetworkAdapter

下面的示例顯示了如何從管理 OS 中刪除網絡適配器 Secondary:

Remove-VMNetworkAdapter -ManagementOs -Name Secondary

重命名 Hyper-V 網絡適配器

你也可以重新命名特定虛擬機器或管理 OS 上的 Hyper-V 網路適配器:

Rename-VMNetworkAdapter -VMName DemoVM -NewName ‘網路適配器 2019’

在 Hyper-V 管理員中,你可以驗證已成功將名為 DemoVM 的虛擬機器的所有網路適配器重新命名。

要為特定虛擬機器(DemoVM)的網路適配器(網路適配器 2019)重新命名,運行以下腳本:

Rename-VMNetworkAdapter -VMName DemoVM -Name ‘網路適配器 2019’ -NewName ‘Hyper-V 網路適配器’

下一個 cmdlet 可以幫助您重新命名管理 OS 的網路適配器。

Rename-VMNetworkAdapter -ManagementOs -Name Adapter -NewName ‘通訊通道’

設置 Hyper-V 網路適配器

本節列出了各種 cmdlet,可用於配置 Hyper-V 虛擬機器或管理 OS 中的 Hyper-V 網路適配器的功能。將所有配置選項深入探索可能需要很多時間。因此,我們只會討論通過 PowerShell 可啟用的一些功能。

例如,你可以運行下面的腳本來啟用 DHCP Guard。DHCP Guard 用於保護系統免受來自客戶 OS 的未經授權訪問。

Set-VMNetworkAdapter -VMName DemoVM -DhcpGuard On

此外,您可以啟用 Port Mirroring,這將允許您複製一個虛擬網絡適配器的網絡封包並將其發送到另一個適配器。有兩種鏡像模式:來源和目的地。通過選擇來源模式,我們同意將此特定網絡適配器的網絡流量複製並發送到監控 VM。該 VM 的網絡適配器將被分配目的地鏡像模式。請注意,為了使此功能正常工作,每個來源網絡適配器都應分配一個目的地網絡適配器。

要在來源模式下啟用 Port Mirroring,運行以下腳本:

Set-VMNetworkAdapter -VMName DemoVM –Name ‘Hyper-V network adapter’-PortMirroring Source

此 cmdlet 將在名為 DemoVM 的 VM 上啟用 Port Mirroring 功能,並將其虛擬網絡適配器分配為來源角色。

在以下示例中,名為 Monitoring 的虛擬網絡適配器被配置為鏡像的目的地。因此,名為 ‘New Virtual Machine’(目的地)的 VM 將監控名為 ‘DemoVM’(來源)的 VM 的所有網絡流量。

Set-VMNetworkAdapter -VMName ‘New Virtual Machine’-Name Monitoring -PortMirroring Destination

以下 cmdlet 可用於啟用 VLAN 識別以及分配特定的 VLAN ID:

Set-VMNetworkAdapterVlan -VMName DemoVM -VMNetworkAdapterName ‘Hyper-V network adapter’ -Access -VlanId 20

啟用特定的 Hyper-V 網路適配器(Hyper-V 網路適配器)上的 VLAN 標記,該適配器連接到某個 VM(DemoVM)

。或者,如果您想要停用 VLAN 標記,請輸入以下命令:

Set-VMNetworkAdapterVlan -VMName DemoVM -VMNetworkAdapterName ‘Hyper-V 網路適配器’ -Untagged

PowerShell 命令的主要優勢在於您可以根據需要任意排列它們並創建全面的腳本。有了它們的幫助,您可以大幅優化管理和配置 Hyper-V 環境的過程。

如何使用 NAKIVO 備份與復原保護 Hyper-V 環境

NAKIVO 備份與復原是一個可靠且具有成本效益的解決方案,可以全天候保護您的虛擬環境,同時確保您最敏感的數據和關鍵應用程序在災難情況下能夠快速恢復。NAKIVO 備份與復原包含一套全面的工具,可以實現快速高效的備份、複製系統恢復

有了這個解決方案,您可以顯著改善備份和複製作業的性能,特別是通過優化基礎設施內的網絡操作。為此,NAKIVO 備份與復原提供以下功能:

  • 網路加速運用了流量減少和數據壓縮工具,使您可以顯著減少在廣域網上傳輸的數據量。這些結果是通過兩個傳輸器的使用實現的,這兩個傳輸器安裝在源站點和目標站點。源站點的傳輸器在將VM數據發送到網絡之前對其進行壓縮,而目標站點的傳輸器則對接收到的數據進行解壓縮。因此,可以顯著提高VM備份和複製作業的速度,並減輕網絡負載。
  • 高級帶寬節流允許您設置數據傳輸速度限制,以定義特定數據保護作業可以使用多少帶寬。為此,您需要創建全局或每個作業的規則,這些規則將控制在備份操作期間消耗多少帶寬。這些規則可以應用於不同的數據保護作業和不同的時間表。有了這個功能,您可以確保即使在工作時間,您的網絡也不會過載。
  • 網路映射和重新IP在複製、故障轉移和站點恢復工作中使用,當來源站點和目標站點連接到不同的網路並且具有不同的IP地址時。為了在災難恢復期間避免任何問題,您需要創建網路映射和重新IP規則。這些規則確保來源虛擬網路可以映射到適當的目標虛擬網路,同時在災難恢復事件期間,來源IP地址可以映射到目標IP地址。這些功能使您能夠有效地優化和自動化網路配置的過程。

Source:
https://www.nakivo.com/blog/hyper-v-network-adapters-what-why-and-how/