我在 VMWare ESXi 主机上有两个虚拟机。我想从旧服务器 (Windows Server 2008 x64) 中删除一个外部 IP(用于我们要移动到新服务器的 IIS 中的站点),并将其分配给新服务器 (Windows Server 2008 Web R2 x64)。过去,这很容易实现,只需从旧服务器中删除 IP、关闭它、将其分配给新服务器,然后重新启动它即可。但是,我对这种配置没有任何运气,我不知道这是 Win2008 的问题,还是 VMWare ESXi 的问题,或者两者兼而有之:
- vSphere Client 指示新服务器上的 IP 地址正确(而旧服务器上的 IP 地址不正确)。
- 新服务器有 IP 地址
- IIS 中的绑定正确
- 所有相关机器均已重新启动。
但仍然:
- 指向相关 IP 地址的任何主机头都会超时。
- 任何指向新服务器上不同外部 IP 的主机头都可以顺利解析。
- 在同一个网络上(来自另一台服务器),指向相关 IP 的主机头可以正常解析!
我感到很困惑!这就像是一个缓存问题,但 DNS 缓存不是问题,配置也不是问题(因为适用于不同的 IP 或来自同一网络上的服务器)。总而言之,来自外部的请求仍然看起来像是在尝试联系旧服务器,即使 IP 地址相同,它现在在不同的服务器上(并且旧服务器已关闭)。
我想说这是网络配置,或者其他什么,但过去在同一网络上,我从 Win2003 计算机中删除 IP 地址并分配给另一台 Win2003 计算机时没有遇到任何问题。这一次,未知变量是我以前从未使用 Win2008 和/或 VMWare ESXi 托管虚拟机这样做过。
答案1
在我看来,这更有可能是 ARP 问题 - 我会首先查看 ESXi 主机连接到的任何交换机上的 ARP 问题 - 特别是如果来自 vSwitch\Port Groups VM 的上行链路端口可能不同。如果您在 ESXi 主机上的相关虚拟交换机上使用 NIC Teaming,那么您还应确保您的交换机配置为支持与您的 ESXi 版本相同的 802.3ad 变体 - 这可能不再是 ESX/i4 的问题,但对于 V3.5 VMware 仅支持静态 802.3ad/LACP,而不是动态。
你还可以做的另一件事是查看分配给虚拟机虚拟网卡的 MAC 地址是否出现问题 - 请参阅此VMware 知识库文章有关如何手动覆盖自动分配的 MAC 地址的一些信息。但这只有在两个虚拟机最终具有相同的 MAC 地址时才会成为问题,而且我不知道如果它们一开始没有被手动篡改,这种情况会如何发生。