物理交换机不学习虚拟机的MAC地址

我有一个运行vSphere 5.1的虚拟环境。 我有两个ESX与他们之间的VDS。 为了讨论的目的,在该vDS上只有一个端口组被configuration为使用VLAN。 每个主机的上行链路由两个组合的NIC组成,这两个NIC都连接到同一个物理交换机。 在物理交换机的另一个端口上,有一条与该端口组在同一个VLAN中的防火墙。

我偶尔观察到,在host1上创build和启动一个新的虚拟机时,交换机不会学习到这个虚拟机的MAC地址(即使我使用arping强制使用免费ARP)。 发生这种情况时,虚拟机将无法与防火墙通信,甚至无法与host2上的其他虚拟机(使用相同的端口组)通信。 但是,它仍然可以与host1上连接到同一端口组的其他虚拟机进行通信。

而且,如果host1上有一台虚拟机工作正常,可以进行外部通信,并且将其vMotion到host2,交换机就不会知道MAC地址已经移动到另一个端口(即使在发出arping之后虚拟机),结果这个虚拟机将失去与防火墙的连接。

为了增加混乱,这只是让我疯狂,如果我从防火墙运行“ping -t”, 一个虚拟机启动,那么交换机学习虚拟机的MAC地址,虚拟机将能够通信。

“通知交换机”选项在端口组和上行链路上均打开。

我可以在这里错过什么? 我愿意考虑疯狂的想法。 明天我会尝试重新启动主机,以防VDSconfiguration不同步…

我的build议是升级您的ESXi安装。 类似这样的事情有时会属于bug类别,根据VMware的说法,你的内部版本号( 838463 )是从2012年10月开始的。目前的版本号是1312873

如果可以的话,补丁是很有意义的,因为你正在使用一个非常老的版本。

另请参阅: VMware ESXi 5修补程序是否已累积?

为什么它值得,这原来是一个物理交换机的问题。 在https://communities.vmware.com/thread/421560有一个非常长的线程,这非常有帮助(如果只是向我们表明,我们并不孤单在这个…)。

谢谢大家的帮助!