华为交换机Eth-Trunk链路聚合配置:手工模式与LACP模式 - 夜莺博客

华为交换机Eth-Trunk链路聚合配置:手工模式与LACP模式

Eth-Trunk 是华为交换机上的链路聚合技术,把多条物理以太网链路捆绑成一条逻辑链路,从而成倍增加带宽、提高可靠性和实现负载分担。华为 VRP 提供两种聚合模式:手工模式(不运行 LACP,完全靠手工指定成员口)和 LACP 模式(通过链路聚合控制协议自动协商活动链路)。本文以 S 系列交换机为例,给出两种模式从创建到验证的完整命令。

Eth-Trunk 的工作原理与价值

链路聚合的本质是把 N 条物理链路抽象成 1 条逻辑链路(Eth-Trunk 接口)。对上层业务来说,STP、VLAN、路由等协议只看到这一条逻辑口,因此聚合不会产生环路,也无需依赖 STP 阻塞链路;而转发平面仍把流量分摊到各条成员链路上,从而获得 N 倍的带宽。它的价值主要体现在三个方面:

  • 带宽叠加:多条 GE 口聚合成 10G、40G 甚至更高的逻辑带宽,用低成本链路实现高带宽互联。
  • 可靠性:任一成员链路故障时,流量自动切换到剩余链路,业务不中断,切换时间为毫秒级,远快于 STP 秒级的收敛。
  • 负载分担:通过哈希算法把不同流量分布到不同成员口,提高整体链路利用率。

需要注意的是,链路聚合是“逐流”而非“逐包”分担:同一个数据流的报文始终走同一条成员链路,以避免乱序。因此当业务流数量较少时,实际带宽可能达不到理论叠加值,这正是负载分担算法需要按业务特征选择的原因。

手工模式与 LACP 模式的区别

  • 手工模式:Eth-Trunk 的建立和成员加入全部手工配置,适合两端设备不支持 LACP 的场景;所有活动链路都参与转发和分担流量。
  • LACP 模式:两端通过 LACP 报文协商,自动选择活动链路(可设置最大活动链路数),链路故障时自动在备用链路间切换,可靠性更高。

两者还有一个关键差异在于“故障判定”:手工模式下,只要成员口的物理层 Up 就认为链路可用,即使对端配置错误或报文单向不通也无法感知;LACP 模式通过协议报文保持对端存活检测,能发现单向故障并自动剔除异常成员,因此生产环境更推荐 LACP 模式。

配置注意事项:Eth-Trunk 成员接口的速率、双工和流控必须一致;两端相连物理口的数量、速率、双工必须一致;对端直连接口也必须加入 Eth-Trunk;两台设备对接时聚合模式必须一致。

手工模式链路聚合配置(SwitchA 与 SwitchB 直连)

第一步:在两端创建 Eth-Trunk 并加入成员接口。

<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] interface eth-trunk 1      //创建ID为1的Eth-Trunk接口
[SwitchA-Eth-Trunk1] trunkport gigabitethernet 0/0/1 to 0/0/3   //加入GE0/0/1~GE0/0/3
[SwitchA-Eth-Trunk1] quit

SwitchB 做相同配置。第二步:创建 VLAN 并把 Eth-Trunk 放通对应 VLAN。

[SwitchA] vlan batch 10 20
[SwitchA] interface eth-trunk 1
[SwitchA-Eth-Trunk1] port link-type trunk
[SwitchA-Eth-Trunk1] port trunk allow-pass vlan 10 20
[SwitchA-Eth-Trunk1] quit

第三步(可选):配置负载分担方式,让流量在成员接口间按哈希均匀分担。

[SwitchA] eth-trunk 1
[SwitchA-Eth-Trunk1] load-balance src-dst-ip

手工模式下,只要两端都配好成员口即可工作,无需协议交互;但正因为没有协商机制,一旦有一端漏配成员口或速率不匹配,就可能出现单向转发或流量不均。

LACP 模式链路聚合配置

LACP 模式关键命令是把 Eth-Trunk 的模式改为 lacp,并可限制最大活动链路数、开启链路抢占:

[HUAWEI] sysname SwitchA
[SwitchA] interface eth-trunk 1
[SwitchA-Eth-Trunk1] mode lacp            //配置为LACP模式
[SwitchA-Eth-Trunk1] max active-linknumber 2
[SwitchA-Eth-Trunk1] lacp preempt enable
[SwitchA-Eth-Trunk1] lacp preempt delay 10
[SwitchA-Eth-Trunk1] quit
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] eth-trunk 1
[SwitchA-GigabitEthernet0/0/1] quit

注意:两端接口都要先加入 Eth-Trunk,模式必须同为 lacp,否则协商不成功。LACP 模式下 Eth-Trunk 两端相连物理接口的数量可以多于最大活动链路数,多余的链路作为备份。当活动链路故障、且此前故障的链路恢复时,可通过 lacp preempt enable 让高优先级链路重新成为活动链路,抢占延迟用于避免链路抖动导致的频繁切换。

成员接口的优先级与活动链路选举

LACP 模式通过系统优先级 + MAC 组成系统 ID,再结合端口优先级(lacp priority)在两端之间选举活动链路:

[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] lacp priority 100
[SwitchA-GigabitEthernet0/0/1] quit

端口优先级数值越小优先级越高(默认 32768);当活动链路数超过 max active-linknumber 时,优先级高(数值小)的成员口优先成为 Selected 活动链路,其余变为 Unselect 备份。因此在“三链路聚合、最大活动数 2”的组网中,希望哪两条链路常态转发,就把它们设成更小的优先级值。

负载分担算法的选择

华为交换机支持多种负载分担模式,需要根据业务流量特征选择,才能让各成员链路的利用率尽量均衡:

[SwitchA] eth-trunk 1
[SwitchA-Eth-Trunk1] load-balance src-dst-ip
[SwitchA-Eth-Trunk1] load-balance src-dst-mac
[SwitchA-Eth-Trunk1] load-balance src-dst-ip-l4port
  • src-dst-mac:按源/目的 MAC 哈希,适合二层转发的接入场景。
  • src-dst-ip:按源/目的 IP 哈希,适合三层 IP 转发,是最常用的模式。
  • src-dst-ip-l4port:在 IP 基础上叠加四层端口,能区分更多并发会话,适合服务器大流量场景。

如果业务多为“单一源到单一目的”的大流量(例如备份、迁移),哈希结果会集中在同一条成员口上,此时可考虑按流量的端口维度细化哈希,或用多条 Eth-Trunk 拆分业务。

跨设备的 Eth-Trunk 与 M-LAG

普通 Eth-Trunk 的两端各是一台设备。若要让服务器双上行到两台交换机、同时保持一条逻辑链路,就需要跨设备链路聚合:

# 堆叠(iStack/CSS)场景:两台交换机虚拟成一台,Eth-Trunk 成员口可分布在两台设备上
[HUAWEI] interface eth-trunk 1
[HUAWEI-Eth-Trunk1] mode lacp-static
[HUAWEI-Eth-Trunk1] trunkport gigabitethernet 1/0/1
[HUAWEI-Eth-Trunk1] trunkport gigabitethernet 2/0/1

堆叠通过“一条逻辑设备”的方式把成员口跨越物理机框;而在不支持堆叠或需要独立控制面的场景中,则可使用 M-LAG(跨设备链路聚合),由 DFS 组与 peer-link 完成两台设备间的状态同步。相关配置可参考 华为交换机 iStack 堆叠配置详解。

验证 Eth-Trunk 状态

[SwitchA] display eth-trunk 1
[SwitchA] display eth-trunk 1 verbose
[SwitchA] display lacp statistics eth-trunk 1

查看输出中 Operate status: up、Number Of Up Port In Trunk 以及每个成员口的状态(Selected/Unselect):Selected 表示该成员口参与转发,Unselect 表示处于备份状态。若状态异常,优先检查两端模式、VLAN 放通和物理口是否 no shutdown。display eth-trunk verbose 可进一步查看成员口的收发统计,用于判断某条链路是否在承载流量。

常见故障与排查

  • 成员口全部 Unselect:多为两端模式不一致(一端手工、一端 LACP),或对端接口未加入同一 Eth-Trunk。
  • 部分成员口 Unselect:检查是否设置了 max active-linknumber,以及成员口的速率、双工、流控是否一致。
  • Eth-Trunk 起不来:确认两端物理口已 undo shutdown、VLAN 已放通、且连线的光模块/线缆正常。
  • 流量集中在一条链路:负载分担哈希模式与业务特征不匹配,尝试更细粒度的算法。
  • LACP 报文丢失:检查中间是否有透传设备丢弃了 LACP 慢协议报文(目的 MAC 01-80-C2-00-00-02)。

配置小结

Eth-Trunk 是数据中心与园区网最基础的可靠性技术:手工模式简单直接、兼容性好;LACP 模式能感知链路故障并支持活动/备份链路,是生产环境首选。配置时牢记“两端一致”原则——模式一致、成员口数量与速率一致、VLAN 放通一致,即可避免绝大多数上线问题。

Eth-Trunk 常与堆叠配合使用,相关配置可参考 华为交换机 iStack 堆叠配置详解;命令风格可对照 Huawei/H3C/Cisco 命令对照;远程管理参考 华为交换机 SSH/STelnet 配置教程,日常巡检可结合 华为 VRP 常用命令与故障排查。

原文链接:https://support.huawei.com/enterprise/zh/doc/EDOC1000069491/5d18b4c0