一、M-LAG组网
在M-LAG系统中,LeafA和LeafB进行跨设备链路聚合。LeafA和LeafB通过Peer-ip协商主备关系(peerlink对应的vlanif接口,IP地址小的为主设备,大的为备设备)。在M-LAG系统正常工作后,LeafA和LeafB之间通过peer-link链路实时同步对端MAC等信息。通过三层的MAD检测接口进行M-LAG系统的故障检测。
二、M-LAG工作原理
1.M-LAG正常工作场景
①已知单播流量转发
M-LAG正常工作时,从服务器侧发往spine侧的已知单播帧(图中绿色流量)由主备设备形成负载分担,共同进行流量转发。反之,从spine侧发往服务器侧的已知单播帧(图中黄色流量)同样由主备设备形成负载分担,共同进行流量转发。
②组播、广播和未知单播流量转发
M-LAG正常工作时,从服务器侧发往spine侧的组播、广播和未知单播帧(图中绿色流量)在设备间泛洪。对可能造成环路的M-LAG成员接口(图中蓝色),利用M-LAG系统的单向隔离机制丢弃由peer-link接口发往M-LAG成员接口的数据帧。反之,从spine侧发往服务器侧的组播、广播和未知单播流帧(图中黄色流量)在设备间泛洪时,同样利用M-LAG系统的单向隔离机制丢弃由peer-link接口发往M-LAG成员接口的数据帧。
2.M-LAG故障工作场景
①上行链路故障
如图由于M-LAG系统主设备上行链路存在故障,在M-LAG主设备中的流量均经过peer-link链路转发至备设备。M-LAG上行接入为三层网络场景(上行接口不是MLAG的成员接口),可以通过在M-LAG主备设备间配置三层逃生链路,使得到达M-LAG主设备的上行流量通过三层逃生链路到达M-LAG备设备;也可以通过在M-LAG主备设备中均配置MonitorGroup1的方式实现流量整机切换,在MonitorGroup1中uplink为所有上行业务接口,downlink为所有下行业务接口。
当故障的链路恰好为双主检测链路(mad检测接口),此时对于M-LAG正常工作场景没有影响。如果同时出现peer-link链路故障,M-LAG出现双主冲突,此时用户侧发往主设备的流量会因为没有上行口而被丢弃。
②M-LAG成员接口故障
当M-LAG成员接口故障时,从服务器侧发往spine侧的流量(图中绿色流量)通过正常的成员接口转发;从spine侧发送给服务器侧的流量不感知故障,流量依然发送给双归设备。由于M-LAG成员口故障,此时M-LAG端口隔离机制放开,M-LAG成员接口故障的设备收到从spine侧发往服务器侧流量(图中黄色流量),会通过peer-link将流量交给正常工作的M-LAG设备转发到服务器侧。
当M-LAG成员口故障恢复后,M-LAG成员接口UP会触发一次M-LAG系统的MAC表项同步,单归场景恢复为双归场景,流量恢复双发。
③peer-link接口故障
M-LAG双归接入的设备一旦感知到peer-link链路状态Down,会立即通过MAD链路进行双主检测和MonitorGroup2检测(在MonitorGroup 2中uplink为MAD链路,downlink为所有的上行、下行业务接口,仅在备设备中配置MonitorGroup2),如果在一定时间内未收到对端发布的双主检测报文,则认为对端设备故障。如果收到对端发送的双主检测报文,则认为是peer-link链路故障。此时M-LAG备设备会将MonitorGroup 2中所有的downlin做shutdown的操作。此时,流量都只会从M-LAG主设备转发。
④M-LAG设备故障
M-LAG主设备故障,M-LAG备设备将升级为主,其设备侧聚合链路状态仍为UP,流量转发状态不变,继续转发流量。M-LAG主设备侧聚合链路状态变为Down,双归场景变为单归场景。
如果是M-LAG备设备发生故障,M-LAG的主备状态不会发生变化,M-LAG备设备侧聚合链路状态变为Down。M-LAG主设备侧E聚合链路状态仍为UP,流量转发状态不变,继续转发流量,双归场景变为单归场景。
M-LAG设备故障恢复时,peer-link先UP,MAD检测接口后UP,上行业务接口先UP,下行业务接口后UP,当所有接口均恢复后,流量恢复负载分担。M-LAG主设备恢复后设备状态仍然为主,M-LAG备设备恢复后设备状态仍然为备。