我的网络上有一个单播泛滥的问题,当我把一些软件转移到虚拟化的客人时,问题就开始了。它似乎与这里报道的非常相似:在Linux中连接接口时切换泛滥。这个问题可以追溯到2012年..。因此,也许现在有一个更好的解决方案,也许在Linux/KVM方面。
在下面的文章中,我将尝试解释架构和我执行的故障排除步骤。我希望有人能给我一些提示,也许是一个解决办法!提前感谢!
带有PROXMOX4.1和几台Windows虚拟机的Linux主机。
主机具有4 Gbit以太网接口(具有MAC地址A、B、C和D),与balance-tlb方法结合。
然后连接到虚拟机。因此,每个VM都有自己的MAC地址(具有MAC地址X、Y、Z、.)。
托管在虚拟机上的软件与该领域的许多设备进行交互。
服务器连接到Juniper交换机,然后连接到广泛的Cisco网络。一切都是第二级。
在思科网络上,我不时看到单播风暴。他们似乎每5分钟就启动一次,或者是每5分钟启动一次。我对通信量进行了分析,我发现,突然之间,从某些设备到某个虚拟机(反之亦然)的流量被复制到交换机的所有物理端口上(在同一个VLAN上)。这个问题几秒钟后就能单独解决了。
阅读Cisco文档(关于单播泛滥和MAC“老化时间”)以及上述链接,我发现问题可能是由于虚拟机的MAC地址在网络上不经常出现,因此在某个“老化时间”之后,交换机开始将此类通信转发到所有端口,直到发现主机所在的位置。
我在网络上连接了一台笔记本电脑,并开始从一台虚拟机上切换它。我嗅到了笔记本电脑上的数据包。
从这一点我可以看出:
基本上,除了第一次ARP请求外,虚拟机从来没有出现在笔记本电脑上,它有自己的MAC地址(X),但始终带有A、B、C或D(随时间变化)。然而,笔记本电脑总是响应X。
我读到,在平衡tlb模式下,根据负载的不同,流量从不同的接口输出是可以的。然而,我认为这种行为,再加上虚拟机出现在网络上,并且使用物理接口的源MAC地址,可能会产生我报告的问题。
如果这是正确的,有谁知道是否有一种方法总是强制使用VM自己的MAC地址的每一个通信?(例如,ARP请求已经发生了)或者解决方案可能在其他地方?
我以为我可以每3分钟设置一次Windows来重新设置ARP表.但这对我来说有点太残忍了.:)
再次感谢您的帮助!
编辑:我确认,如果在洪涝事件期间,我快速登录到相应的VM并发出ARP表重置,我会看到来自VM的新ARP请求(将自己的MAC地址告知网络),风暴立即停止。
发布于 2016-07-09 19:43:41
Balance-tlb (模式5)和balance-alb (模式6)不适用于虚拟桥。它们可以导致广播循环,在一定条件下重写源MAC包,模式6通过设计拦截ARP。
您需要在没有开关配置的情况下使用活动备份(模式1),或者在开关配置中使用balance-xor (模式2)或802.3ad (模式4)。
您也可以在开关配置中使用循环(模式0)或广播(模式3),但这些都不利于TCP流的性能。
发布于 2016-07-07 14:25:19
https://en.wikipedia.org/wiki/Unicast_洪涝有可能:“主机的ARP计时器比交换机上的地址缓存超时时间长……”,“:”主机的ARP计时器比交换机上的地址缓存超时时间长……“按本文所述,请”……“……”,“:”,“主机
https://serverfault.com/questions/788480
复制相似问题