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 都有一个或多个 vNICs,提供连接到单个子网的功能。但是,你可以为该网卡分配额外的 IP 地址,以访问多个子网。

当你在计算机上安装 Hyper-V 角色并开始创建新的 VM 时,你需要了解默认情况下存在的网络配置。

  1. 早期的 Windows 版本(在 Windows 10 之前)没有虚拟交换机。但是,当你在 Windows 10 上启用 Hyper-V 时,你可以使用默认交换机进行无缝网络连接,因为它提供了对主机网络的访问。
  2. Hyper-V 虚拟网络适配器通过虚拟交换机实现 VM 之间的通信。然而,新创建的 VM 没有任何分配给它们的虚拟交换机。每个新 VM 都有一个网络适配器,可以通过分配一个单一的虚拟交换机来配置,或者你可以将其保持未连接状态。因此,要启用网络连接,你需要创建一个虚拟交换机并配置一个虚拟网络适配器。

有三个虚拟开关提供不同级别的网络连接:

  • 外部虚拟开关可以连接到物理网络适配器,允许虚拟机访问物理网络。外部虚拟开关实现了同一台物理计算机上的虚拟机之间的通信,虚拟机和物理计算机之间的通信,以及允许虚拟机访问物理网络。
  • 内部虚拟开关允许同一台 Hyper-V 服务器上运行的虚拟机之间的通信,以及这些虚拟机与管理 OS 之间的通信。然而,这种类型的开关不提供对物理网络的访问。
  • 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 集成服务或 Linux 集成服务的未启用的客户虚拟机。每个虚拟机可以部署最多 4 个传统 vNiC。此外,传统网络适配器用于启用不受 Hyper-V 支持的客户操作系统之间的通信。传统 vNiC 可以执行基于网络的客户操作系统安装。
  • 合成网络适配器用于启用 Enlightened Guest VM,提供对 Hyper-V 集成服务或 Linux 集成服务的支持。单个 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任务卸载,以及指定Offloaded SA(安全关联)的最大数量。

    Hyper-V虚拟机队列是一种硬件虚拟化技术,可确保直接将网络数据传输到VM共享内存。IPsec是用于加密网络数据交换的安全协议。

    启用IPsec任务卸载后,您可以将与IPsec相关的任务卸载到网络适配器,以免过度使用硬件资源。

  2. 点击应用保存更改。
  3. 然后,选择高级功能来设置虚拟网络适配器上的高级功能。它们包括MAC地址、DHCP保护、路由器保护、受保护网络、端口镜像和NIC团队。每个功能都附有一个简短的描述,说明它的用途。阅读它们并决定应该启用哪些功能。
  4. 勾选所需的框,并单击应用保存更改。

使用PowerShell管理Hyper-V网络适配器

可以看到,Hyper-V管理器中的配置选项相当有限。此外,通过使用GUI,您只能为客户VM设置Hyper-V网络适配器,而不能为管理操作系统设置。因此,可以使用PowerShell提供更高级的功能和多个配置选项。让我们看看如何在PowerShell中管理Hyper-V网络适配器。

创建Hyper-V网络适配器

请注意,为了使PowerShell cmdlet正常工作,您需要以管理员模式运行PowerShell。要做到这一点,输入PowerShell在搜索栏中,右键单击PowerShell图标,然后选择以管理员身份运行。

插入Add-VMNetworkAdapter cmdlet以向Hyper-V VM添加新的虚拟网络适配器。以下是您可以使用此cmdlet的示例:

Add-VMNetworkAdapter -VMName DemoVM -SwitchName DemoVSwitch -Name ‘演示网络适配器’

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

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)上运行的特定虚拟交换机(默认交换机)的所有网络适配器,请使用以下 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:

Remove-VMNetworkAdapter -VMName DemoVM -VMNetworkAdapterName NewNetworkAdapter

下面的示例显示了如何从管理 OS 中删除网络适配器 Secondary:

Remove-VMNetworkAdapter -ManagementOs -Name Secondary

重命名 Hyper-V 网络适配器

您可以为特定虚拟机或管理操作系统中的 Hyper-V 网络适配器重新命名:

Rename-VMNetworkAdapter -VMName DemoVM -NewName ‘Network Adapter 2019’

在 Hyper-V 管理器中,您可以验证名为DemoVM的虚拟机的所有网络适配器已成功重命名。

要为特定虚拟机(DemoVM)的网络适配器(Network Adapter 2019)赋予新名称,请运行以下脚本:

Rename-VMNetworkAdapter -VMName DemoVM -Name ‘Network Adapter 2019’ -NewName ‘Hyper-V 网络适配器’

下一个 cmdlet 可帮助您重命名管理操作系统的网络适配器。

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

设置 Hyper-V 网络适配器

本节列出了各种 cmdlet,可用于配置 Hyper-V 虚拟机或管理操作系统中 Hyper-V 网络适配器的功能。深入探讨所有配置选项可能需要很长时间。因此,我们仅讨论几个可以通过 PowerShell 启用的功能。

例如,您可以通过运行以下脚本启用 DHCP Guard。DHCP Guard 用于保护系统免受来自客户操作系统方面的未经授权访问。

Set-VMNetworkAdapter -VMName DemoVM -DhcpGuard On

此外,您可以启用端口镜像,它允许您复制一个虚拟网络适配器的网络数据包并将其发送到另一个虚拟网络适配器。有两种镜像模式:源模式和目标模式。通过选择源模式,我们同意将此特定网络适配器的网络流量复制并发送到监控虚拟机。该虚拟机的网络适配器将被分配为目标镜像模式。请注意,每个源网络适配器都应分配一个目标网络适配器,以使此功能正常工作。

要在源模式下启用端口镜像,请运行以下脚本:

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

此 cmdlet 将在名为 DemoVM 的 VM 上启用端口镜像功能,并将其虚拟网络适配器分配为源。

在以下示例中,名为 Monitoring 的虚拟网络适配器被配置为端口镜像的目标点。因此,一个名为 DemoVM(“源”)的 VM 将监视名为“New Virtual Machine”(目标)的 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 标记,该适配器连接到某个虚拟机(DemoVM)。

或者,如果您想要禁用 VLAN 标记,请键入以下命令:

Set-VMNetworkAdapterVlan -VMName DemoVM -VMNetworkAdapterName ‘Hyper-V 网络适配器’ -Untagged

PowerShell 命令的主要优势在于您可以自由地组织它们,并创建全面的脚本。借助它们的帮助,您可以极大地优化管理和配置 Hyper-V 环境的过程。

如何使用 NAKIVO 备份与复制保护 Hyper-V 环境

NAKIVO 备份与复制是一种可靠且具有成本效益的解决方案,可以在确保您最敏感的数据和关键应用即使在灾难发生时也能迅速恢复的同时,为您的虚拟环境提供 24/7 的保护。NAKIVO 备份与复制包含一套全面的工具,可以实现快速高效的备份、复制系统恢复

通过这种解决方案,您可以显著提高备份和复制作业的性能,特别是通过优化基础架构内的网络操作。为此,NAKIVO 备份与复制提供以下功能:

  • 网络加速应用了流量减少和数据压缩工具,可以显著减少在广域网上传输的数据量。这样的结果是通过在源站点和目标站点安装两个Transporter实现的。源站点的Transporter在将VM数据发送到网络之前对其进行压缩,而目标站点的Transporter则对接收到的数据进行解压缩。因此,VM备份和复制作业的速度可以大幅提高,并且网络负载可以降低。
  • 高级带宽限速允许您设置数据传输速度限制,以定义特定数据保护作业可以使用多少带宽。为此,您需要创建全局或每个作业规则,以控制在备份操作期间使用了多少带宽。这些规则可以应用于不同的数据保护作业和不同的计划中。有了这个功能,您可以确保即使在工作时间,您的网络也不会被过载。
  • 网络映射和重新 IP 在复制、故障转移和站点恢复任务中使用,当源站点和目标站点连接到不同网络并具有不同的 IP 地址时。为了在灾难恢复过程中避免任何问题,您需要创建网络映射和重新 IP 规则。这些规则确保源虚拟网络可以映射到适当的目标虚拟网络,同时在灾难恢复事件期间,源 IP 地址可以映射到目标 IP 地址。这些功能使您能够有效地优化和自动化网络配置过程。

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