S5700 Eth-Trunk配置和故障处理
简介
以太网链路聚合Eth-Trunk简称链路聚合,通过将多个物理接口捆绑为一个逻辑接口,可以在不进行硬件升级的条件下,达到增加链路带宽的目的。链路聚合技术具有增加带宽、提高可靠性和负载分担的优势。
本文档主要介绍如何配置手工模式Eth-Trunk、如何配置LACP模式Eth-Trunk以及如何定位Eth-Trunk的故障。
Eth-Trunk的配置方法
根据是否启用链路聚合控制协议LACP,Eth-Trunk分为手工模式和LACP模式。在配置Eth-Trunk之前首先进行步骤1和步骤2的判断。
- 检查两台交换机之间接口是否已经通过线缆连接并且运行正常。
未连接线缆前,执行命令display interface brief查看接口状态。
<HUAWEI> display interface brief PHY: Physical *down: administratively down ^down: standby ~down: LDT down #down: LBDT down (l): loopback (s): spoofing (E): E-Trunk down (b): BFD down (e): ETHOAM down (dl): DLDP down (d): Dampening Suppressed (ld): LDT block (lb): LBDT block (lp): Loop-detect block (ms): MACsec down (o): Observe-port forwarding down InUti/OutUti: input utility/output utility Interface PHY Protocol InUti OutUti inErrors outErrors GigabitEthernet1/0/0 down down 0% 0% 0 0 GigabitEthernet1/0/1 down down 0% 0% 0 0
成功连接线缆后,接口状态由DOWN变为Up。
<HUAWEI> display interface brief PHY: Physical *down: administratively down ^down: standby ~down: LDT down #down: LBDT down (l): loopback (s): spoofing (E): E-Trunk down (b): BFD down (e): ETHOAM down (dl): DLDP down (d): Dampening Suppressed (ld): LDT block (lb): LBDT block (lp): Loop-detect block (ms): MACsec down (o): Observe-port forwarding down InUti/OutUti: input utility/output utility Interface PHY Protocol InUti OutUti inErrors outErrors GigabitEthernet1/0/0 up up 0.01% 0.01% 0 0 GigabitEthernet1/0/1 up up 0.01% 0.01% 0 0
- 检查加入Eth-Trunk的接口两端配置是否一致。
- Eth-Trunk链路两端相连的物理接口的数量、双工方式、流控配置必须一致。
- 两台设备对接时需要保证两端设备上链路聚合的模式一致。
- 在V200R011C10之前的版本,端口只支持将速率相同的接口加入到同一Eth-Trunk接口,如GE电接口和GE光接口可以加入同一个Eth-Trunk接口。在V200R011C10及之后的版本,配置mixed-rate link enable命令后,速率不同的接口也能加入到同一Eth-Trunk接口。
设备聚合组进行负载分担计算时不支持以端口速率作为计算权重。因此,当端口支持速率不同的接口加入同一聚合组时,成员接口的带宽只能以聚合组中成员接口的最小速率进行计算。例如,一个GE接口与一个10GE接口加入到同一聚合组,以GE接口速率进行计算,聚合组实际带宽为2G。
配置手工模式的链路聚合
配置方法如下:
<HUAWEI> system-view [HUAWEI] interface eth-trunk 1 //创建Eth-Trunk接口 [HUAWEI-Eth-Trunk1] mode manual load-balance //配置Eth-Trunk的工作模式为手工模式 [HUAWEI-Eth-Trunk1] quit [HUAWEI] interface gigabitethernet 1/0/0 //将接口加入到指定Eth-Trunk中 [HUAWEI-GigabitEthernet1/0/0] eth-trunk 1 [HUAWEI-GigabitEthernet1/0/0] quit [HUAWEI] interface gigabitethernet 1/0/1 //将接口加入到指定Eth-Trunk中 [HUAWEI-GigabitEthernet1/0/1] eth-trunk 1 [HUAWEI-GigabitEthernet1/0/1] quit
<HUAWEI> display eth-trunk 1 Eth-Trunk1's state information is: WorkingMode: NORMAL Hash arithmetic: According to SIP-XOR-DIP Least Active-linknumber: 1 Max Bandwidth-affected-linknumber: 8 Operate status: up Number Of Up Port In Trunk: 1 -------------------------------------------------------------------------------- PortName Status Weight GigabitEthernet1/0/0 Up 1 GigabitEthernet1/0/1 Up 1
配置LACP模式链路聚合
配置方法如下:
<HUAWEI> system-view [HUAWEI] interface eth-trunk 1 //创建Eth-Trunk接口 [HUAWEI-Eth-Trunk1] mode lacp //配置Eth-Trunk的工作模式为LACP模式 [HUAWEI-Eth-Trunk1] quit [HUAWEI] interface gigabitethernet 1/0/0 //将接口加入到指定Eth-Trunk中 [HUAWEI-GigabitEthernet1/0/0] eth-trunk 1 [HUAWEI-GigabitEthernet1/0/0] quit [HUAWEI] interface gigabitethernet 1/0/1 //将接口加入到指定Eth-Trunk中 [HUAWEI-GigabitEthernet1/0/1] eth-trunk 1 [HUAWEI-GigabitEthernet1/0/1] quit
配置完成后,执行命令display eth-trunk 1检查Eth-Trunk配置是否正确。Operate status为up代表Eth-Trunk状态正常。
<HUAWEI> display eth-trunk 1 Eth-Trunk1's state information is: Local: LAG ID: 1 WorkingMode: LACP Preempt Delay Time: Disabled Hash arithmetic: According to SIP-XOR-DIP System Priority: 32768 System ID: 0018-82d4-04c3 Least Active-linknumber: 1 Max Active-linknumber: 2 Operate status: up Number Of Up Port In Trunk: 2 -------------------------------------------------------------------------------- ActorPortName Status PortType PortPri PortNo PortKey PortState Weight GigabitEthernet1/0/0 Selected 1GE 10 262 2609 10111100 1 GigabitEthernet1/0/1 Selected 1GE 10 263 2609 10111100 1 Partner: -------------------------------------------------------------------------------- ActorPortName SysPri SystemID PortPri PortNo PortKey PortState GigabitEthernet1/0/0 32768 00e0-fc6e-bb11 32768 262 2609 10111100 GigabitEthernet1/0/1 32768 00e0-fc6e-bb11 32768 263 2609 10111100
手工负载分担模式Eth-Trunk不能UP
故障定位流程
通过命令行display eth-trunk下的WorkingMode字段查看是手工负载分担模式还是静态LACP模式:如果WorkingMode字段显示为NORMAL,说明是手工负载分担模式Eth-Trunk。
<Quidway> display eth-trunk 1 Eth-Trunk1's state information is: WorkingMode: NORMAL Hash arithmetic: According to SIP-XOR-DIP Least Active-linknumber: 3 Max Bandwidth-affected-linknumber: 8 Operate status: down Number Of Up Port In Trunk: 1 -------------------------------------------------------------------------------- PortName Status Weight GigabitEthernet1/0/0 Up 1 GigabitEthernet1/0/1 Down 1
故障定位步骤
- 检查成员口物理状态是否UP。
成员口物理状态UP是Eth-Trunk正常工作的前提。
通过命令display eth-trunk查看Eth-Trunk接口下的成员口信息。如果Eth-Trunk成员口状态为Down,请参见维护宝典中的《故障处理:以太网接口物理DOWN》排除接口故障。
- 检查Eth-Trunk接口下的配置。
通过命令display eth-trunk查看Eth-Trunk接口下是否配置了活动接口数目的下限阈值。如果Eth-Trunk接口下UP的成员口数目少于配置的活动接口数目的下限阈值时,Eth-Trunk状态会变为Down。
下述回显中Least Active-linknumber代表处于Up状态的成员链路的下限阈值为3,而Eth-Trunk接口下UP的成员口数目为1,UP的成员数目少于活动接口数目的下限阈值,因此Eth-Trunk状态Operate status为Down。
<Quidway> display eth-trunk 1 Eth-Trunk1's state information is: WorkingMode: NORMAL Hash arithmetic: According to SIP-XOR-DIP Least Active-linknumber: 3 Max Bandwidth-affected-linknumber: 8 Operate status: down Number Of Up Port In Trunk: 1 -------------------------------------------------------------------------------- PortName Status Weight GigabitEthernet1/0/0 Up 1 GigabitEthernet1/0/1 Down 1
缺省情况下,Eth-Trunk活动接口数目下限阈值为1,可以通过命令least active-linknumber link-number配置链路聚合组活动接口数目的下限阈值。
- 如果以上步骤不能解决问题,请收集相关信息后联系技术支持人员处理。
LACP模式Eth-Trunk接口不能UP
故障定位流程
可以通过以下两种方式查看当前Eth-Trunk的工作方式。
方法一:通过命令行display eth-trunk下的WorkingMode字段查看是手工负载分担模式还是LACP模式:
- 如果WorkingMode字段显示为NORMAL,说明是手工负载分担模式Eth-Trunk;
- 对于V100R006C03/V100R006C05/V200R001版本,如果WorkingMode字段显示为STATIC,说明是LACP模式Eth-Trunk;
- 对于V200R002及之后版本,如果WorkingMode字段显示为LACP,说明是LACP模式Eth-Trunk。
方法二:在Eth-Trunk视图下,查看Eth-Trunk视图下的配置。
- 对于V100R006C03/V100R006C05/V200R001版本,在Eth-Trunk视图下查看是否有mode lacp-static配置,如果有则是LACP模式Eth-Trunk。
- 对于V200R002及之后版本,在Eth-Trunk视图下查看是否有mode lacp配置,如果有则是LACP模式Eth-Trunk。
故障定位步骤
- 检查成员口物理状态是否UP。
成员口物理状态UP是Eth-Trunk正常工作的前提。
通过命令display eth-trunk查看Eth-Trunk接口下的成员口信息。如果Eth-Trunk成员口状态为Down,请参见维护宝典中的《故障处理:以太网接口物理DOWN》排除接口故障。
- 检查Eth-Trunk接口下的配置。
查看Eth-Trunk两端配置是否对等。因涉及到设备LACP报文的协商,需要两端都配置为LACP模式。
通过命令行display eth-trunk查看Eth-Trunk下是否配置了活动接口数目的上限阈值和下限阈值。如果Eth-Trunk接口下UP的成员口数目少于配置的活动接口数目的下限阈值,则Eth-Trunk状态会变为Down。
<Quidway> display eth-trunk 1 Eth-Trunk1's state information is: Local: LAG ID: 1 WorkingMode: STATIC Preempt Delay: Disabled Hash arithmetic: According to SIP-XOR-DIP System Priority: 32768 System ID: 4cb1-6c3b-aaf5 Least Active-linknumber: 1 Max Active-linknumber: 8 Operate status: down Number Of Up Port In Trunk: 0 -------------------------------------------------------------------------------- ActorPortName Status PortType PortPri PortNo PortKey PortState Weight GigabitEthernet1/0/1 Unselect 1GE 32768 1 1329 10100010 1 GigabitEthernet1/0/2 Unselect 1GE 32768 2 1329 10100010 1 Partner: -------------------------------------------------------------------------------- ActorPortName SysPri SystemID PortPri PortNo PortKey PortState GigabitEthernet1/0/1 0 0000-0000-0000 0 0 0 10100011 GigabitEthernet1/0/2 0 0000-0000-0000 0 0 0 10100011
缺省情况下,Eth-Trunk活动接口数目下限阈值为1,可以通过命令least active-linknumber link-number配置;活动接口数目上限阈值为8,可以通过命令max active-linknumber link-number配置。
如果在配置此命令前已经配置了least active-linknumber命令,则需要保证此命令所配置的上限阈值大于或等于least active-linknumber命令中设置的下限阈值。
- 检查Eth-Trunk成员口的LACP报文收发是否正常。
通过命令行display lacp statistics eth-trunk查看Eth-Trunk成员口下的LACP协商报文收发是否正常。
<Quidway> display lacp statistics eth-trunk 1 Eth-Trunk1's PDU statistic is: ------------------------------------------------------------------------------ Port LacpRevPdu LacpSentPdu MarkerRevPdu MarkerSentPdu GigabitEthernet1/0/1 100 100 0 0
报文增长数目与Eth-Trunk接口下配置的报文超时时间相关,可以在Eth-Trunk接口视图下执行lacp timeout { fast | slow }命令配置LACP模式下Eth-Trunk接口接收LACP协议报文的超时时间。
配置fast的超时时间后,对端发送LACP报文的周期为1秒,响应性能好,但占用系统资源相对slow参数情况较大;配置slow的超时时间后,对端发送LACP报文的周期为30秒,响应性较fast低一些,但占用系统资源也比较少。两端配置的超时时间可以不一致,但为了便于维护,建议用户配置一致的LACP协议报文超时时间。
如果接收的LACP协议报文计数增长不正确,则检查是对端设备没有发出还是被本端设备收到后丢弃;如果本端收到的LACP报文计数不正确,需要检查为什么本端口没有正常接收LACP协议报文。
对于S2700、S3700SI、S3700EI、S5700EI、S5700SI、S5710LI,如果对端设备发出LACP报文而本端设备没收到,需要查看Eth-Trunk接口上是不是使能了bpdu enable,V100R006及后续版本缺省使能。
S9300、S9700、S7700、S12700、S7900和其他盒式设备:LACP报文通过ACL上送CPU处理,如果对端设备发出LACP报文而本端设备没收到,需要查看ACL是否正常下发。
- V100R002版本:隐藏模式下查看: display acl item resource slot slot-id apptype cpcar cpcar-name, 查看是否存在LACP对应一栏的PHYEntryId,如果有则代表ACL已经下发;
V100R003及之后版本:隐藏模式或诊断模式下查看: display bcmfpi resource slot 5 acl app-resource service-name cp-car cp-car-name, 查看是否存在LACP对应一栏的PHYEntryId,如果有则代表ACL已经下发。
- 如果经过以上定位,LACP模式Eth-Trunk仍不能正常协商成功,请搜集相关信息后联系技术支持人员处理。
Eth-Trunk接口下流量负载分担不均
故障定位流程
故障定位步骤
- 确认报文特征与负载分担方式是否匹配
确认通过Eth-Trunk接口转发的报文特征和配置的负载分担方式是否匹配。如果不匹配,例如转发报文的MAC地址变化,而设置的负载分担方式为src-ip,则无法负载分担。
可通过以下几个步骤检查和修改:- 确认报文特征
- 确定报文的转发方式:已知单播和非已知单播的转发流程不同,且默认的负载分担算法也不同,所以需要先确认转发报文是已知单播还是非已知单播。
- 确定报文的变化因子:确定报文变化的是报文的MAC地址、IP地址或者Label等。
- 确定报文的类型:确定报文为IP报文、MPLS报文或者二层报文等。
说明:
MAC表中没有该报文的目的MAC地址,则该报文为非已知单播报文。
- 检查Eth-Trunk接口的负载分担方式。
根据上一步确认的报文转发方式(已知单播还是非已知单播)查看Eth-Trunk接口的负载分担方式。
- 查看已知单播的负载分担方式
通过命令display eth-trunk查看“Hash arithmetic”字段确认配置的负载分担方式,也可以通过在Eth-Trunk接口视图下执行display this命令来查看。
<HUAWEI> display eth-trunk 1 display eth-trunk 1 Eth-Trunk1's state information is: WorkingMode: NORMAL Hash arithmetic: According to SIP-XOR-DIP Least Active-linknumber: 1 Max Bandwidth-affected-linknumber: 8 Operate status: down Number Of Up Port In Trunk: 0 ------------------------------------------------------------------ PortName Status Weight ……
说明:
负载分担方式参数说明:
SIP表示源IP地址,DIP表示目的IP地址,SA表示源MAC地址,DA表示目的MAC地址。
SIP-XOR-DIP表示根据源IP地址与目的IP地址进行异或运算选择出接口。
SA-XOR-DA表示根据源MAC地址与目的MAC地址进行异或运算选择出接口。
ENHANCED表示应用了增强负载分担模板,根据增强模板中各类报文指定的负载分担方式运算选择出接口。
如果负载分担方式为ENHANCED,则需进一步查看增强模板的负载分担方式。
增强负载分担方式全局只有一个模板,对已知单播和非已知单播同样生效,针对不同报文类型选取不同的字段进行HASH计算。
可以执行命令display load-balance-profile查看针对每一种特征报文的负载分担方式,其中HashField代表配置的负载分担模式。
<HUAWEI> display load-balance-profile Load-balance-profile: test //此处的test为配置的增强模板名称 Packet HashField - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IPV4 sip dip IPV6 sip dip L2 smac dmac MPLS top-label 2nd-label
- 对于非已知单播,执行命令display current-configuration | include unknown-unicast load-balance查看非已知单播的负载分担方式。缺省情况下,设备基于报文的源MAC地址和目的MAC地址对非已知单播进行负载分担。
<HUAWEI> display current-configuration | include unknown-unicast load-balance unknown-unicast load-balance dmac
- 查看已知单播的负载分担方式
- 确认转发的报文特征与负载分担方式是否匹配
如果报文特征与当前负载分担方式不匹配,可以根据现网流量模型修改负载分担方式。流量中该参数变化越频繁,选择此负载分担模式的流量就越均衡。
例如:仅单台PC测试时,由于源IP地址和源MAC地址不变,只是目的IP地址和目的MAC地址变化,此时选择的负载分担方式为基于源IP地址或源MAC地址,则流量不能负载分担,需要修改为基于目的IP地址或目的MAC地址的负载分担方式。
如果报文是已知单播,修改命令如下:
<HUAWEI> system-view [HUAWEI] interface Eth-Trunk 1 [HUAWEI-Eth-Trunk1] load-balance dst-mac [HUAWEI-Eth-Trunk1] quit
如果报文是非已知单播,修改命令如下:
<HUAWEI> system-view [HUAWEI] unknown-unicast load-balance dmac
如果采用的负载分担方式为增强模式,则需要查看根据报文类型(如IPv4、IPv6、MPLS、L2)来修改增强模板中对应报文类型的负载分担方式。
例如:修改增强模板“test”中IPv4报文负载分担方式为dip。
<HUAWEI> system-view [HUAWEI] load-balance-profile test [HUAWEI-load-balance-profile-test] ipv4 field dip [HUAWEI-load-balance-profile-test] quit
- 确认报文特征
- 检查选中的成员接口个数是否为2的指数倍
当Eth-Trunk接口下选中的成员口个数为2的指数倍时,流量负载分担更均衡。
执行命令display eth-trunk查看被选中的成员接口,Eth-Trunk接口下被选中成员端口的识别方法为:
- 在LACP模式下(V100R006C03/V100R006C05/V200R001版本,WorkingMode为STATIC,V200R002及之后版本,WorkingMode为LACP),Status为Selected的接口。
- 在手工模式下(WorkingMode为NORMAL),Status为Up的接口。
<HUAWEI> display eth-trunk 1 Eth-Trunk1's state information is: Local: LAG ID: 1 WorkingMode: LACP Preempt Delay Time: 10 Hash arithmetic: According to SIP-XOR-DIP System Priority: 120 System ID: 0018-82d4-04c3 Least Active-linknumber: 1 Max Active-linknumber: 2 Operate status: up Number Of Up Port In Trunk: 2 -------------------------------------------------------------------------------- ActorPortName Status PortType PortPri PortNo PortKey PortState Weight GigabitEthernet1/0/2 Selected 1GE 10 262 2609 10111100 1 GigabitEthernet1/0/3 Selected 1GE 10 263 2609 10111100 1 GigabitEthernet1/0/4 Unselect 1GE 32768 264 2609 10100000 1 Partner: -------------------------------------------------------------------------------- ActorPortName SysPri SystemID PortPri PortNo PortKey PortState GigabitEthernet1/0/2 32768 00e0-fc6e-bb11 32768 262 2609 10111100 GigabitEthernet1/0/3 32768 00e0-fc6e-bb11 32768 263 2609 10111100 GigabitEthernet1/0/4 32768 00e0-fc6e-bb11 32768 264 2609 10110000
- 检查是否存在堆叠/集群跨框Eth-Trunk
如果是非已知单播报文,该步不需要执行。
Eth-Trunk接口默认已使能本地优先转发功能。即堆叠/集群场景下,从一个堆叠/集群成员设备端口进入的报文,出端口若为Eth-Trunk,在本框有该Eth-Trunk的成员口,且成员口无故障时只会从该框上的Eth-Trunk成员口转发,不会从其它堆叠/集群成员的Eth-Trunk成员口转发。
此情况下可以使用如下命令去使能本地优先转发功能。
<HUAWEI> system-view [HUAWEI] interface Eth-Trunk 1 [HUAWEI-Eth-Trunk1] undo local-preference enable [HUAWEI-Eth-Trunk1] quit
说明:
流量本地优先转发功能只对已知单播有效,对广播、组播和未知单播均不生效。
- 如果以上步骤仍然不能解决Eth-Trunk接口下流量负载分担不均的问题,请收集相关信息后联系技术支持人员处理。