遇到这种问题时,小编给大家总结了如下的定位思路,屡试不爽哦:
具体的定位步骤,请小伙伴们往下瞧:
成员口物理状态UP是Eth-Trunk正常工作的前提。
通过命令display eth-trunk查看Eth-Trunk接口下的成员口信息。如果成员口在Eth-Trunk下的状态为Down,请参见这篇《以太网接口物理DOWN故障专题》文章哦。
通过命令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配置链路聚合组活动接口数目的下限阈值。
同样滴,小编也总结了这类故障的定位思路哦:
成员口物理状态UP是被Eth-Trunk选中的前提。 通过命令display eth-trunk查看Eth-Trunk接口下的成员口信息。如果成员口在Eth-Trunk下的状态为Down,和上面一样,请小伙伴们先排除接口故障的原因。
查看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命令中设置的下限阈值。
通过命令行display lacp statistics eth-trunk查看Eth-Trunk成员口下的LACP协商报文收发是否正常。
报文增长数目同Eth-Trunk接口下配置的报文超时时间相关:
报文增长数目与Eth-Trunk接口下配置的报文超时时间相关,可以在Eth-Trunk接口视图下执行lacp timeout { fast | slow }命令配置LACP模式下Eth-Trunk接口接收LACP协议报文的超时时间。
同样滴,小编也总结了这类故障的定位思路哦:
确认通过Eth-Trunk接口转发的报文特征和配置的负载分担方式是否匹配。如果不匹配,例如转发报文的MAC地址变化,而设置的负载分担方式为src-ip,则无法负载分担。
可通过以下几个步骤检查和修改:
(1) 确认报文特征
说明:MAC表中没有该报文的目的MAC地址,则该报文为非已知单播报文。
(2) 检查Eth-Trunk接口的负载分担方式。
根据上一步确认的报文转发方式(已知单播还是非已知单播)查看Eth-Trunk接口的负载分担方式。
查看已知单播的负载分担方式:
通过命令display eth-trunk查看Hash arithmetic字段确认配置的负载分担方式,也可以通过在Eth-Trunk接口视图下执行display this命令来查看。
负载分担方式参数说明:
增强负载分担方式全局只有一个模板,对已知单播和非已知单播同样生效,针对不同报文类型选取不同的字段进行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地址的负载分担方式。 如果报文是已知单播,修改命令如下:
system-view
[HUAWEI] interface Eth-Trunk 1
[HUAWEI-Eth-Trunk1] load-balance dst-mac
[HUAWEI-Eth-Trunk1] quit
如果报文是非已知单播,修改命令如下:
system-view
[HUAWEI] unknown-unicast load-balance dmac
如果采用的负载分担方式为增强模式,则需要查看根据报文类型(如IPv4、IPv6、MPLS、L2)来修改增强模板中对应报文类型的负载分担方式。 例如:修改增强模板“test”中IPv4报文负载分担方式为dip。
system-view
[HUAWEI] load-balance-profile test
[HUAWEI-load-balance-profile-test] ipv4 field dip
[HUAWEI-load-balance-profile-test] quit
当Eth-Trunk接口下选中的成员口个数为2的指数倍时,流量负载分担更均衡。 执行命令display eth-trunk查看被选中的成员接口,Eth-Trunk接口下被选中成员端口的识别方法为:
如果是非已知单播报文,该步不需要执行。
Eth-Trunk接口默认已使能本地优先转发功能。即堆叠/集群场景下,从一个堆叠/集群成员设备端口进入的报文,出端口若为Eth-Trunk,在本框有该Eth-Trunk的成员口,且成员口无故障时只会从该框上的Eth-Trunk成员口转发,不会从其它堆叠/集群成员的Eth-Trunk成员口转发。
此情况下可以使用如下命令去使能本地优先转发功能。
system-view
[HUAWEI] interface Eth-Trunk 1
[HUAWEI-Eth-Trunk1] undo local-preference enable
[HUAWEI-Eth-Trunk1] quit
流量本地优先转发功能只对已知单播有效,对广播、组播和未知单播均不生效。
本期的故障定位招数已经给大家分享完了,相信小伙伴们再遇到Eth-Trunk故障时,可以轻松应对了。以后再有故障类的案例,小编再给大家分享哦,拜拜。~~~
上一篇:七个杀手级Docker命令