我们有一台 ESXi 服务器(HP-ESXi-6.0.0 build-2492585),其上有多个虚拟机,这些虚拟机表现出以下行为:
重新启动虚拟机时,它有时会丢失所有网络连接。从 vSphere 中的主机控制台访问虚拟机的命令行,您可以看到计算机保留了其网卡、网络设置等。无法在网络或网关上 ping 任何内容。我在虚拟机或主机端日志中找不到任何错误。一旦发生错误,后续重新启动似乎不会改变行为,不过,这方面只经过了轻微的测试。
我们发现解决问题的最直接方法是关闭当前的 vNIC 并添加新的 vNIC。有时只需将 vNIC 驱动程序从 VMXNET3 更改为 E1000 即可,但我最近发现更可能的“修复”是将 MAC 地址从“自动”更改为“手动”。我们确实遇到过这样的情况:删除 vNIC 并使用新适配器类型将其重新添加并不能解决问题,但更改 MAC 却可以。
我们在相同的硬件和 ESXi 版本上还有另外 3 个 ESXi 主机,其中的虚拟机没有表现出这种行为。
这发生在基于 Linux 和 Windows 操作系统的虚拟机上。
整个 VM 主机重新启动时可能会出现此问题。实际上,问题的最初表现是在 VM 主机重新启动后出现的。直到最近,我们才发现,单个 VM 重新启动或以其他方式进行电源循环时也会出现这种情况。
如果您能提供有关在日志文件中查找的位置或内容的任何见解,或者有关如何解决此问题的想法,我们将不胜感激!
答案1
由于更改 MAC 可以使网络再次工作,因此我会检查它连接到的主机的上行链路端口。
确保生成树和所有端口设置对于所有主机端口都相同。在我看来,这似乎是交换机问题,与 MAC 中毒有点关系。如果是思科交换机,我会执行 show mac address-table 来列出每个端口的 mac(如果我没记错的话)。