S5700 EI eth-trunk 负载分担不均衡

发布时间:  2017-03-15 浏览次数:  1088 下载次数:  0
问题描述

拓扑如下:




SW1(7700) 和交换机SW2、SW3是三角形全互联,通过eth-trunk互联,SW1到SW2和SW3的流量负载均衡,但是流量从SW3到SW2不均衡。

流量只用一个接口走,导致此接口带宽利用率达到100%,如下: 

 

S5700   (SW3)

Eth-Trunk1                  up    up         33%  0.09%          0          0         连接S7700 均衡
  GigabitEthernet0/1/1      up    up         32%  0.01%          0          0
  GigabitEthernet0/1/2      up    up         48%  0.01%          0          0
  GigabitEthernet0/1/3      up    up         27%  0.18%          0          0
  GigabitEthernet0/1/4      up    up         24%  0.18%          0          0
Eth-Trunk2                  up    up       0.04%    25%          0          0         连接S5700 (sw2)  负载不均衡
  GigabitEthernet0/0/45     up    up          0%   100%          0          0
  GigabitEthernet0/0/46     up    up       0.01%  0.01%          0          0
  GigabitEthernet0/0/47     up    up       0.01%  0.01%          0          0
  GigabitEthernet0/0/48     up    up       0.18%  0.01%          0          0

 


处理过程

1、尝试修改负载分担方式为load-balance src-mac后流量依旧只从一个接口走,并且测试,如果把第100%流量的接口down了
流量都会走到另外一个接口,同样是只走一个接口。

2、怀疑和设备特性相关,经查询:

S5700EI(以及S7700标准性单板) 属于低端交换机,其组播Eth-trunk HASH默认方式是基于MAC地址进行HASH;

S7700 增强型单板,其组播Eth-trunk HASH默认方式是基于IP地址进行HASH;

另外所有的组播和广播都算作未知单播,默认都是在VLAN内广播转发的。

查看接口流量主要为组播流量:
GigabitEthernet0/0/45 current state : UP
Line protocol current state : UP
Description:
Switch Port, TPID : 8100(Hex), The Maximum Frame Length is 1600
IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 1047-8037-4010
Current system time: 2016-12-12 12:06:33-05:13
Port Mode: COMMON COPPER
Speed : 1000,  Loopback: NONE
Duplex: FULL,  Negotiation: ENABLE
Mdi   : AUTO
Last 300 seconds input rate 0 bits/sec, 0 packets/sec
Last 300 seconds output rate 1003047256 bits/sec, 88449 packets/sec
Input peak rate 25696 bits/sec, Record time: 2016-12-09 14:18:32
Output peak rate 1184709832 bits/sec, Record time: 2016-12-09 17:46:20
Input:  16440 packets, 2017749 bytes
Unicast        :                  12, Multicast          :               10397
Broadcast      :                6031, Jumbo              :                   0
CRC            :                   0, Giants             :                   0
Jabbers        :                   0, Fragments          :                   0
Runts          :                   0, DropEvents         :                   0
Alignments     :                   0, Symbols            :                   0
Ignoreds       :                   0, Frames             :                   0
Discard        :                   0, Total Error        :                   0
Pause          :                   0
Output:  20667423124 packets, 29323052393475 bytes
Unicast        :               91739, Multicast          :         20666833112            
Broadcast      :              498272, Jumbo              :                   1
Collisions     :                   0, Deferreds          :                   0
Late Collisions:                   0, ExcessiveCollisions:                   0
Buffers Purged :                   0
Discard        :          6303345587, Total Error        :                   0
Pause          :                   0
    Input bandwidth utilization threshold : 100.00%
    Output bandwidth utilization threshold: 100.00%
    Input bandwidth utilization  :    0%
    Output bandwidth utilization :  100%

需要通过unknown-unicast load-balance命令配置非已知单播的负载分担方式

根因

hash 因子不匹配导致负载问题

解决方案

系统视图下执行命令unknown-unicast load-balance smac 解决
建议与总结

需要注意:

eth-trunk 接口使用 load-balance :这个是对于已知单播流量生效

unknown-unicast load-balance命令用来配置非已知单播的负载分担方式

END