Proxmox Ceph Cluster Network mit MC LAG - Performance

Volume

New Member
Jul 16, 2025
9
0
1
Hallo zusammen,
ich baue aktuell einen 3-Node-Proxmox-Cluster mit Ceph auf. Die Nodes sind jeweils per LACP an zwei Dell-Switches (100 Gbit) angebunden.

Netzwerktopologie:
Switch 1:

→ 100 Gbit → Node 1
→ 100 Gbit → Node 2
→ 100 Gbit → Node 3

Switch 2:
→ 100 Gbit → Node 1
→ 100 Gbit → Node 2
→ 100 Gbit → Node 3

Die LACP-Verbindungen wurden via MC-LAG eingerichtet und funktionieren grundsätzlich.

Problem:
Wenn ich mit iperf einen Geschwindigkeitstest von einem Node zu einem anderen mache, erreiche ich ca. 80 Gbit/s – das erscheint mir plausibel.
Starte ich jedoch gleichzeitig einen Test von Node 3 → Node 1 und von Node 3 → Node 2, fällt der Durchsatz auf jeweils exakt 49 Gbit/s.

Ziel:
Ich möchte erreichen, dass die Bandbreite bei parallelen Verbindungen besser aufgeteilt wird – also z. B. durch Nutzung unterschiedlicher Ports oder Wege – sodass die volle Bandbreite ausgenutzt wird.

Ich habe bereits mit verschiedenen Hashing-Algorithmen (Layer 2+3 und Layer 3+4) experimentiert – leider ohne Erfolg.

Setup:
Neue Dell Sonic Enterprise Switches
Dell Server mit Broadcom 100Gbit Netzwerkkarten
LACP/MC-LAG korrekt eingerichtet (funktioniert grundsätzlich stabil)
Bezug auf folgende Anleitung:
https://www.thomas-krenn.com/de/wiki/Ceph_Perfomance_Guide_-_Sizing_&_Testing

Frage:
Gibt es eine Möglichkeit, das LACP-Loadbalancing so zu optimieren, dass bei mehreren parallelen Verbindungen auch mehrere Links verwendet werden und nicht nur ein einziger?
Bin für jede Idee, Erfahrungswerte oder Tipps sehr dankbar – habe bereits viel getestet und recherchiert, aber bisher keine zufriedenstellende Lösung gefunden.


Viele Grüße
 
Hi, wenn du so schlechte Performance und auch unterschiedliche Perforance hast, dann hast du irgendwo einen großen fehler im Netzwerk.
Wenn du mit iperf schon die Netzwerkports nicht ausgelastet bekommst, dann läuft das Setup nicht wirklich stabil.
Eventuell mal die genaue Konfiguration der Netzwerkkonfiguration auf dem Host, hier posten.
Erreichst du mit anderen Geräten überhaupt mal wenigstens 95 GBit? Mit Jumbo Frames sollten 98 GBit drin sein bei iperf.
 
Hi, meistens pendelt sich die Performance bei den 80Gbit/s ein kurz habe ich schonmal die 90Gbit/s gesehen. Aber auch bei einer Verbindung erreich ich 98 Gbit nicht. Jumboframes bzw. MTU habe ich auf 9100 gesetzt.

Code:
auto lo
iface lo inet loopback

auto ensfp4
iface ensfp4 inet manual

auto enqsfp1
iface enqsfp1 inet manual
        mtu 9100

auto enqsfp2
iface enqsfp2 inet manual
        mtu 9100

auto ensfp1
iface ensfp1 inet manual

auto ensfp2
iface ensfp2 inet manual

auto ensfp3
iface ensfp3 inet manual

auto bond0
iface bond0 inet manual
        bond-slaves ensfp1 ensfp2
        bond-miimon 100
        bond-mode 802.3ad
#LACP für Daten und MGMT

auto bond1
iface bond1 inet manual
        bond-slaves ensfp3 ensfp4
        bond-miimon 100
        bond-mode 802.3ad
#Corosync

auto bond2
iface bond2 inet manual
        bond-slaves enqsfp1 enqsfp2
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer3+4
        mtu 9100
#Ceph Cluster Netzwerk

auto vmbr0
iface vmbr0 inet manual
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0

auto vmbr1
iface vmbr1 inet static
        address 10.10.10.21/24
        bridge-ports bond1
        bridge-stp off
        bridge-fd 0
#Corosync Untagged

auto vmbr2
iface vmbr2 inet static
        address 10.11.11.21/24
        bridge-ports bond2
        bridge-stp off
        bridge-fd 0
        mtu 9100
#Ceph Untagged

auto vlan9
iface vlan9 inet static
        address 172.20.9.21/24
        gateway 172.20.9.254
        vlan-raw-device vmbr0

source /etc/network/interfaces.d/*
 
Da haben wir vermutlich die Ursache.
Du hast 2 Fails im Setup. Bitte auf MTU 9000 setzen, und der Switch sollte dann Jumbo aktiv haben mit größeren MTU. Nimm da einfach das Maximum des Switches. Bei HPE Comware 10000, Aruba z.B. 9216 u.s.w.
Bitte für Ceph niemals eine Bridge bauen, denn die Linux Bridge limitiert hier im Bereich um 40GBit (unterschiedlich je nach CPU)
Gib die IP für Ceph direkt dem Bond Interface. Dann hast du auch volle Performance.
 
Danke für den Tipp, aber sollte die MTU nicht identisch gesetzt sein? Also am Switch und auf der Netzwerkkarte?

Ich habe mal nachgesehen was die Max MTU auf dem Switch wäre, das sind 9216, default ist aber 9100. Ich habe mal die 9100 so belassen und die Netzwerkeinstellung nach deinem Tipp geändert:

Code:
auto lo
iface lo inet loopback

auto ensfp4
iface ensfp4 inet manual

auto enqsfp1
iface enqsfp1 inet manual
        mtu 9000

auto enqsfp2
iface enqsfp2 inet manual
        mtu 9000

auto ensfp1
iface ensfp1 inet manual

auto ensfp2
iface ensfp2 inet manual

auto ensfp3
iface ensfp3 inet manual

auto bond0
iface bond0 inet manual
        bond-slaves ensfp1 ensfp2
        bond-miimon 100
        bond-mode 802.3ad
#LACP für Daten und MGMT

auto bond1
iface bond1 inet manual
        bond-slaves ensfp3 ensfp4
        bond-miimon 100
        bond-mode 802.3ad
#Corosync

auto bond2
iface bond2 inet static
        address 10.11.11.21/24
        bond-slaves enqsfp1 enqsfp2
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer3+4
        mtu 9000
#Ceph Cluster Netzwerk

auto vmbr0
iface vmbr0 inet manual
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0

auto vmbr1
iface vmbr1 inet static
        address 10.10.10.21/24
        bridge-ports bond1
        bridge-stp off
        bridge-fd 0
#Corosync Untagged

auto vlan9
iface vlan9 inet static
        address 172.20.9.21/24
        gateway 172.20.9.254
        vlan-raw-device vmbr0

source /etc/network/interfaces.d/*

Wäre es auch sinnvoll bei Corosync die Bridge zu entfernen und direkt dem Bond die IP zu geben?

Leider hat sich mit dieser Einstellung bzgl. Geschwindigkeit nichts verändert:

1753074400643.png
 
Danke für den Tipp, aber sollte die MTU nicht identisch gesetzt sein? Also am Switch und auf der Netzwerkkarte?
Natürlich nicht. Wenn die NIC ein Paket raus schickt und da z.B. ein VLAN Tag anhängt, ist das Paket ja schon größer und bei identischer Größe muss der Switch das Paket als Giant Packet verwerfen.
Ich habe mal nachgesehen was die Max MTU auf dem Switch wäre, das sind 9216, default ist aber 9100. Ich habe mal die 9100 so belassen und die Netzwerkeinstellung nach deinem Tipp geändert:
Dann am besten auf dem Switch 9216 einstellen um immer auf Nummer sicher zu gehen.
Code:
auto lo
iface lo inet loopback

auto ensfp4
iface ensfp4 inet manual

auto enqsfp1
iface enqsfp1 inet manual
        mtu 9000

auto enqsfp2
iface enqsfp2 inet manual
        mtu 9000

auto ensfp1
iface ensfp1 inet manual

auto ensfp2
iface ensfp2 inet manual

auto ensfp3
iface ensfp3 inet manual

auto bond0
iface bond0 inet manual
        bond-slaves ensfp1 ensfp2
        bond-miimon 100
        bond-mode 802.3ad
#LACP für Daten und MGMT

auto bond1
iface bond1 inet manual
        bond-slaves ensfp3 ensfp4
        bond-miimon 100
        bond-mode 802.3ad
#Corosync

auto bond2
iface bond2 inet static
        address 10.11.11.21/24
        bond-slaves enqsfp1 enqsfp2
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer3+4
        mtu 9000
#Ceph Cluster Netzwerk

auto vmbr0
iface vmbr0 inet manual
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0

auto vmbr1
iface vmbr1 inet static
        address 10.10.10.21/24
        bridge-ports bond1
        bridge-stp off
        bridge-fd 0
#Corosync Untagged

auto vlan9
iface vlan9 inet static
        address 172.20.9.21/24
        gateway 172.20.9.254
        vlan-raw-device vmbr0

source /etc/network/interfaces.d/*

Wäre es auch sinnvoll bei Corosync die Bridge zu entfernen und direkt dem Bond die IP zu geben?
Ja ist immer von Vorteil nur die Dinge zu Konfigurieren, welche gebraucht werden.
Leider hat sich mit dieser Einstellung bzgl. Geschwindigkeit nichts verändert:

View attachment 88230
Wie sieht denn die Konfiguration auf den Switches aus? Welche DELL Switches sind das? Je nach OS sind die Konfigurationen unterschiedlich und schau mal ob das LACP Layer 3+4 Supportet ist und ob die Switches auch die Policy 3+4 konfiguriert haben.
 
OK, das mit der MTU habe ich so gesetzt. Denke aber das 9000/9100 schon ausreichend sein sollte. Da ich die Interfaces nur für Ceph verwende und entsprechend auch kein VLAN etc.

Bzgl. LACP habe ich lange gesucht und auch mit Dell direkt gesprochen. Anscheinend gibt es keine Switches welches MCLAG Layer3+4 Supporten. Aber die Datenlage dazu ist etwas verwirrend. Tatsächlich habe ich bei den Switches hierzu nichts konfiguriert außer einem Portchannel. Ich habe dann verschieden Einstellungen am Proxmox getestet und hatte die beste Verteilung mit 3+4, jedoch hat sich bei der Portgeschwindigkeit selbst nichts verbessert oder geändert auch ohne Bond.

Hier kurz der Auszug aus der Konfiguration (Es sind zwei Dell EMC S5232F-ON mit Sonic Enterprise 4.5(neueste))

Code:
#Hier sind die Server angebunden
interface PortChannel1
 switchport access Vlan 12
 no shutdown
 mclag 99
 
interface Ethernet0
 mtu 9100
 speed 100000
 unreliable-los auto
 channel-group 1
 no shutdown


#MCLAG Peer Port
interface PortChannel99 mode on
 switchport trunk allowed Vlan 1-4094
 no shutdown

interface Ethernet120
 mtu 9100
 speed 100000
 unreliable-los auto
 channel-group 99
 no shutdown
 
mclag domain 99
 source-ip 10.12.12.241
 peer-ip 10.12.12.242
 peer-link PortChannel99
 mclag-system-mac 00:11:22:33:44:55
 keepalive-interval 1
 session-timeout 30
 delay-restore 300
 backup-keepalive interval 30

Der Rest ist eigentlich Default, bis auf die Standards wie Zeitzone etc.

Bei der Konfiguration habe ich mich an den Dell User Guide gehalten.
 
Dann spricht der Switch gar kein LACP.
Teste mal roundrobin statt LACP, da solltest du deutlich bessere Werte bekommen.
 
Danke für deine Hilfe.

Also ich habe laut Doku das hier gebaut:
1753175854323.png
Also der Switch wird schon LACP können. Er erkennt auch die LACP Ports.
1753176758967.png
Über RoundRobin habe ich nichts gefunden in der Doku.

Trotzdem versuchen?
 
Ich habe mal zum testen versucht die Server direkt über das Switch ohne Bonding oder LACP zu verbinden und iperf laufen lassen. Es ist so das jedes mal ein anderer Wert kommt. Das Maximum was ich gesehen habe waren 95Gbit/s. Danach ist es aber wieder bei 80 hängen geblieben. Sehr merkwürdig:


Code:
Last login: Tue Jul 22 14:05:37 CEST 2025 on pts/3
root@host2502:~# iperf3 -c 10.15.15.21 -t 3600 C-m
Connecting to host 10.15.15.21, port 5201
[  5] local 10.15.15.22 port 58218 connected to 10.15.15.21 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  8.45 GBytes  72.6 Gbits/sec    0   1.43 MBytes       
[  5]   1.00-2.00   sec  8.39 GBytes  72.0 Gbits/sec    0   1.51 MBytes       
[  5]   2.00-3.00   sec  8.23 GBytes  70.7 Gbits/sec    0   1.51 MBytes       
[  5]   3.00-4.00   sec  8.18 GBytes  70.3 Gbits/sec    0   1.60 MBytes       
[  5]   4.00-5.00   sec  8.53 GBytes  73.3 Gbits/sec    0   1.60 MBytes       
[  5]   5.00-6.00   sec  10.9 GBytes  93.4 Gbits/sec    0   1.68 MBytes       
[  5]   6.00-7.00   sec  11.1 GBytes  95.7 Gbits/sec    0   1.77 MBytes       
[  5]   7.00-8.00   sec  11.1 GBytes  95.2 Gbits/sec    0   1.77 MBytes       
[  5]   8.00-9.00   sec  11.1 GBytes  95.3 Gbits/sec    0   1.77 MBytes       
[  5]   9.00-10.00  sec  11.1 GBytes  95.3 Gbits/sec    0   1.77 MBytes       
[  5]  10.00-11.00  sec  11.1 GBytes  95.5 Gbits/sec    0   1.77 MBytes       
[  5]  11.00-12.00  sec  11.1 GBytes  95.5 Gbits/sec    0   1.77 MBytes       
[  5]  12.00-13.00  sec  11.1 GBytes  95.3 Gbits/sec    0   1.77 MBytes       
[  5]  13.00-14.00  sec  11.1 GBytes  95.7 Gbits/sec    0   2.65 MBytes       
[  5]  14.00-15.00  sec  11.1 GBytes  95.7 Gbits/sec    0   2.65 MBytes       
[  5]  15.00-16.00  sec  11.1 GBytes  95.2 Gbits/sec    0   2.65 MBytes       
[  5]  16.00-17.00  sec  11.1 GBytes  95.6 Gbits/sec    0   2.65 MBytes       
[  5]  17.00-18.00  sec  11.1 GBytes  95.6 Gbits/sec    0   2.65 MBytes       
[  5]  18.00-19.00  sec  11.1 GBytes  94.9 Gbits/sec    0   2.65 MBytes       
[  5]  19.00-20.00  sec  11.1 GBytes  95.6 Gbits/sec    0   2.65 MBytes       
[  5]  20.00-21.00  sec  11.1 GBytes  95.5 Gbits/sec    0   2.65 MBytes       
[  5]  21.00-22.00  sec  11.1 GBytes  95.8 Gbits/sec    0   2.65 MBytes       
[  5]  22.00-23.00  sec  11.1 GBytes  95.6 Gbits/sec    0   2.65 MBytes       
[  5]  23.00-24.00  sec  11.1 GBytes  95.3 Gbits/sec    0   2.65 MBytes       
[  5]  24.00-25.00  sec  11.1 GBytes  95.2 Gbits/sec    0   2.65 MBytes       
[  5]  25.00-26.00  sec  11.1 GBytes  95.4 Gbits/sec    0   2.65 MBytes       
[  5]  26.00-27.00  sec  11.1 GBytes  95.5 Gbits/sec    0   2.65 MBytes       
[  5]  27.00-28.00  sec  11.1 GBytes  95.2 Gbits/sec    0   2.65 MBytes       
^C[  5]  28.00-28.53  sec  5.84 GBytes  94.8 Gbits/sec    0   2.65 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-28.53  sec   303 GBytes  91.2 Gbits/sec    0             sender
[  5]   0.00-28.53  sec  0.00 Bytes  0.00 bits/sec                  receiver
iperf3: interrupt - the client has terminated
root@host2502:~# iperf3 -c 10.15.15.21 -t 3600 C-m
Connecting to host 10.15.15.21, port 5201
[  5] local 10.15.15.22 port 44522 connected to 10.15.15.21 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  9.53 GBytes  81.8 Gbits/sec    0   1.82 MBytes       
[  5]   1.00-2.00   sec  9.60 GBytes  82.4 Gbits/sec    0   1.93 MBytes       
[  5]   2.00-3.00   sec  9.73 GBytes  83.6 Gbits/sec    0   1.93 MBytes       
[  5]   3.00-4.00   sec  9.67 GBytes  83.1 Gbits/sec    0   1.93 MBytes       
[  5]   4.00-5.00   sec  9.67 GBytes  83.1 Gbits/sec    0   1.93 MBytes       
[  5]   5.00-6.00   sec  9.71 GBytes  83.4 Gbits/sec    0   1.93 MBytes       
[  5]   6.00-7.00   sec  9.57 GBytes  82.2 Gbits/sec    0   1.93 MBytes       
[  5]   7.00-8.00   sec  9.80 GBytes  84.2 Gbits/sec    0   1.93 MBytes       
[  5]   8.00-9.00   sec  9.68 GBytes  83.1 Gbits/sec    0   1.93 MBytes       
[  5]   9.00-10.00  sec  9.85 GBytes  84.6 Gbits/sec    0   1.93 MBytes       
[  5]  10.00-11.00  sec  9.85 GBytes  84.6 Gbits/sec    0   1.93 MBytes       
[  5]  11.00-12.00  sec  9.89 GBytes  85.0 Gbits/sec    0   1.93 MBytes       
[  5]  12.00-13.00  sec  9.83 GBytes  84.5 Gbits/sec    0   1.93 MBytes       
[  5]  13.00-14.00  sec  9.96 GBytes  85.5 Gbits/sec    0   1.93 MBytes       
[  5]  14.00-15.00  sec  9.89 GBytes  85.0 Gbits/sec    0   1.93 MBytes           
^C[  5]  28.00-28.55  sec  5.39 GBytes  84.1 Gbits/sec    0   1.93 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-28.55  sec   280 GBytes  84.3 Gbits/sec    0             sender
[  5]   0.00-28.55  sec  0.00 Bytes  0.00 bits/sec                  receiver
iperf3: interrupt - the client has terminated
root@host2502:~# iperf3 -c 10.15.15.21 -t 3600 C-m
Connecting to host 10.15.15.21, port 5201
[  5] local 10.15.15.22 port 53732 connected to 10.15.15.21 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  9.41 GBytes  80.8 Gbits/sec    0   1.72 MBytes       
[  5]   1.00-2.00   sec  9.45 GBytes  81.2 Gbits/sec    0   1.72 MBytes       
[  5]   2.00-3.00   sec  9.47 GBytes  81.3 Gbits/sec    0   1.72 MBytes       
[  5]   3.00-4.00   sec  9.58 GBytes  82.3 Gbits/sec    0   1.72 MBytes       
[  5]   4.00-5.00   sec  9.77 GBytes  83.9 Gbits/sec    0   1.72 MBytes       
[  5]   5.00-6.00   sec  9.82 GBytes  84.3 Gbits/sec    0   1.72 MBytes       
[  5]   6.00-7.00   sec  9.89 GBytes  84.9 Gbits/sec    0   1.72 MBytes       
[  5]   7.00-8.00   sec  9.88 GBytes  84.9 Gbits/sec    0   1.72 MBytes       
[  5]  24.00-25.00  sec  9.80 GBytes  84.2 Gbits/sec    0   2.62 MBytes       
[  5]  25.00-26.00  sec  9.77 GBytes  83.9 Gbits/sec    0   2.62 MBytes       
[  5]  26.00-27.00  sec  9.81 GBytes  84.3 Gbits/sec    0   2.62 MBytes       
[  5]  27.00-28.00  sec  9.84 GBytes  84.6 Gbits/sec    0   2.62 MBytes       
[  5]  39.00-40.00  sec  9.87 GBytes  84.8 Gbits/sec    0   2.62 MBytes       
[  5]  40.00-41.00  sec  9.84 GBytes  84.6 Gbits/sec    0   2.62 MBytes       
[  5]  41.00-42.00  sec  9.86 GBytes  84.7 Gbits/sec    0   2.62 MBytes       
[  5]  42.00-43.00  sec  9.87 GBytes  84.8 Gbits/sec    0   2.62 MBytes       
[  5]  43.00-44.00  sec  9.82 GBytes  84.4 Gbits/sec    0   2.62 MBytes       
[  5]  44.00-45.00  sec  9.84 GBytes  84.6 Gbits/sec    0   2.62 MBytes       
^C[  5]  45.00-45.33  sec  3.30 GBytes  84.7 Gbits/sec    0   2.62 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-45.33  sec   445 GBytes  84.2 Gbits/sec    0             sender
[  5]   0.00-45.33  sec  0.00 Bytes  0.00 bits/sec                  receiver
iperf3: interrupt - the client has terminated
root@host2502:~# iperf3 -c 10.15.15.21 -t 3600 C-m
Connecting to host 10.15.15.21, port 5201
[  5] local 10.15.15.22 port 59792 connected to 10.15.15.21 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  10.7 GBytes  91.9 Gbits/sec   72   1.35 MBytes       
[  5]   1.00-2.00   sec  10.7 GBytes  92.0 Gbits/sec    0   1.51 MBytes       
[  5]   2.00-3.00   sec  10.8 GBytes  93.0 Gbits/sec    0   1.67 MBytes       
[  5]   3.00-4.00   sec  11.3 GBytes  97.3 Gbits/sec    0   1.67 MBytes       
[  5]   4.00-5.00   sec  11.3 GBytes  97.4 Gbits/sec    0   1.67 MBytes       
[  5]   5.00-6.00   sec  11.3 GBytes  97.1 Gbits/sec    0   1.67 MBytes       
[  5]   6.00-7.00   sec  11.3 GBytes  97.3 Gbits/sec    0   1.76 MBytes       
[  5]   7.00-8.00   sec  11.3 GBytes  97.2 Gbits/sec    0   1.79 MBytes       
[  5]   8.00-9.00   sec  11.3 GBytes  97.4 Gbits/sec    0   1.81 MBytes       
[  5]   9.00-10.00  sec  11.3 GBytes  97.2 Gbits/sec    0   1.99 MBytes       
[  5]  10.00-11.00  sec  11.3 GBytes  97.0 Gbits/sec    0   1.99 MBytes       
[  5]  11.00-12.00  sec  11.2 GBytes  96.5 Gbits/sec    0   1.99 MBytes       
[  5]  12.00-13.00  sec  11.3 GBytes  97.4 Gbits/sec    0   1.99 MBytes       
[  5]  13.00-14.00  sec  11.3 GBytes  97.5 Gbits/sec    0   1.99 MBytes       
[  5]  14.00-15.00  sec  11.3 GBytes  97.1 Gbits/sec    0   1.99 MBytes       
[  5]  15.00-16.00  sec  11.3 GBytes  96.7 Gbits/sec    0   1.99 MBytes       
[  5]  16.00-17.00  sec  11.3 GBytes  96.9 Gbits/sec    0   1.99 MBytes       
[  5]  17.00-18.00  sec  11.3 GBytes  97.3 Gbits/sec    0   1.99 MBytes       
[  5]  18.00-19.00  sec  11.3 GBytes  97.0 Gbits/sec    0   1.99 MBytes       
[  5]  19.00-20.00  sec  11.3 GBytes  97.1 Gbits/sec    0   1.99 MBytes       
[  5]  20.00-21.00  sec  11.4 GBytes  97.6 Gbits/sec    0   1.99 MBytes       
[  5]  21.00-22.00  sec  11.3 GBytes  97.0 Gbits/sec    0   1.99 MBytes       
[  5]  22.00-23.00  sec  11.3 GBytes  96.8 Gbits/sec    0   1.99 MBytes       
[  5]  23.00-24.00  sec  11.3 GBytes  96.9 Gbits/sec    0   1.99 MBytes       
[  5]  24.00-25.00  sec  11.2 GBytes  96.6 Gbits/sec    0   1.99 MBytes       
[  5]  25.00-26.00  sec  11.2 GBytes  96.5 Gbits/sec    0   1.99 MBytes       
[  5]  26.00-27.00  sec  11.3 GBytes  96.9 Gbits/sec    0   3.00 MBytes       
[  5]  27.00-28.00  sec  11.3 GBytes  97.3 Gbits/sec    0   3.00 MBytes       
^C[  5]  28.00-28.39  sec  4.43 GBytes  97.0 Gbits/sec    0   3.00 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-28.39  sec   319 GBytes  96.6 Gbits/sec   72             sender
[  5]   0.00-28.39  sec  0.00 Bytes  0.00 bits/sec                  receiver
iperf3: interrupt - the client has terminated
root@host2502:~# iperf3 -c 10.15.15.21 -t 3600 C-m
Connecting to host 10.15.15.21, port 5201
[  5] local 10.15.15.22 port 45188 connected to 10.15.15.21 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  10.4 GBytes  89.6 Gbits/sec    0   1.95 MBytes       
[  5]   1.00-2.00   sec  10.5 GBytes  90.0 Gbits/sec    0   1.95 MBytes       
[  5]   2.00-3.00   sec  10.4 GBytes  89.6 Gbits/sec    0   1.95 MBytes       
[  5]   3.00-4.00   sec  10.4 GBytes  89.6 Gbits/sec    0   1.95 MBytes       
[  5]   4.00-5.00   sec  10.5 GBytes  90.2 Gbits/sec    0   1.95 MBytes       
[  5]   5.00-6.00   sec  10.4 GBytes  89.6 Gbits/sec    0   1.95 MBytes       
[  5]   6.00-7.00   sec  10.5 GBytes  89.9 Gbits/sec    0   1.95 MBytes       
[  5]   7.00-8.00   sec  10.5 GBytes  90.1 Gbits/sec    0   1.95 MBytes       
[  5]   8.00-9.00   sec  10.5 GBytes  90.0 Gbits/sec    0   1.95 MBytes       
[  5]   9.00-10.00  sec  10.5 GBytes  89.8 Gbits/sec    0   1.95 MBytes       
[  5]  10.00-11.00  sec  10.4 GBytes  89.6 Gbits/sec    0   1.95 MBytes       
[  5]  11.00-12.00  sec  10.4 GBytes  89.7 Gbits/sec    0   1.95 MBytes       
^C[  5]  12.00-12.80  sec  8.38 GBytes  89.9 Gbits/sec    0   1.95 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-12.80  sec   134 GBytes  89.8 Gbits/sec    0             sender
[  5]   0.00-12.80  sec  0.00 Bytes  0.00 bits/sec                  receiver
iperf3: interrupt - the client has terminated
root@host2502:~# iperf3 -c 10.15.15.21 -t 3600 C-m
Connecting to host 10.15.15.21, port 5201
[  5] local 10.15.15.22 port 40304 connected to 10.15.15.21 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  9.77 GBytes  83.9 Gbits/sec    0   1.73 MBytes       
[  5]   1.00-2.00   sec  10.0 GBytes  86.3 Gbits/sec    0   1.73 MBytes       
[  5]   2.00-3.00   sec  10.1 GBytes  86.5 Gbits/sec    0   1.73 MBytes       
[  5]   3.00-4.00   sec  10.2 GBytes  87.2 Gbits/sec    0   1.73 MBytes       
[  5]   4.00-5.00   sec  9.76 GBytes  83.8 Gbits/sec    0   1.73 MBytes       
[  5]   5.00-6.00   sec  9.73 GBytes  83.6 Gbits/sec    0   1.73 MBytes       
[  5]   6.00-7.00   sec  9.72 GBytes  83.5 Gbits/sec    0   1.73 MBytes       
^C[  5]   7.00-7.38   sec  3.73 GBytes  85.3 Gbits/sec    0   1.73 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-7.38   sec  73.0 GBytes  85.0 Gbits/sec    0             sender
[  5]   0.00-7.38   sec  0.00 Bytes  0.00 bits/sec                  receiver
iperf3: interrupt - the client has terminated
root@host2502:~# iperf3 -c 10.15.15.21 -t 3600 C-m
Connecting to host 10.15.15.21, port 5201
[  5] local 10.15.15.22 port 47918 connected to 10.15.15.21 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  10.0 GBytes  86.0 Gbits/sec    0   1.95 MBytes       
[  5]   1.00-2.00   sec  10.5 GBytes  90.4 Gbits/sec    0   1.95 MBytes       
[  5]   2.00-3.00   sec  10.4 GBytes  89.5 Gbits/sec    0   2.09 MBytes       
[  5]   3.00-4.00   sec  10.5 GBytes  90.5 Gbits/sec    0   2.09 MBytes       
[  5]   4.00-5.00   sec  10.5 GBytes  90.4 Gbits/sec    0   2.09 MBytes       
[  5]   5.00-6.00   sec  10.5 GBytes  90.5 Gbits/sec    0   2.09 MBytes       
[  5]   6.00-7.00   sec  10.5 GBytes  90.3 Gbits/sec    0   2.09 MBytes       
[  5]   7.00-8.00   sec  10.5 GBytes  90.2 Gbits/sec    0   2.09 MBytes       
[  5]   8.00-9.00   sec  10.5 GBytes  90.3 Gbits/sec    0   2.09 MBytes       
^C[  5]   9.00-9.51   sec  5.41 GBytes  90.7 Gbits/sec    0   2.09 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-9.51   sec  99.5 GBytes  89.8 Gbits/sec    0             sender
[  5]   0.00-9.51   sec  0.00 Bytes  0.00 bits/sec                  receiver
iperf3: interrupt - the client has terminated

Dazu sagen muss ich auf den Server laufen keine VMs etc. Also Auslastung ist noch nahe 0.
 
Nur um sicherzustellen habe ich zwei Server noch direkt verbunden und getestet Speeds sind auch hier im Bereich 80 Gbit/s. Switch oder nicht macht also keinen Unterschied.
 
Dann hast du noch ein anderes Bottleneck, wie z.B. PCI Lanes Anzahl oder CPU.
Wenn der Switch LACP spricht, dann ist das schon einmal gut. Bitte in der Switchkonfiguration oder in der Doku nachschauen welche Mode unterstützt werden oder konfiguriert sind.
Per Default ist da oft nur Layer 2+3.
 
  • Like
Reactions: Johannes S
Das hätte ich eigentlich schon geprüft, meiner Meinung nach sollte die Netzwerkkarte mit PCIe Gen4 x16 angebunden sein. Kann es sein das man hier Netzwerktreiber von Broadcom installieren muss, auf der Broadcom Website finden sich ganz aktuelle Linux Treiber, nur leider keine Anleitung dazu wie diese zu verwenden sind. Hier noch die Info zur Netzwerkkarte:

Code:
root@host2501:~# lspci -s 0000:81:00.0 -vvv
0000:81:00.0 Ethernet controller: Broadcom Inc. and subsidiaries BCM57508 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet (rev 12)
        DeviceName: NIC in Slot 2 Port 1-1
        Subsystem: Broadcom Inc. and subsidiaries BCM57508 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet (NetXtreme-E N2100D BCM57508 2x100G QSFP OCP3.0 Ethernet)
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 66
        NUMA node: 0
        IOMMU group: 71
        Region 0: Memory at 7a563010000 (64-bit, prefetchable) [size=64K]
        Region 2: Memory at 7a562000000 (64-bit, prefetchable) [size=16M]
        Region 4: Memory at 7a563028000 (64-bit, prefetchable) [size=32K]
        Expansion ROM at 92100000 [disabled] [size=256K]
        Capabilities: [48] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [50] Vital Product Data
                Product Name: Broadcom BCM57508 2x100G OCP3.0 NIC
                Read-only fields:
                        [PN] Part number: BCM957508
                        [MN] Manufacture ID: 1028
                        [V0] Vendor specific: FFV23.21.14.14
                        [V4] Vendor specific: NMVBroadcom Corp
                        [V5] Vendor specific: DTINIC
                        [RV] Reserved: checksum good, 82 byte(s) reserved
                End
        Capabilities: [a0] MSI-X: Enable+ Count=74 Masked-
                Vector table: BAR=4 offset=00000000
                PBA: BAR=4 offset=00004000
        Capabilities: [ac] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <4us, L1 <64us
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 75W
                DevCtl: CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+
                        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr+ NoSnoop+ FLReset-
                        MaxPayload 512 bytes, MaxReadReq 4096 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
                LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM not supported
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 16GT/s, Width x16
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
                         10BitTagComp+ 10BitTagReq+ OBFF Via WAKE#, ExtFmt- EETLPPrefix-
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- TPHComp- ExtTPHComp-
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis- LTR+ 10BitTagReq+ OBFF Disabled,
                         AtomicOpsCtl: ReqEn-
                LnkCap2: Supported Link Speeds: 2.5-16GT/s, Crosslink- Retimer+ 2Retimers+ DRS-
                LnkCtl2: Target Link Speed: 16GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+
                         EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        Capabilities: [100 v1] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt+ RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP+ FCP+ CmpltTO+ CmpltAbrt+ UnxCmplt- RxOF+ MalfTLP+ ECRC+ UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
        Capabilities: [13c v1] Device Serial Number
        Capabilities: [150 v1] Power Budgeting <?>
        Capabilities: [160 v1] Virtual Channel
                Caps:   LPEVC=0 RefClk=100ns PATEntryBits=1
                Arb:    Fixed- WRR32- WRR64- WRR128-
                Ctrl:   ArbSelect=Fixed
                Status: InProgress-
                VC0:    Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
                        Arb:    Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
                        Ctrl:   Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
                        Status: NegoPending- InProgress-
        Capabilities: [180 v1] Vendor Specific Information: ID=0000 Rev=0 Len=020 <?>
        Capabilities: [1b0 v1] Latency Tolerance Reporting
                Max snoop latency: 1048576ns
                Max no snoop latency: 1048576ns
        Capabilities: [1b8 v1] Alternative Routing-ID Interpretation (ARI)
                ARICap: MFVC- ACS-, Next Function: 1
                ARICtl: MFVC- ACS-, Function Group: 0
        Capabilities: [230 v1] Transaction Processing Hints
                Interrupt vector mode supported
                Steering table in MSI-X table
        Capabilities: [300 v1] Secondary PCI Express
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-
                LaneErrStat: 0
        Capabilities: [200 v1] Precision Time Measurement
                PTMCap: Requester:+ Responder:- Root:-
                PTMClockGranularity: Unimplemented
                PTMControl: Enabled:+ RootSelected:-
                PTMEffectiveGranularity: 1ns
        Capabilities: [358 v1] Physical Layer 16.0 GT/s <?>
        Capabilities: [388 v1] Lane Margining at the Receiver <?>
        Kernel driver in use: bnxt_en
        Kernel modules: bnxt_en

Hast du da noch eine Idee dazu, eventuell zum Treiber. Firmware auf der Karte ist laut Dell Bios / Livecylemanager die neueste.
 
Wie gesagt, würde ich jetzt auf Switchseite weitersuchen. Wenn da Layer2+3 verwendet wird und der Server Layer3+4 dann führt das je nach Hersteler zu komischen Effekten oder schlechter Performance.
Wenn du die aktuelle Firmware drin hast, passt das schon. Die Treiber im 6.8er Kernel sind schon recht aktuell und ob im 6.14er Kernel jetzt eine neuere Version ist, müsste man mal nachschauen. Solange du keine echten Fehler auf der NIC hast, würde ich immer den Treiber aus dem Kernel verwenden.
Ich habe schon mehrfach mit Treibern von Herstellerwebseiten gearbeitet und zu 90% haben diese neueren Treiber auch kein Problem behoben, außer man hat genau ein Problem welches in der Fixliste beschrieben ist.
 
Ich denke es kann nichts mit dem Switch zu tun haben, da ich bei direkter Verbindung von zwei Servern ohne LACP oder Switch dazwischen auch nicht mehr Performance erreiche. Also Server 1 --> DAC Kabel <-- Server 2.
PCIe Lanes sollten meiner Meinung nach auch passen. Habe jetzt mal mit dem generic-receive-offload der Netzwerkkarte experimentiert. Hat leider die Performance eher verschlechtert als verbessert.
Laut Dell sind ist die neueste Freigegeben Firmware seitens Dell installiert auf der Broadcom Seite findet sich eine neuere Version. Wobei ich leider kein Changelog dazu finde. So neu ist diese Karte ja eigentlich auch nicht.
Kann es sein das die Performance so eh "normal" ist? Vielleicht ein Thema mit iperf3?
 
Je nach CPU Typ hat man bei einer Single Verbindung eventuell nicht volle Performance. Interessant ist in der Regel wenn ich mehrere Streams parallel laufen lasse, dann muss volle Performance kommen.
Wenn du einen LACP Trunk hast, kannst du mit einem Stream eh nur eine NIC benutzen, also auch da musst du immer mit Multiplen Streams arbeiten.

Ceph nutzt immer eine IP pro Node und dann verschiedene Ports für die OSDs und Dienste. Wenn der Switch nur Layer 2+3 macht, benutzt du auch nur eine NIC. Da wäre zu erwarten, dass du auch nur das Maximum eines Ports erreichst.