号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
“两台交换机做了堆叠,服务器用双网卡分别接在不同成员上,配置了Eth-Trunk,结果聚合不生效,甚至丢包严重!”
这是堆叠+链路聚合场景中的经典陷阱。
很多人以为:只要交换机堆叠成“一台逻辑设备”,任何端口都能像单机一样做链路聚合——
但现实是:跨物理设备的聚合需要额外机制支持,否则可能引发环路、MAC漂移、流量单通等严重问题。
今天就带大家深入解析:
-
为什么普通链路聚合在堆叠跨设备时会失败?
-
华为/Cisco 如何正确配置跨设备链路聚合(M-LAG / vPC / Eth-Trunk)?
-
故障排查 checklist 一键定位问题。

一、问题根源:堆叠 ≠ 真正的单机
虽然堆叠(Stack)将多台交换机虚拟为“一台逻辑设备”,但每个成员仍保留独立的转发芯片和物理端口。
当服务器双网卡分别连接不同物理成员时:
-
若使用普通静态聚合(mode on)或LACP,
-
交换机无法感知“这两个端口属于同一服务器”,
-
导致:
-
MAC地址在两个端口间来回漂移
-
流量只走一个端口(未真正负载分担)
-
STP阻塞其中一个端口(形成逻辑环路)
-

⚠️ 典型现象:
display eth-trunk 显示端口状态为 Unselected
服务器 iperf 测试带宽仅为单链路
日志出现 %MAC/4/MFL(MAC Flapping)
二、正确方案:启用“跨设备链路聚合”技术
不同厂商对此有不同实现:

✅ 关键前提: 必须使用厂商指定的跨设备聚合机制,不能直接用普通LACP!
三、华为堆叠环境下的正确配置(以S6730为例)
场景:
-
两台S6730通过堆叠线连接,形成CSS集群
-
服务器双网卡 → 分别接 SW1 的 G0/0/1 和 SW2 的 G0/0/1
-
目标:实现20Gbps聚合带宽
正确配置步骤:
1. 确认堆叠已成功建立
display stack
输出应显示:
Stack mode: CSS Stack topology: Ring Member ID 1: Master Member ID 2: Standby
2. 在逻辑设备上创建Eth-Trunk(无需区分物理位置)
interface Eth-Trunk 1 port link-type trunk port trunk allow-pass vlan 10 20 mode lacp # 推荐使用LACP动态协商
3. 将不同成员的物理口加入同一个Eth-Trunk
# 成员1的端口 interface GigabitEthernet 1/0/1 eth-trunk 1 # 成员2的端口 interface GigabitEthernet 2/0/1 eth-trunk 1
🔑 关键点: 华为堆叠(CSS/iStack)原生支持跨设备Eth-Trunk,只要堆叠正常,上述配置即可生效,无需额外命令。
4. 服务器侧配置LACP(以Linux为例)
# /etc/network/interfaces auto bond0 iface bond0 inet static address 192.168.10.100 netmask 255.255.255.0 bond-mode 4 # LACP bond-miimon 100 bond-slaves eth0 eth1
四、验证与排错
1. 检查Eth-Trunk状态
display eth-trunk 1
✅ 正常输出应包含:
Local: -------------------------------------------------------------------------------- Port Status Weight -------------------------------------------------------------------------------- 1/0/1 Selected 1 2/0/1 Selected 1 ← 两个端口均为Selected!
❌ 若显示 Unselected,可能原因:
-
堆叠未建立(检查 display stack)
-
两端LACP模式不匹配(一端active,一端passive)
-
物理链路速率/双工不一致
2. 检查MAC学习是否稳定
display mac-address | include <服务器MAC>
✅ 应只显示一条记录,且端口为 Eth-Trunk1
❌ 若显示两条(分别在G1/0/1和G2/0/1)→ MAC漂移 → 聚合未生效
3. 测试带宽(iperf3)
# 服务器 → 目标主机 iperf3 -c 192.168.10.200 -t 10 -P 4
✅ 应接近 2Gbps(双千兆)或 20Gbps(双万兆)
❌ 若仅为单链路 → 聚合未负载分担
五、非堆叠场景?用 M-LAG!
如果无法做堆叠(如距离远、型号不支持),华为提供 M-LAG(Multichassis LAG) 方案:
架构特点:
-
两台独立交换机
-
通过 peer-link 同步MAC/FDB表
-
通过 DFS Group 实现控制面协同
配置要点(简化):
# 创建DFS Group dfs-group 1 source ip 10.1.1.1 peer 10.1.1.2 # 配置peer-link interface Eth-Trunk 10 trunkport GigabitEthernet 1/0/24 dfs-group 1 m-lag 10 # 服务器聚合口 interface Eth-Trunk 1 dfs-group 1 m-lag 1 port link-type trunk
📌 M-LAG 更复杂,但适用于跨机柜、高可用场景。
六、避坑指南:常见错误配置

七、总结
跨设备聚合 = 堆叠/M-LAG + LACP + 验证
🎯 记住三要素:
-
底层必须支持跨设备协同(堆叠 or M-LAG/vPC)
-
聚合必须用LACP,禁用静态模式
-
验证看三点:端口Selected状态、MAC唯一性、带宽达标
原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
3804

被折叠的 条评论
为什么被折叠?



