Administrator
Published on 2026-03-31 / 5 Visits
0
0

一篇讲透 M-LAG 的通俗技术科普


一、先用一句人话解释:什么是 M-LAG?

M-LAG = 两台交换机“假装是一台设备”,同时对外提供链路聚合


二、先看一个真实场景(你肯定见过)

Image

一个服务器有两根网线:

  • 一根接核心交换机A

  • 一根接核心交换机B

你希望:

✅ 两条链路都能用(负载分担)
✅ 任意一台交换机挂了也不影响业务


❌ 传统问题

如果直接这么接:

  • 会形成二层环路

  • 触发 STP阻塞

  • 只能用一条链

👉 白白浪费带宽


✅ M-LAG的解决思路

让两台交换机“看起来像一台”

这样服务器就会认为:

“我连的是一台设备的两个端口(聚


✔ 不会环路
✔ 还能负载均衡


三、M-LAG到底是啥?名字啥意思?

1️⃣ 名字拆解

M-LAG = Multi-Chassis Link Aggregation

  • Multi = 多

  • Chassis = 机箱(交换机)

  • Link Aggregation = 链路聚合

翻译:

跨多台设备的链路聚合技术


2️⃣ 为什么叫“跨设备聚合”?

普通聚合(LACP):

服务器 → 同一台交换机(多个口)

M-LAG:

服务器 → 两台交换机(跨设备)

本质区别就在这里


四、它是华为独有的吗?

不是!

只是叫法不同:

厂商

技术名

华为

M-LAG

Cisco

vPC

H3C

IRF

Arista

MLAG

Juniper

MC-LAG

本质是一类技术:
“跨设备链路聚合”


五、M-LAG 是怎么实现的?

Image
Image

关键组件有3个:


① Peer-Link(心脏)

两台交换机之间的“专用通道”

作用:

  • 同步 MAC 表

  • 同步 ARP

  • 同步状态

可以理解为:

“两台交换机在打电话实时同步数据”


② Keepalive(保命线)

防止“双主”(脑裂)

  • 检测对端是否存活

  • 防止两台都认为自己是主


③ 逻辑聚合接口(M-LAG口)

对外表现为:

一台设备的聚合接口


原理

控制面同步 + 数据面独立转发


六、M-LAG vs VRRP

对比项

M-LAG

VRRP

作用层

二层(链路)

三层(网关)

是否负载均衡

✅ 可以

❌ 一般主备

是否同时转发

✅ 双活

❌ 单活

解决问题

带宽+冗余

网关冗余

面向对象

服务器/接入链路

默认网关


大白话:

  • M-LAG:解决“链路不够用”

  • VRRP:解决“网关挂了怎么办”


经典组合

M-LAG + VRRP 一起用:

  • M-LAG → 保证链路双活

  • VRRP → 保证网关高可用


七、M-LAG的优点

✅ 1. 真正双活

两台设备同时干活(不是主备)


✅ 2. 带宽翻倍

2条链路都用上


✅ 3. 无感切换

一台挂了业务基本无感


✅ 4. 不依赖STP

避免阻塞端口


八、缺点(你必须知道的坑)

❌ 1. 配置复杂

比普通交换复杂很多


❌ 2. Peer-Link是命门

一旦异常:

可能出现:

  • MAC漂移

  • 流量黑洞


❌ 3. 脑裂风险(Split-Brain)

两台都认为自己是主

结果:

  • 流量错乱

  • 网络炸裂


❌ 4. 厂商实现差异大

不同厂商互通困难


九、什么时候必须用 M-LAG?

你这种场景非常典型:

  • 双核心交换机(S7706 / CE6863E)

  • 服务器双上联

  • 存储双路径

  • 数据中心架构

结论:必须用


M-LAG = 让两台交换机“逻辑合体”,实现链路双活与高可用的核心技术

如果用一句更高级的话说:

M-LAG 是将“设备冗余”升级为“链路级双活”的关键技术

十、M-LAG组网方案

M-LAG(Multichassis Link Aggregation Group)即跨设备链路聚合组,是一种实现跨设备链路聚合的机制,将一台设备与另外两台设备进行跨设备链路聚合,从而把链路可靠性从单板级提高到了设备级。

对二层来讲,可将M-LAG理解为一种横向虚拟化技术,将M-LAG的两台设备在逻辑上虚拟成一台设备,形成一个统一的二层逻辑节点。M-LAG提供了一个没有环路的二层拓扑同时实现冗余备份,不再需要繁琐的生成树协议配置,极大的简化了组网及配置。这种设计相对传统的xSTP破环保护,逻辑拓扑更加清晰、链路利用更加高效。

图10-1 M-LAG物理与二三层逻辑结构示意图

图10-1所示,M-LAG配对交换机对外提供M-LAG接口,用于接入二层业务;M-LAG配对交换机之间部署Peer-Link,用于M-LAG协议消息交互,以及设备间横向业务流量转发;从三层视角看,M-LAG的配对设备又是两个独立的设备,可以支持独立的网管,并作为独立的OSPF路由节点。同时,M-LAG支持本地优先转发,最大程度减少M-LAG配对设备之间的东西向流量。M-LAG支持双主检测,由于两台配对设备为独立设备,因此通过带内或者带外的IP可达检测即可达到目的,不需要为此另外加线缆。

部署方案

  • 组网方案一:汇聚层组建M-LAG

    通过跨设备端口虚拟化技术(M-LAG),实现汇聚层和接入层交换机之间的网络逻辑无环化,取代STP。汇聚层两台交换机配对,汇聚交换机之间横向链路配置为peer-link。两台汇聚交换机下行连接同一接入交换机的端口配置为跨框的Eth-Trunk。

    图10-2 汇聚层使用M-LAG示意图

    这种设计相对传统的STP断点保护,逻辑拓扑更加清晰、链路利用更加高效。M-LAG的配对设备,控制平面和管理平面独立,只有协议面的耦合,理论上可靠性相对堆叠更高,还提供设备独立升级的能力,带来维护的方便性。

  • 组网方案二:接入层组建M-LAG

    同样M-LAG技术适用于服务器双网卡要求双活接入的应用场景。服务器双活接入两网卡共享MAC。双网卡实现基于流的负载分担策略。因此,通过M-LAG将服务器连接的端口配置为Eth-Trunk,两个端口的MAC和ARP表项同步。接入层使用M-LAG示意图

方案特色

M-LAG技术本质上还是控制平面虚拟化技术,但是和堆叠技术不同的是,由于M-LAG的目的仅仅是在链路聚合协商时,对外表现出同样的状态,所以不需要像堆叠那样同步设备上所有的信息,只需要同步接口和表项相关的一些内容。这样,控制面耦合程度相比堆叠来说,会小很多,而且堆叠 技术的一些缺陷在M-LAG 上也会缓解很多,比如上面我们说过的堆叠 的三个主要的问题:

  • 可靠性问题:M-LAG需要同步的仅仅是协议面的一些内容,并不需要同步所有的设备状态,理论可靠性相对堆叠更加好。

  • 维护问题:M-LAG两台设备可以进行独立升级。仅协议面耦合,中断时间较短。

  • 扩展性问题:M-LAG技术主要目的是为了解决接入侧多路径问题,在数据中心网络中一般会配合路由或者一些大二层技术来实现网络侧的多路径转发问题。


Comment