一、如何定位手工负载分担模式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
如果报文是非已知单播,修改命令如下:
<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:检查选中的成员接口个数是否为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
流量本地优先转发功能只对已知单播有效,对广播、组播和未知单播均不生效。
本期的故障定位招数已经给大家分享完了,相信小伙伴们再遇到Eth-Trunk故障时,可以轻松应对了。以后再有故障类的案例,小编再给大家分享哦,拜拜。~~~