S5624F交换机link-aggregation成员流量负载分担不均问题

发布时间:  2012-12-13 浏览次数:  115 下载次数:  0
问题描述
 

一线反馈两台S5624F交换机之间通过link-aggregation做聚合组捆绑,运行中发现link-aggregation的两个成员口流量负载分担不均匀。
版本是:VRP software, Version 3.10, Release 1510P02
拓扑:
KOL:SDF-S5624F-SW-A1 G1/0/23----------------------G1/0/23 KOL:SDF-S5624F-SW-B1
                     G1/0/24----------------------G1/0/24
两台S5624之间的link-aggregation各有两个up的成员口,g1/0/23和g1/0/24,对同一台交换机,output的流量在两个端口上十分不均匀。
<KOL:SDF-S5624F-SW-A1> disp int g1/0/23
 GigabitEthernet1/0/23 current state : UP
 ……
 Last 300 seconds input:  316940 packets/sec 70168423 bytes/sec
 Last 300 seconds output:  333361 packets/sec 73823272 bytes/sec
 …….
<KOL:SDF-S5624F-SW-A1> disp int g1/0/24
 GigabitEthernet1/0/24 current state : UP
……
 Last 300 seconds input:  14352 packets/sec 3174174 bytes/sec
 Last 300 seconds output:  14913 packets/sec 3298695 bytes/sec
 Input(total):  102690312049 packets, 22708037090742 bytes
 ……

处理过程
 

1、查看捆绑组信息。
两台S5624之间使用了link-aggregation,2个端口为Select Ports,其中GigabitEthernet1/0/23是Master Port:
<KOL:SDF-S5624F-SW-A1>disp link-aggregation summary 
Aggregation Group Type:D -- Dynamic, S -- Static , M -- Manual 
Loadsharing Type: Shar -- Loadsharing, NonS -- Non-Loadsharing
Actor ID: 0x8000, 000f-e2a5-3ce8
  AL  AL   Partner ID            Select Unselect Share Master
  ID  Type                       Ports  Ports    Type  Port
--------------------------------------------------------------------------------
  1   D    0x8000,0000-0000-0000 1      0        NonS  GigabitEthernet1/0/22  
  2   M    none                  2      0        Shar  GigabitEthernet1/0/23  
2、查看端口MAC表项。
<KOL:SDF-S5624F-SW-A1>disp mac interface 1/0/23
MAC ADDR        VLAN ID   STATE          PORT INDEX               AGING TIME(s)
0018-8257-e80d  30        Learned        GigabitEthernet1/0/23    AGING
00d0-d007-c951  30        Learned        GigabitEthernet1/0/23    AGING
0018-8257-e80d  31        Learned        GigabitEthernet1/0/23    AGING
0018-8257-e80d  32        Learned        GigabitEthernet1/0/23    AGING
0018-8257-e80d  33        Learned        GigabitEthernet1/0/23    AGING
0000-5e00-0122  34        Learned        GigabitEthernet1/0/23    AGING
0018-8257-e80d  34        Learned        GigabitEthernet1/0/23    AGING
00e0-fcfa-38bf  502       Learned        GigabitEthernet1/0/23    AGING
00e0-fcfa-38c4  502       Learned        GigabitEthernet1/0/23    AGING
000f-e2a5-3d79  1000      Learned        GigabitEthernet1/0/23    AGING
0018-8257-e80d  1000      Learned        GigabitEthernet1/0/23    AGING
  ---  11 mac address(es) found on port GigabitEthernet1/0/23 ---  
<KOL:SDF-S5624F-SW-A1>disp mac interface g1/0/24
No Mac address on the port!
<KOL:SDF-S5624F-SW-B1>disp  mac-address int g1/0/23
MAC ADDR        VLAN ID   STATE          PORT INDEX               AGING TIME(s)
0000-5e00-011e  30        Learned        GigabitEthernet1/0/23    AGING
0018-8257-e807  30        Learned        GigabitEthernet1/0/23    AGING
0000-5e00-011f  31        Learned        GigabitEthernet1/0/23    AGING
00d0-d008-2ff2  31        Learned        GigabitEthernet1/0/23    AGING
0000-5e00-0120  32        Learned        GigabitEthernet1/0/23    AGING
00d0-d007-58ff  32        Learned        GigabitEthernet1/0/23    AGING
0000-5e00-0121  33        Learned        GigabitEthernet1/0/23    AGING
0018-8257-e807  33        Learned        GigabitEthernet1/0/23    AGING
00d0-d008-6c04  34        Learned        GigabitEthernet1/0/23    AGING
0000-5e00-0194  502       Learned        GigabitEthernet1/0/23    AGING
0018-8257-e807  1000      Learned        GigabitEthernet1/0/23    AGING
  ---  11 mac address(es) found on port GigabitEthernet1/0/23 ---  
<KOL:SDF-S5624F-SW-B1>disp  mac-address int g1/0/24
No Mac address on the port!
可以看到两台S5624上,到对方的MAC地址都比较少,因为聚合组上学到的MAC显示在组合组的Master端口上,所以说看到的MAC出接口都是G1/0/23。
对目的MAC是学习在聚合组上的2层流量,根据MAC hash对应的出端口号:((源MAC后3位)XOR(目的MAC后3位))MOD(聚合组端口数目).
以当前查看到的MAC为源MAC和目的MAC组成数据流,根据hash算法计算,可以得出出端口号,见附件 “Hash result”。可以看出两台S5624交换机之间的流量集中在0号端口上。
对目前的link-aggregation端口的编号顺序,可以通过以下命令查看:
DIAG.1> trunk show                                                              
trunk 0: 2 ports=ge10,ge11 dlf=ge10 mc=ge10 ipmc=ge10 psc=srcdestip (0x6)       
计算出的0、1分别对应聚合组内的两个端口ge10和ge11,即分别对应G1/0/23和G1/0/24。
所以流量都集中到了G1/0/23端口上。
至此定位问题原因,现场业务流少,且S5624 link-aggregation的二层流量hash算法简单,导致负载分担不均的问题出现。

根因
 

两台S5624之间启用link-aggregation后,流量是按照逐流负责分担的方式hash到其两个成员端口上,初步判断可能现场流量比较集中,导致大部分流量hash到了其中的一个端口上,从而造成负载分担不均匀。

解决方案

修改流量模型。

建议与总结
负载分担场景一定要考虑用户业务模型的特点。

END