我最近在 GNS3 里做 MLAG 相关的实验,两台 Arista 交换机组 MLAG 集群,下行是一台思科的 Catalyst 交换机,和两台交换机各有一条链路互联,两侧都绑定链路聚合。Arista 上的 MLAG 都配置了双主检测,并有独立的心跳链路。除此之外还配置了 VARP 当网关用。
我测试它的冗余性时发现了问题,我是这样测试的:
禁用主节点上的下行链路,下行交换机的流量能正常转发;
禁用主节点上的上下行链路,下行交换机的流量能正常转发;
禁用心跳链路,两端的 Arista 交换机会有告警信息,但下行交换机的流量仍能正常转发;
再接着,禁用 Peer-Link 链路,主节点已经没有任何联网的地方了,但下行交换机的流量依旧能正常转发。
但当我直接断掉主节点的电来模拟意外掉线的状况时,意外来了。下行交换机没有任何流量转发到 Arista 交换机上,我用 Wireshark 抓包,Arista 方向有 VARP 的免费 ARP 之类的报文过来,而 Catalyst 方向却没有任何业务流量转发到这条链路上。查看两端的链路聚合端口,是处于启用状态的。而生成树也没有问题,处于转发状态。
我测试它的冗余性时发现了问题,我是这样测试的:
禁用主节点上的下行链路,下行交换机的流量能正常转发;
禁用主节点上的上下行链路,下行交换机的流量能正常转发;
禁用心跳链路,两端的 Arista 交换机会有告警信息,但下行交换机的流量仍能正常转发;
再接着,禁用 Peer-Link 链路,主节点已经没有任何联网的地方了,但下行交换机的流量依旧能正常转发。
但当我直接断掉主节点的电来模拟意外掉线的状况时,意外来了。下行交换机没有任何流量转发到 Arista 交换机上,我用 Wireshark 抓包,Arista 方向有 VARP 的免费 ARP 之类的报文过来,而 Catalyst 方向却没有任何业务流量转发到这条链路上。查看两端的链路聚合端口,是处于启用状态的。而生成树也没有问题,处于转发状态。