交换机堆叠后链路聚合失败?多半是你忽略了这点

号主:老杨丨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 + 验证

🎯 记住三要素

  1. 底层必须支持跨设备协同(堆叠 or M-LAG/vPC)

  2. 聚合必须用LACP,禁用静态模式

  3. 验证看三点:端口Selected状态、MAC唯一性、带宽达标

原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值