为什么我的 HyperV 虚拟机会随机失去连接?

Mik*_*ike 10 networking failover hyper-v hyper-v-server-2008-r2 failovercluster

我有一个奇怪的间歇性连接问题,大约每两周发生一次。

首先是我的配置:我正在运行一个带有两个物理主机(node01 和 node02)的 HyperV 故障转移集群。主机都运行带有 SP1 的 Windows Server 2008 R2 HyperV 服务器(免费的)。在这些主机上,我运行了两个 VM,每个 VM 都运行带有 SP1 的 Windows Server 2008 R2 Web 版。我的存储服务器是通过 iSCSI 连接的 Windows Storage Server 2008。主机和存储服务器都运行直接从英特尔网站下载的最新网络驱动程序。

问题是:在 99.99% 的情况下,一切正常。大约每两到三周一次,VM 将同时失去传入和传出的网络连接。当这个情况发生时,

  1. 我无法 RDP 到任一 VM。
  2. 我可以 RDP 到任一主机。
  3. 我可以通过右键单击节点并选择“连接到虚拟机”从故障转移群集管理器连接到任一 VM
  4. 一旦我按照上面 #3 中的描述连接到 VM,我就无法访问 LAN 上的任何网站或机器。禁用并重新启用 VM 内的虚拟网络连接并不能解决问题。
  5. 如果我将 VM 移动到不同的节点,就可以解决问题(在接下来的两周内)。
  6. 如果我重新启动主机并将 VM 移回主机上,就可以解决问题(在接下来的两周内)。
  7. 发生这种情况时,故障转移群集不会自动对 VM 进行故障转移。
  8. 任何主机或 VM 上都没有异常事件日志条目。

这种情况已经发生了大约 5 次,症状与上述相同。我怀疑是网络驱动程序或网络硬件问题,但由于我已经在运行最新的驱动程序,我不知道该怎么办。

这真是令人头疼……有什么想法吗?

更新

我在这里发现了一个非常相似的案例:虚拟机失去了 Hyper V 集群上的网络连接

2011 年 7 月 29 日更新

安装修补程序和更新网络驱动程序后,我仍然遇到同样的问题。针对询问硬件细节的评论,服务器为Intel SR1670HV,1U机箱,包含两块独立的S5500HV主板。通信是通过主板的集成 NIC 进行的,这些 NIC 是 Intel 82574L。网络驱动程序版本为 16.2.49.0。

Joe*_*oel 8

我们曾经在我所在的地方遇到过这样的问题。我不记得确切的细节,但最终的解决方案与动态分配给虚拟网络适配器的冲突 mac 地址有关。将它们固定下来使它们不是动态的有很大帮助。您通常不想这样做,因为它会使将虚拟机移动到不同的主机变得更加困难,但它在这种情况下帮助了我们。

另一部分是物理网卡是由博通制造的,我们在那里也有一个配置错误,以前的管理员错误地尝试使用博通实用程序将两个网卡在主机上中继在一起,以提高带宽/吞吐量。我们删除了该设置并配置了其中一个网卡,因此它在主机上根本没有 IP,但仍可用于传递到虚拟来宾。然后我们将每个虚拟机设置为仅使用一个 nic 或另一个,根据历史流量平衡负载。当然,这意味着如果适配器或连接出现故障,则不会进行故障转移,而且我们没有很好地跟踪流量是否随着时间的推移保持平衡,但从那时起它一直非常稳定。


小智 5

我知道这是一个老问题,但我遇到了同样的问题并浪费了很多时间来解决它,我想我会分享对我有用的解决方案。我在这里找到了解决我的问题的方法:

http://invendows.wordpress.com/2008/03/06/network-issue-with-hyper-v/

在我的情况下,解决方案是在 VM 上禁用 TCP 卸载。我将从链接中引用相关部分:

为了禁用 TCP 卸载,我必须在连接到 Broadcom 8507 Nextreme II NIC 的每个 VM 中创建并设置一个新的注册表值。

我使用以下注册表更改来禁用 TCP 卸载:

键:HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

值(DWORD):DisableTaskOffload = 1

以这种方式在每个 VM 上禁用 TCP 卸载后,所有麻烦都解决了,我能够将多个 VM 连接到 Broadcom 5708 Nextreme II NIC 的一个 NIC 端口。

我的服务器有Broadcom NetExtreme网卡,所以在我看来,这个问题的原因肯定与驱动程序有关,但设置DisableTaskOffload= 1 完全解决了我的问题。希望这些信息可以为其他人节省数小时的搜索时间!


Mik*_*ike 2

事实证明这是一个硬件问题 - 我将问题排除在 Netgear GSM7224v2 托管交换机上,并将其替换为 D-Link DGS-1024D,从那时起一切都工作正常。

作为“经验教训”,在这种情况下,我可能花费了 99% 的诊断工作来对软件设置进行故障排除,结果发现是硬件问题。我什至支付了 Microsoft 支持 259 美元(并花了很多时间与他们通电话),通过查看软件设置来帮助我解决这个问题。我想这个故事的寓意是要像怀疑你的软件一样怀疑你的硬件。