我遇到了一个奇怪的间歇性连接问题,大约每两周发生一次。
首先是我的配置:我正在运行一个 HyperV 故障转移群集,该群集具有两个物理主机(node01 和 node02)。这两个主机都运行 Windows Server 2008 R2 HyperV 服务器(免费版),带有 SP1。在这些主机上,我运行两个 VM,每个 VM 都运行 Windows Server 2008 R2 Web 版,带有 SP1。我的存储服务器是通过 iSCSI 连接的 Windows Storage Server 2008。这两个主机以及存储服务器都运行直接从英特尔网站下载的最新网络驱动程序。
问题在于:99.99% 的时间里,一切都运行正常。大约每两到三周一次,虚拟机会同时失去网络连接,包括传入和传出。当这种情况发生时,
- 我无法通过 RDP 连接任一虚拟机。
- 我可以通过 RDP 连接到任一主机。
- 我可以通过右键单击节点并选择“连接到虚拟机”从故障转移群集管理器连接到任一虚拟机
- 一旦我按照上述第 3 点所述连接到虚拟机,我就无法访问 LAN 上的任何网站或机器。禁用并重新启用虚拟机内的虚拟网络连接并不能解决问题。
- 如果我将虚拟机移至另一个节点,问题便会得到解决(在接下来的两周内)。
- 如果我重新启动主机并将虚拟机移回主机上,问题就可以解决(在接下来的两周内)。
- 发生这种情况时,故障转移群集不会自动对虚拟机进行故障转移。
- 任何主机或虚拟机上都没有异常事件日志条目。
这种情况已经发生过 5 次,症状与上述相同。我怀疑是网络驱动程序或网络硬件问题,但由于我已经运行了最新的驱动程序,所以我不确定该怎么做。
这真是一个令人费解的问题...有什么想法吗?
更新
我在这里发现了一个非常类似的案例:虚拟机在 Hyper V 群集上失去网络连接
2011 年 7 月 29 日更新
安装修补程序并更新网络驱动程序后,我仍然遇到相同的问题。回复询问硬件详细信息的评论,服务器是 Intel SR1670HV,这是一个 1U 机箱,包含两个独立的 S5500HV 主板。通信是通过主板的集成网卡进行的,网卡是 Intel 82574L。网络驱动程序的版本是 16.2.49.0。
答案1
我们以前也遇到过类似的问题。我不记得具体细节了,但最终的解决方案与动态分配给虚拟网络适配器的冲突 MAC 地址有关。将这些地址固定下来,使它们不是动态的,这很有帮助。通常你不想这样做,因为这会使将虚拟机移动到其他主机变得更加困难,但在这种情况下,它对我们很有帮助。
另一部分是物理网卡是由博通制造的,我们也遇到了配置错误,之前的管理员曾错误地尝试使用博通实用程序将主机上的两个网卡中继在一起,以提高带宽/吞吐量。我们删除了该设置并配置了其中一个网卡,使其在主机上根本没有 IP,但仍可用于传递到虚拟客户机。然后我们将每个虚拟机设置为仅使用一个网卡或另一个网卡,根据历史流量平衡负载。当然,这意味着如果适配器或连接断开,则不会进行故障转移,我们还没有很好地跟进以查看流量是否一直保持平衡,但自那以后它一直非常稳定。
答案2
我知道这是一个老问题,但我遇到了同样的问题,并浪费了很多时间来解决这个问题,所以我想分享对我有用的解决方案。我在这里找到了我的问题的解决方案:
http://invendows.wordpress.com/2008/03/06/network-issue-with-hyper-v/
在我的情况下,解决方案是禁用虚拟机上的 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
NIC,所以在我看来,这个问题的原因肯定与驱动程序有关,但设置DisableTaskOffload
= 1 完全解决了这个问题。希望这些信息能为其他人节省数小时的搜索时间!
答案3
我在更简单的 Hyper-V 环境中遇到过类似的事情,并在 Microsoft 上看到了这篇文章。如果 Web 服务器使用率很高,那么这篇文章似乎适合您的情况。
http://support.microsoft.com/kb/974909- 在基于 Windows Server 2008 R2 的计算机上,当传出网络流量很大时,正在运行的 Hyper-V 虚拟机的网络连接会丢失
答案4
我们也遇到过同样的问题,不过我们的情况是每 24-48 小时出现一次。我会再检查一下您的防病毒/防火墙产品是否特别支持带有 Hyper-V 的 Server 2008,如果不支持,请尝试使用其他防病毒/防火墙产品(如果可行,请暂时删除)进行测试,看看问题是否消失。
在给微软打电话并上传了几次转储/日志文件后,他们确定 TrendMicro OfficeScan 是我们遇到的问题的罪魁祸首。我们之前使用的版本在 Hyper-V 上没有明确支持,升级到最新版本后,问题就解决了。