我们有一个非常好的硬件设置为在 vmware 中运行多个虚拟机,其中一个 vm 是运行 SQL Server 2005 的 Windows Server 2003 实例。出于某种原因,我们偶尔会看到 10-20 秒的直接数据包丢失来自远程机器(我的工作站)的机器以及同一物理硬件上的其他虚拟机。我正在使用 PingPlotter 密切关注数据包丢失。
到目前为止,我们已经关闭了 NIC 上的流量控制,但我们已经没有其他东西可以尝试了。可能是什么原因造成的,我该如何识别问题?
注意:我们还有另一台配置非常相似的服务器,但在较小程度上存在相同类型的问题(因为它没有被大量使用?)
有趣的。首先,让我们确定一些细节......
您有一个运行多个虚拟机的 ESX 主机,对吗?
您将其中一台虚拟机用作 Windows 2003 服务器。
您说当您从“远程”机器向该 VM 运行 ping 时,您会看到 10-20 秒的数据包丢失。
好的,直接的问题:
1) 从该主机上运行的其他 VM 之一进行 ping 操作时是否会发生数据包丢失?
2) 当您从网络上的相同位置以相同方式 ping 它们时,该主机(或主机本身)上的任何其他虚拟机是否显示相同的行为?
3) 是否有任何其他 VM 运行与显示该行为的 VM 相同的操作系统?
4) 是否有任何时序模式?它每5分钟发生一次吗?是不是每隔这么多包。您是否总是丢失相同数量的数据包?
5) 当您进入 vSphere 控制台时,您是否看到任何与您的 ping 丢失时间相匹配的性能图表变化?
6) 虚拟机上是否安装了 VMware 工具并且是最新的?
安装/重新安装 VMware Tools。
检查 VMware 服务器上的负载(CPU、中断、网络流量)。
检查主机/硬件。您说您使用 VmWare - 但不是服务器或 esx。无论如何,可能是硬件或相关问题(驱动程序版本等)。
当我开始使用 Hyper-V 时,我在某些机器上遇到了同样的问题。原来是一个糟糕的驱动程序+损坏的 TCP 卸载(在驱动程序中)。其中一些只是实施得很糟糕。放入英特尔网卡,一切正常。
看看你的存储。高写入队列可能会导致高延迟,这可能会出现您所描述的症状。
我有完全相同的问题。通过将有问题的 vm 带到不同的 vmfs/storage 解决了这个问题。