Windows Server 2012 的 Hyper-V 网络配置是否正确?

Windows Server 2012 的 Hyper-V 网络配置是否正确?

大约一个月前,我们刚刚将第一个基于 Hyper-V 的 Web 解决方案上线(见下图)。在流量增加期间,例如在 Bing/Google/Baidu/McAfee Secure/等抓取期间,虚拟机之间会出现间歇性通信问题。该问题持续几分钟,但不是全面中断;有些请求工作正常,而其他请求则导致错误。我查看了虚拟机和主机系统上的系统日志,但没有任何迹象表明出现故障(除了 Web VM 上的一些 ASP.net ODBC 错误,因为它无法访问数据库主机)。

网络图

我们以前的设置是一台 8 年前的 Windows Server 2k3 Web 和数据库服务器,可以毫无问题地处理所有流量,但却限制了我们新的开发能力。它只有 4GB 的 RAM 和一个旧的 2GHz 双核处理器。我们的新服务器有 32GB 的 RAM 和一个四核 3.4GHz Xeon。当一切正常时,硬件会把旧东西打得落花流水。页面加载速度更快,查询运行速度更快,等等。

我唯一能想到的就是,由于 DB 和 Web 位于不同的 VM 上但共享同一个虚拟网络,因此适配器上的流量基本上翻倍了,或者我们的 Hyper-V 网络配置方式可能有问题。

有一个设置为外部的共享虚拟交换机。我们使用硬件防火墙来阻止通向外部世界的端口。我已附上网络适配器和当前虚拟交换机设置的屏幕截图。

我不确定应该在主机和虚拟机上启用/禁用哪些属性。机器有 2 个网卡,但目前所有设置都在一个端口上。建议将一个端口用于管理员,另一个端口用于虚拟交换机,我确信这会提高我们登录到机器时的性能,但我不确定这是否能解决当前的问题。

有人能提供关于主机和虚拟机上的 Nic 属性应该是什么样子的指导吗,或者指导我进行调整以提高网络性能?

网络适​​配器

在此处输入图片描述

答案1

除了 Bartłomiej 的回答之外,我还建议将团队负载平衡模式更改为 Hyper-V 端口,并将团队中的两个适配器都设置为活动状态:

在此处输入图片描述

这样,您就可以积极地利用团队中的两个适配器。

答案2

我建议从 powershell 而不是 GUI 设置所有 Hyper-V 主机网络。GUI 无法提供您想要的那么多控制。

  1. 清除您创建的所有 VMswitches/VMAdapters。物理网络适配器应该是 Hyper-V 主机上 ipconfig 中唯一可见的适配器(隧道适配器除外)。
  2. 将物理适配器重命名为例如“Gi1”和“Gi2”(稍后会更清楚地了解是什么)
    • 检查卡名称 - 可能是“以太网 2”之类的名称:Get-NetAdapter
    • 重命名:Rename-NetAdapter“旧名称1”“Gi1”
    • 重命名第二个:Rename-NetAdapter“Old name2”“Gi2”
  3. 创建一个 switch 独立团队并检查它

    • New-NetLbfoTeam -名称 Team1 -团队成员 Gi1,Gi2
    • 检查它 - 默认应该设置一个 switchindependent Team。
     PS C:\> Get-NetLbfoTeam Team1
    
     Name                   : Team1  
     Members                : {Gi2, Gi1}  
     TeamNics               : Team1  
     TeamingMode            : SwitchIndependent  
     LoadBalancingAlgorithm : TransportPorts  
     Status                 : Up  
    
    • 您应该不再能在 ipconfig 中看到 Gi1、Gi2 - 而只会看到 Team1 作为 IP 接口。
  4. 创建一个 VMswitch 并与 Team1 连接。
    • New-VMSwitch-名称VMSwitch1-NetAdapterNameTeam1
    • 完成该步骤后,检查 ipconfig。您将不再看到 Team1,而是 VMswitch1 作为 Hyper-V 主机的 IP 接口。
  5. 创建用于管理的虚拟网络适配器并将其连接到 Vmswitch1
    • 添加 VMNetworkAdapter -ManagementOS -VMNetworkAdapterName 管理 -SwitchName VMswitch1
    • 您现在应该在 ipconfig 中看到“以太网适配器 vEthernet(管理):...”
  6. 将虚拟机网络适配器连接到 VMSwitch1。这可以通过 GUI 完成。
  7. 最终效果一目了然:
    最终效果
  8. 更多调整 - 但你应该保留所有默认设置:
    • 看看Get-NetAdapterAdvancedProperty
  9. 或者也许这不是网络性能问题?
    • 您用于数据库的 VHD / VHDX 类型是什么?动态?固定?
    • 集成工具是否已安装/完全更新?

相关内容