一、M-LAG简介
1.1 M-LAG使用场景
M-LAG(Multichassis Link Aggregation Group)即跨设备链路聚合组,是一种实现跨设备链路聚合的机制。M-LAG主要应用于普通以太网络、VXLAN和IP网络的双归接入,可以起到负载分担或备份保护的作用。相较于另一种常见的可靠性接入技术——堆叠,M-LAG在可靠性、升级等方面有着显著的优势。
华为数据中心设备一般使用M-LAG去堆叠,堆叠因为控制平面合一,在设备升级中两台设备要关闭一台进行升级,对于数据中心难以接受,M-LAG的控制平台是分离的,可以上线后切换流量进行升级,保持业务的完整性。堆叠的优点只有中小企业的适合网管了。
二、M-LAG结构
2.1 M-LAG术语
DFS
DFS (Dynamic Fabric Service) Group,动态交换服务组(dynamic fabric service group)
创建DFS-group ID:默认id=1,标识横向虚拟化设备
DFS主:master:通过peer-link交互DFS-group信令,选举的主设备
DFS备:standby:通过peer-link交互DFS-group信令,选举的备设备
Peer-link
对等体链路,必须是LAG(eth-trunk0),二层,默认允许所有vlan
1、管控:交互DFS-group信令,同步表项(ARP、MAC表)
2、转发:当上行链路down,跨框流量转发
DAD link(HB:heart beat 心跳线)
双主检测链路,是一条三层互通链路,用于M-LAG设备之间发送双主检测报文。
正常情况下,双主检测链路不会参与M-LAG的任何转发行为,只在DFS Group配对失败或者peer-link故障场景下,用于检查是否出现双主的情况。
三层链路方式:
- MGMT管理口:------建议(带外)
- 物理接口
- loopback0----建立(三层冗余)
M-LAG成员接口
连接用户侧设备或主机的Eth-trunk接口,从而实现跨设备LAG的目的。
2.2 M-LAG选举流程
2.2.1 DFS Group配对
- 首先通过peer-link链路发送DFS Group的Hello报文。当设备收到对端的Hello报文后,会判断报文中携带的DFS Group编号是否和本端相同,如果两台设备的DFS Group编号相同,则两台设备DFS Group配对成功。因为是横向虚拟化DFS Group只有1。
2.2.2 DFS Group协商主备
配对成功后,两台设备会向对端发送DFS Group的设备信息报文,设备根据报文中携带的DFS Group优先级以及系统MAC地址确定出DFS Group的主备状态。默认选举有优先级大的,其次为MAC地址较小的。
DFS Group的角色区分为主和备,正常情况下,主设备和备设备同时进行业务流量的转发,转发行为没有区别,仅在故障场景下,主备设备的行为会有差别。
1.M-LAG发送主设备的STP,LACP的id为主的MAC地址, ARP以及MAC地址表项。
2.分裂的时候,备的业务端口会被error-down
2.2.3 M-LAG成员接口协商主备
通过peer-link链路发送M-LAG设备信息报文,报文中携带了M-LAG成员接口的配置信息。在成员口信息同步完成后,确定M-LAG成员接口的主备状态。
与对端同步成员口信息时,状态由Down先变为Up的M-LAG成员接口成为主M-LAG成员口,对端对应的M-LAG成员口为备,且主备状态默认不回切。(可能发生备用设备有主动端口)
2.4 M-LAG工作模式
2.4.1 双活模式
2.4.2 主备模式
[!NOTE]
留几个我的疑问吧,等以后我知道了解决
成员接口是否一定在主设备?我看产品文档的说明意思应该主接口和主设备不一定在一台,根据主网卡推出主接口。
主成员接口shutdown后流量如何切换?
当服务器主网卡对接的M-LAG成员口状态变为Down时,流量从peer-link口引流到备网卡对接的M-LAG设备,流量通过备M-LAG成员口直接转发给服务器,完成快速切换,提高服务器主备网卡接入M-LAG场景下的故障切换性能。
我不太理解这个流量从peer-link口引流到备网卡对接的M-LAG设备,整个线都Down怎么切换,主网卡是基于接口的还是整个设备?这时不应该到备网卡了吗,这句话说的是不是Down时当前的流量?
对比项 双活模式 主备模式 工作方式 双设备同时转发流量 仅主设备转发流量 流量处理 负载均衡 + 冗余备份 冗余备份(无负载分担) 链路利用率 100%(双链路同时使用) 50%(备链路仅备份) 主备接口选举 接口状态决定(先UP为主) 服务器报文触发(ARP/IGMP等) 适用场景 数据中心/高带宽业务 服务器主备网卡接入
三、M-LAG机制
3.1 M-LAG防环机制
从接入设备或网络侧到达M-LAG设备的单播流量,会优先从本地转发出去
3.2 单向隔离机制
若接入设备双活接入M-LAG系统,则M-LAG两台设备自动下发对应M-LAG成员口的单向隔离配置,主备模式不下发
当流量通过peer-link链路广播到对端M-LAG设备(对二层流量生效,三层组播流量生效,三层单播流量不生效),在peer-link链路与M-LAG成员口之间设置单方向的流量隔离,即从Peer-link口进来的流量不会再从M-LAG口转发出去
3.3 DAD
双活设备才有DAD
3.3.1 DAD行为
两台设备之间会通过双主检测链路(心跳链路,又称为DAD link,是一条三层互通链路。)按照1s的周期发送M-LAG双主检测报文,当两台设备均能够收到对端发送的报文时,M-LAG系统即开始正常的工作。一旦设备感知peer-link故障,会在双主检测延时时间(缺省值为3s)后,按照200ms的周期发送三个双主检测链路报文进行加速检测,防止误触发双主加速检测,导致一端M-LAG设备端口被Error-Down。
3.3.2 DAD结果
两台设备在心跳链路Up之后即会按照周期发送双主检测报文。若DFS Group绑定了本端和对端的IP地址,,即原DFS主设备或备设备故障恢复且peer-link链路仍然故障时,M-LAG设备根据双主检测报文中携带的DFS信息协商出HB DFS主备状态,触发HB DFS状态为备的设备相应端口Error-Down,从而避免双主场景下的流量异常。