问题描述
某局2台S9700集群,分别通过eth-trunk捆绑链路上行到ME60以及下行到OLT,组网如下图,由于S9706到ME60的传输资源不稳定,需要关闭其中一条链路,当eth-trunk1的其中一条捆绑链路关闭后,OLT下挂用户有时候无法正常拨号上线,用户上网速度很慢

处理过程
1、由于是上行到ME60的其中一条链路关闭后才出现用户上网慢或者无法拨号的故障,因此首先怀疑是否剩余的另外一条链路质量有问题或者流量超限
<HI-BST-S9706>
Interface PHY Protocol InUti OutUti inErrors outErrors
Eth-Trunk1 up down 30.78% 16.23% 0 0
XGigabitEthernet1/1/0/0 *down down 0.0% 0.0% 0 0
XGigabitEthernet2/1/0/0 up down 30.77% 16.24% 0 0
查看S9706到ME60的捆绑组流量带宽利用率只有30%多,没有超限,检查端口详细信息也没有错误包,收发光功率正常,检查ME60侧的端口状态也正常。
2、进一步查看S9706的所有端口带宽利用率发现下行到OLT的某eth-trunk链路负载极不均衡,其中一条链路流量已达98%,另外一条流量很少
Eth-Trunk3 up down 23.10% 49.50% 0 0
GigabitEthernet1/2/0/22 up down 22.12% 0.22% 0 0
GigabitEthernet2/2/0/22 up down 24.08% 98.80% 0 0
为何下行的捆绑组流量分担那么不均衡?是否其中一条链路有问题导致流量不转发?但检测端口状态都正常
3、查看文档发现跨设备捆绑时,缺省是本地优先转发,当S9706-1到ME60的链路中断后,从ME60到用户的流量全部走到S9706-2上,由于捆绑组缺省为本地优先转发,此时S9706到OLT的流量会优先选择本设备的出口,从而导致所有流量都压到了GigabitEthernet2/2/0/22 上,在eth-trunk3上通过undo local-preference enable命令取消本地优先转发可以使ME60到用户的流量到达S9706时部分流量通过堆叠互连线到达1框,然后从1框的下行口1/2/0/22到达OLT,从而使流量分担,修改后查看流量比较均衡,业务正常。
Eth-Trunk3 up down 23.10% 49.50% 0 0
GigabitEthernet1/2/0/22 up down 22.12% 48.22% 0 0
GigabitEthernet2/2/0/22 up down 24.08% 49.80% 0 0
根因
跨设备链路捆绑缺省本地优先转发导致捆绑链路负载不均衡
解决方案
在捆绑组下通过undo local-preference enable命令取消本地优先转发问题解决
建议与总结
当设备集群跨设备链路捆绑时,如果上下行链路不对称时,为了避免流量负载不均衡,可以通过取消本地转发优先来实现,但这样会加重堆叠互连线之间的负担。