一、如何定位手工负载分担模式Eth-Trunk不能UP?

遇到这种问题时,如下的定位思路,屡试不爽哦:

  • 查看手工Eth-Trunk成员口物理状态是否UP;
  • 查看Eth-Trunk接口下是否配置活动接口数目的下限阈值。

具体的定位步骤,请小伙伴们往下瞧:

步骤1:检查成员口物理状态是否UP

成员口物理状态UP是Eth-Trunk正常工作的前提。

通过命令display eth-trunk查看Eth-Trunk接口下的成员口信息。如果成员口在Eth-Trunk下的状态为Down,请参见这篇《以太网接口物理DOWN故障专题》文章哦。

步骤2 :检查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。

另外,小伙伴们注意啦,缺省情况下,Eth-Trunk活动接口数目下限阈值为1,可以通过命令least active-linknumber link-number配置链路聚合组活动接口数目的下限阈值。

二、如何定位LACP模式Eth-Trunk协商不成功?

同样滴,小编也总结了这类故障的定位思路哦:

  • 查看Eth-Trunk成员口物理状态是否UP;
  • 查看Eth-Trunk接口下是否配置链路聚合带宽接口数的上限阈值;
  • 查看Eth-Trunk成员口是否能够正常收发LACP报文。

步骤1: 检查成员口物理状态是否UP

成员口物理状态UP是被Eth-Trunk选中的前提。 通过命令display eth-trunk查看Eth-Trunk接口下的成员口信息。如果成员口在Eth-Trunk下的状态为Down,和上面一样,请小伙伴们先排除接口故障的原因。

步骤2: 检查Eth-Trunk接口下的配置

查看Eth-Trunk两端配置是否对等。因涉及到设备LACP报文的协商,需要两端都配置为LACP模式。 通过命令行display eth-trunk查看Eth-Trunk下是否配置了活动接口数目的上限阈值和下限阈值。如果Eth-Trunk接口下UP的成员口数目少于配置的活动接口数目的下限阈值,则Eth-Trunk状态会变为Down。

缺省情况下,Eth-Trunk活动接口数目下限阈值为1,可以通过命令least active-linknumber _link-number_配置;活动接口数目上限阈值为8,可以通过命令max active-linknumber _link-number_配置。

如果在配置此命令前已经配置了least active-linknumber命令,则需要保证此命令所配置的上限阈值大于或等于least active-linknumber命令中设置的下限阈值。

步骤3: 检查Eth-Trunk成员口的LACP报文收发是否正常

通过命令行display lacp statistics eth-trunk查看Eth-Trunk成员口下的LACP协商报文收发是否正常。

报文增长数目同Eth-Trunk接口下配置的报文超时时间相关:

报文增长数目与Eth-Trunk接口下配置的报文超时时间相关,可以在Eth-Trunk接口视图下执行lacp timeout { fast | slow }命令配置LACP模式下Eth-Trunk接口接收LACP协议报文的超时时间。

  • 配置fast的超时时间后,对端发送LACP报文的周期为1秒,响应性能好,但占用系统资源相对slow参数情况较大;
  • 配置slow的超时时间后,对端发送LACP报文的周期为30秒,响应性较fast低一些,但占用系统资源也比较少。两端配置的超时时间可以不一致,但为了便于维护,建议用户配置一致的LACP协议报文超时时间。
  • 如果接收的LACP协议报文计数增长不正确,则检查是对端设备没有发出还是被本端设备收到后丢弃;如果本端收到的LACP报文计数不正确,需要检查为什么本端口没有正常接收LACP协议报文。

三、如何定位Eth-Trunk接口下流量负载分担不均?

同样滴,小编也总结了这类故障的定位思路哦:

  • 确认报文特征与负载分担方式是否匹配;
  • 检查选中的成员接口个数是否为2的指数倍;
  • 检查是否存在堆叠/集群跨框Eth-Trunk。

步骤1: 确认报文特征与负载分担方式是否匹配

确认通过Eth-Trunk接口转发的报文特征和配置的负载分担方式是否匹配。如果不匹配,例如转发报文的MAC地址变化,而设置的负载分担方式为src-ip,则无法负载分担。

可通过以下几个步骤检查和修改:

(1) 确认报文特征

  • 确定报文的转发方式:已知单播和非已知单播的转发流程不同,且默认的负载分担算法也不同,所以需要先确认转发报文是已知单播还是非已知单播。
  • 确定报文的变化因子:确定报文变化的是报文的MAC地址、IP地址或者Label等
  • 确定报文的类型:确定报文为IP报文、MPLS报文或者二层报文等。

说明:MAC表中没有该报文的目的MAC地址,则该报文为非已知单播报文。

(2) 检查Eth-Trunk接口的负载分担方式。

根据上一步确认的报文转发方式(已知单播还是非已知单播)查看Eth-Trunk接口的负载分担方式。

查看已知单播的负载分担方式:

通过命令display eth-trunk查看Hash arithmetic字段确认配置的负载分担方式,也可以通过在Eth-Trunk接口视图下执行display this命令来查看。

负载分担方式参数说明:

  • 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代表配置的负载分担模式。

对于非已知单播,执行命令display current-configuration | include unknown-unicast load-balance查看非已知单播的负载分担方式。缺省情况下,设备基于报文的源MAC地址和目的MAC地址对非已知单播进行负载分担。

(3) 确认转发的报文特征与负载分担方式是否匹配

如果报文特征与当前负载分担方式不匹配,可以根据现网流量模型修改负载分担方式。流量中该参数变化越频繁,选择此负载分担模式的流量就越均衡。 例如:仅单台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
1.
2.
3.
4.

如果报文是非已知单播,修改命令如下:

<HUAWEI> system-view  
[HUAWEI] unknown-unicast load-balance dmac
1.
2.

如果采用的负载分担方式为增强模式,则需要查看根据报文类型(如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
1.
2.
3.
4.

步骤2:检查选中的成员接口个数是否为2的指数倍

当Eth-Trunk接口下选中的成员口个数为2的指数倍时,流量负载分担更均衡。 执行命令display eth-trunk查看被选中的成员接口,Eth-Trunk接口下被选中成员端口的识别方法为:

  • 在LACP模式下(V100R006C03/V100R006C05/V200R001版本,WorkingMode为STATIC,V200R002及之后版本,WorkingMode为LACP),Status为Selected的接口。
  • 在手工模式下(WorkingMode为NORMAL),Status为Up的接口。

步骤3:检查是否存在堆叠/集群跨框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
1.
2.
3.
4.

流量本地优先转发功能只对已知单播有效,对广播、组播和未知单播均不生效。