对简单的债券吞吐量感到困惑,只能获得 Gig

NBh*_*tti 7 linux bonding linux-networking

我有安装了 QLogic 千兆以太网的 DL380 服务器。只是试图建立联系,但似乎无法获得超过 1 个 Gig 链接。来自 2 个服务器的所有 3 条电缆都连接到 S40 交换机,在那里我创建了 LACP(滞后)链接出现并且滞后显示活动,但我无法获得超过 1 Gig 的吞吐量。我正在使用 iperf3 进行测试。尝试了所有不同的绑定模式,rr,802.3d 一切,但不能超过 900 Mbps 左右。我错过了一些东西,但无法弄清楚。

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer3+4 (1)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: fast
Min links: 0
Aggregator selection policy (ad_select): stable
System priority: 65535
System MAC address: 9c:8e:99:0b:78:70
Active Aggregator Info:
    Aggregator ID: 4
    Number of ports: 3
    Actor Key: 9
    Partner Key: 418
    Partner Mac Address: 00:01:e8:d5:f4:f3

Slave Interface: enp3s0f1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 9c:8e:99:0b:78:70
Slave queue ID: 0
Aggregator ID: 4
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
    system priority: 65535
    system mac address: 9c:8e:99:0b:78:70
    port key: 9
    port priority: 255
    port number: 1
    port state: 63
details partner lacp pdu:
    system priority: 32768
    system mac address: 00:01:e8:d5:f4:f3
    oper key: 418
    port priority: 128
    port number: 12
    port state: 63

Slave Interface: enp4s0f0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 9c:8e:99:0b:78:72
Slave queue ID: 0
Aggregator ID: 4
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
    system priority: 65535
    system mac address: 9c:8e:99:0b:78:70
    port key: 9
    port priority: 255
    port number: 2
    port state: 63
details partner lacp pdu:
    system priority: 32768
    system mac address: 00:01:e8:d5:f4:f3
    oper key: 418
    port priority: 128
    port number: 7
    port state: 63

Slave Interface: enp4s0f1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 9c:8e:99:0b:78:74
Slave queue ID: 0
Aggregator ID: 4
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
    system priority: 65535
    system mac address: 9c:8e:99:0b:78:70
    port key: 9
    port priority: 255
    port number: 3
    port state: 63
details partner lacp pdu:
    system priority: 32768
    system mac address: 00:01:e8:d5:f4:f3
    oper key: 418
    port priority: 128
    port number: 5
    port state: 63
Run Code Online (Sandbox Code Playgroud)

尝试了各种谷歌的东西,但似乎无法让它工作。我没有任何想法。感谢有人能把我带到正确的方向。

谢谢。

Ale*_*hev 12

@ewwhite对。我只是解释一些事情。当您测试两台机器之间的链接时,您只使用一个 NIC,LACP 不会为单个流/线程跨多个接口拆分数据包。例如,单个 TCP 流将始终在同一个 NIC 上发送/接收数据包。因此,只有在多个目的地进行测试时,您才能看到更高的速度。有很好的答案,它描述了。


eww*_*ite 8

绑定和 LACP 似乎是网络中最难理解的概念之一。

但简短的解释是,使用单个源-目标对,您永远不会实现多个连接。如果您需要在单个连接上获得更多带宽,则必须转向 10GbE。

  • 如果“它不像那样工作”,你就不能“让它工作”。阅读 [Linux Bonding Howto](https://www.kernel.org/doc/Documentation/networking/bonding.txt)。我会密切关注`xmit_hash_policy`。 (2认同)