LACP 绑定在 Cisco N5000 上间歇性工作

LACP 绑定在 Cisco N5000 上间歇性工作

我们的客户使用的是 Centos 7.1 和 7.3。它们是两个 10GB 卡,绑定在一起形成一个 20GB 链路。每个网卡都连接到一对 Cisco N5000 交换机。在运行 cp 或 iperf 时,我可以看到有时流量只流经一个接口,因此我们只能实现 10GB。其他时候,流量会流经两个接口,我们得到 20GB。

这不是网卡或电缆故障,因为我测试了一些服务器,它们都表现出相同的行为。

同一交换机/子网上的两个客户端之间的 iperf。

# for i in {1..10}; do iperf -c 172.16.15.19 -l 1M -P 16 -t 300| grep SUM; done
[SUM]  0.0-300.0 sec   344 GBytes  9.84 Gbits/sec
[SUM]  0.0-300.0 sec   344 GBytes  9.84 Gbits/sec
[SUM]  0.0-300.0 sec   344 GBytes  9.84 Gbits/sec
[SUM]  0.0-300.0 sec   344 GBytes  9.84 Gbits/sec
[SUM]  0.0-300.0 sec   344 GBytes  9.83 Gbits/sec
[SUM]  0.0-300.0 sec   688 GBytes  19.7 Gbits/sec
[SUM]  0.0-300.0 sec   344 GBytes  9.85 Gbits/sec
[SUM]  0.0-300.0 sec   344 GBytes  9.84 Gbits/sec
[SUM]  0.0-300.0 sec   344 GBytes  9.83 Gbits/sec
[SUM]  0.0-300.0 sec   688 GBytes  19.7 Gbits/sec

这是债券设置

DEVICE=bond1
ONBOOT=yes
NETBOOT=yes
TYPE=Ethernet
HOSTNAME=removed
BOOTPROTO=static
IPADDR=172.16.15.18
NETMASK=255.255.255.0
GATEWAY=172.16.15.1
DNS1=10.1.1.71
DNS2=10.1.1.70
MTU=9000
BONDING_MASTER=yes
BONDING_OPTS="mode=4 miimon=100 xmit_hash_policy=layer3+4"

这是 eth 设置。仅发布一个,因为除了 eth 名称外,其余设置完全相同。

BOOTPROTO=none
TYPE=Ethernet
NAME=eth16
DEVICE=eth16
ONBOOT=yes
MTU=9000
MASTER=bond1
SLAVE=yes

以下是 Cisco N5000 的设置。

interface port-channel3008
  description <removed>
  switchport access vlan 3900
  vpc 3008

interface Ethernet103/1/31
  description <removed>
  switchport access vlan 3900
  channel-group 3008 mode active

答案1

您真正看到的只是端口通道负载平衡算法的“量化”效果。单个流将始终通过相同的物理接口,并且就您而言,测试中有两个点必须根据可配置的哈希算法决定通过接口 1 还是 2。正如 Peter 所建议的,还要检查交换机端的负载平衡算法:最近的 Nexuse 默认为 layer3+4,较旧的 Nexuse 默认为 src-dst MAC(在这种情况下,您不会看到相同节点之间的 20Gbps 速度)。事实上,当您使用有限数量的流进行测试时,可以看到这样的情况。

相关内容