Mit einem einfachen Bond-Durchsatz verwirrt, kann nicht mehr als ein Gig bekommen

7

Ich habe einen DL380-Server mit QLogic Gigabit Ethernet installiert. Es wird lediglich versucht, eine Verbindung herzustellen, es kann jedoch nicht vorkommen, dass mehr als 1 Gig-Verbindung hergestellt wird. Alle 3 Kabel von 2 Servern sind mit dem S40-Switch verbunden, an dem ich den LACP (Lag) erstellt habe. Die Verbindung wird hergestellt und die Verzögerung wird aktiv angezeigt, aber ich kann nur nicht mehr als 1 Gig Durchsatz erzielen. Ich teste mit iperf3. Versuchte alle verschiedenen Bonding-Modi, rr, 802.3d alles, kann aber nicht einfach mehr als 900 Mbit / s oder so gehen. Mir fehlt etwas, aber ich kann es nicht herausfinden.

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

Versuchte alle Arten von Google-Sachen, aber es scheint nicht zu funktionieren. Und ich habe keine Ideen mehr. Schätzen Sie, ob mich jemand in die richtige Richtung fahren kann.

Vielen Dank.

NBhatti
quelle

Antworten:

13

@ewwhite richtig. Ich werde nur etwas erklären. Wenn Sie Ihre Verbindung zwischen zwei Computern testen, verwenden Sie nur eine Netzwerkkarte. LACP teilt Pakete nicht auf mehrere Schnittstellen für einen einzelnen Stream / Thread auf. Beispielsweise sendet / empfängt ein einzelner TCP-Stream immer Pakete auf derselben Netzwerkkarte. Sie können also nur dann eine höhere Geschwindigkeit sehen, wenn Sie mit mehr als einem Ziel testen. Es gibt eine gute Antwort , wo es beschrieben wird.

Alexander Tolkachev
quelle
Ja! Das ist das Richtige.
ewwhite
1
Die Aggregation funktioniert also nur unter bestimmten Bedingungen. Ich würde sagen, dass das Senden von Daten an / von mehreren Hosts den automatischen Lastausgleich der Slave-Schnittstellen ermöglicht und somit die Gesamtlast erhöht. Es ist interessant, dieses Missverständnis zu sehen, dass die Pakete irgendwie automatisch auf die verschiedenen Slaves verteilt werden, aber wenn Sie den oben erwähnten Link und das Bonding-Dokument gründlich durchgehen, scheinen Sie genug Gedanken zu klären. Scheint, als ob die einzige Möglichkeit darin besteht, damit herumzuspielen xmit_hash_policy, denke ich.
NBhatti
@NBhatti ja, du hast recht.
Alexander Tolkachev
8

Es scheint, als wären Bonding und LACP eines der am schlechtesten verstandenen Konzepte in der Vernetzung.

Die kurze Erklärung ist jedoch, dass Sie mit einem einzigen Quelle-Ziel-Paar niemals mehr als eine Verbindung durchgehend erreichen werden. Wenn Sie mehr Bandbreite für eine einzelne Verbindung benötigen, müssen Sie auf 10 GbE umsteigen.

ewwhite
quelle
Ich verstehe das. Beides sollte funktionieren. Nic Teaming, Bonding oder wie auch immer wir es nennen müssen. Sollte in der Lage sein, sich durchgehend zu aggregieren und Overheads eine Seite zu lassen. Ja, 10 GbE ist der Weg in die Zukunft, aber ich müsste mehr Ausrüstung kaufen und alle Server dafür aufrüsten. Im
Moment
2
Sie können das nicht zum Laufen bringen, wenn es so nicht funktioniert. Lesen Sie das Linux Bonding Howto . Ich würde genau darauf achten xmit_hash_policy.
Yoonix