100G / 40G interne Netzstruktur mit schlechten iperf3 Resultaten

May 28, 2024
35
5
8
25
Hannover, Germany
Moin Freunde!

Wir haben eine ganz komische Situation bei uns wie folgt:

Wir haben ein 2 Etagen Büro mit den Servern im 3. Stock + Büro mit 100G interne Anbindung (100G Mikrotik Switch & 100G SPF Module) und ein Büro im Erdgeschoss welches ein Uplink aus dem 3. Stock mit 100G bekommt.
Cluster aus 2 PVE's mit folgenden Stats:
pve01
- AMD EPYC 9124 16 Core (2 Sockets)
- 512GB DDR5 RAM
- NVMe SSD's
- BCM57508 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet NIC
pve02
- AMD EPYC 9124 16 Core (2 Sockets)
- 512GB DDR5 RAM
- NVMe SSD's
- BCM57508 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet NIC

Wir haben beide Server, trotz Cluster, aus Testgründen Crossverkabelt und jeweils auf beiden Servern eine Test Linux Maschine.
Unsere onboard NIC ist deaktiviert, es wird ausschließlich die nachinstallierte NIC benutzt. Dementsprechend sind auch die Bridges eingerichtet.

Wir haben die beiden PVEs mit jeweils 1x 100G an den 100G Switch angebunden, davon geht ein LWL Kabel als Uplink an 3. OG LAN Switch, und ein LWL Kabel als Uplink mit 100G ins EG.

Ungefährer Aufbau:
1740681181292.png

Auf den Linux Maschinen sieht das nochmal anders aus, Dabei bekommen wir von der Testmaschine auf pve02 mit einem iperf auf pve01 direkt:
1740669499101.png

Auf dem pve01 TestVM, welche ein iperf zum pve02 Host macht:
1740669304403.png

Windows VM auf seinen eigenen Host, gleiches auf den zweiten Host.
1740670050668.png

Wir haben bereits über alle Schnittstellen auch die Crossverkabelung alles probiert, mit der Negotiation rumgespielt, neuen 100G Switch zwischengebastelt.
Wenn wir die VMs miteinander Migrieren, also test1 auf pve02 und test2 auf pve01, bleibt das ganze genau gleich.

Wir wissen einfach nichtmehr weiter. Unser nächster Schritt wäre die NICs auszutauschen zu Mellanox NICs, aber bevor wir das machen dachten wir, wir fragen mal nach ob einer noch Ideen hat.
Falls irgendwelche Infos benötigt werden, sagt einfach Bescheid.

Danke euch schonmal für euren Input!

Liebe Grüße aus Hannover,

Benjamin
 
Last edited:
Hi Benjamin,

ganz schlau werde ich aus deinen Angaben nicht.
Du machst iperf über eine geroutete Verbindung, ist da eventuell auch ein Firewalling aktiv?
Die Hardwareangaben sagen nicht welche Netzwerkkarten du wirklich benutzt, das ist eine Angabe des Chipsatzes und der unterstützt verschiedene Bandbreiten.
Welches Netzwerk hast du Cross verkabelt und über welches machst du iperf?
Ein paar mehr Infos über das Netzwerk wäre nicht schlecht.
 
Hi Benjamin,

ganz schlau werde ich aus deinen Angaben nicht.
Du machst iperf über eine geroutete Verbindung, ist da eventuell auch ein Firewalling aktiv?
Die Hardwareangaben sagen nicht welche Netzwerkkarten du wirklich benutzt, das ist eine Angabe des Chipsatzes und der unterstützt verschiedene Bandbreiten.
Welches Netzwerk hast du Cross verkabelt und über welches machst du iperf?
Ein paar mehr Infos über das Netzwerk wäre nicht schlecht.

Hey Falk!
- Firewalling ist auf den Network Devices aus, OPNsense ist lokal als HW Firewall aktiv.
- Wir haben 2 Netzwerkkarten installiert - Die Onboard NICs vom Server selbst sind deaktiviert, wir haben eine 10G NIC installiert und die LWL Kabel fürs Netzwerk läuft über die 200G Karte, welche die "BCM57508 - 200GbE" von Broadcom ist.
- Wir haben beide PVEs Crossverkabelt, jeweils über die 100G Karten miteinander. iperf testen wir sowohl über das Cluster Netz, als auch über das Interne LAN.

Im 3. OG haben wir einen 100G Switch mit jeweils einer 100G Karte in beiden PVEs.
Jeweils ein Slot von den Karten sind für die Crossverkabelung, und der andere Port fungiert als Uplink für den 100G Switch.
Vom 100G Switch geht 1x Uplink zum internen LAN, 1x Uplink ins EG.

VMs (Win 2022 Server Datacenter) sind mit den gleichen Konfigurationen, im gleichen Netz.
Einer kriegt Stand Jetzt, 10 - 25G durch, einer kriegt gleiche Ergebnis (s.o.)


Sorry wir sind heute alle etwas durch den Wind. Das geht nicht in unseren Kopf rein.
 
Last edited:
Funktioniert denn generell ein Ping zwischen den beiden PVE-Hosts?
Das Cluster an sich kann untereinander kommunizieren - Es scheitert leider lediglich bei der Datenrate.

Auch das Migrieren von VMs zwischen den PVEs geht ordentlich mit 30-40g.

Nachdem wir die MAC Adressen nun von beiden Test Linux Maschinen miteinander getauscht haben, kriegen beide auch 10-30G a die jeweiligen PVE Hosts. Das Problem mit den Windows VMs ist weiterhin negativ.


EDIT: Arpcache gecleared - Deaktivierte onboard NICs werden nun auf den PVE Hosts angezeigt welche allerdings inaktiv sind. Keine Verbesserung der Windows VMs.
 
Last edited:
192.168.100.x und 192.168.102.x sieht aber durchaus nach untrschiedlichen netzwerken aus, die irgendwo geroutet werden müssen, sofern du nicht supernetting betreibst.

poste doch mal deine netzwerkkonfig auf den hosts.

normalerweise sollte iperf zwischen ip's im selben subnetz verwendet werden, was nach den screenshots nicht so aussieht.
 
  • Like
Reactions: Johannes S
Es gab mal Performanceprobleme mit einer älteren iperf-Version.

Lass doch mal iperf dirket auf den pves laufen und nicht über eine vm mit geroutetem traffic.
 
192.168.100.x und 192.168.102.x sieht aber durchaus nach untrschiedlichen netzwerken aus, die irgendwo geroutet werden müssen, sofern du nicht supernetting betreibst.

poste doch mal deine netzwerkkonfig auf den hosts.

normalerweise sollte iperf zwischen ip's im selben subnetz verwendet werden, was nach den screenshots nicht so aussieht.
Wir haben hier ein /22 Subnetz im Einsatz, Vergessen zu erwähnen. Sorry!

Code:
auto lo
iface lo inet loopback

iface enp161s0f0np0 inet manual

iface enp129s0f0np0 inet manual
#Server Cross

iface enp129s0f1np1 inet manual

auto enp161s0f1np1
iface enp161s0f1np1 inet manual

iface enx5a377cb9a41d inet manual

iface enx1aa7e8a0746c inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.102.1/22
        gateway 192.168.100.254
        bridge-ports enp129s0f1np1
        bridge-stp off
        bridge-fd 0

auto vmbr1
iface vmbr1 inet static
        address 192.168.233.1/24
        bridge-ports enp129s0f0np0
        bridge-stp off
        bridge-fd 0
#Server Cross

auto vmbr2
iface vmbr2 inet static
        address 192.168.240.1/24
        bridge-ports enp161s0f0np0
        bridge-stp off
        bridge-fd 0

enx5a377cb9a41d & enx1aa7e8a0746c sind die deaktivierten onboard NICs die deaktiviert sind und nicht funktionieren. Sind nach dem ARPCache Clear aufgetaucht - Problem bestand allerdings davor ebenfalls.
 
Wie sieht die netzwerk config von pve2 aus? 22 Subnet war wichtig ;-). Da wird nichts geroutet und die Opensense springt auch nicht an. Würde ich also erstmal ausschließen.
 
Last edited:
  • Like
Reactions: otherwisegg
Wie sieht die netzwerk config von pve2 aus? 22 Subnet war wichtig ;-). Da wird nichts geroutet und die Opensense springt auch nicht an. Würde ich also erstmal ausschließen.
Code:
auto lo
iface lo inet loopback

auto enp161s0f0np0
iface enp161s0f0np0 inet manual

iface enp129s0f0np0 inet manual
#Server Cross

iface enp129s0f1np1 inet manual

iface enp161s0f1np1 inet manual

iface enx26d63c4c0cc5 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.102.3/22
        gateway 192.168.100.254
        bridge-ports enp129s0f1np1
        bridge-stp off
        bridge-fd 0

auto vmbr1
iface vmbr1 inet static
        address 192.168.233.2/24
        bridge-ports enp129s0f0np0
        bridge-stp off
        bridge-fd 0
#Server Cross

auto vmbr2
iface vmbr2 inet static
        address 192.168.240.2/24
        bridge-ports enp161s0f1np1
        bridge-stp off
        bridge-fd 0

source /etc/network/interfaces.d/*

Auch hier wieder enx26d63c4c0cc5 die deaktivierte onboard NIC
 
Was mir auffällt ist, dass bei pve2 enp161s0f0np0 auf auto steht und nicht enp129s0f1np1.
 
Was mir auffällt ist, dass bei pve2 enp161s0f0np0 auf auto steht und nicht enp129s0f1np1.
Das ist interessant. Ob das so richtig ist, muss ich mir in Person anschauen. Ich habe für morgen sowieso eine Liste und arbeite diese einmal komplett ab, da werde ich das direkt dazu packen und prüfen! Danke!
 
Naja, dein primärer Adapter zum pve1 hat keinen Autostart, muss aber nicht bedeuten, dass er nicht aktiv ist.
 
Naja, dein primärer Adapter zum pve1 hat keinen Autostart, muss aber nicht bedeuten, dass er nicht aktiv ist.
Aktiv sind Sie, hab ich grad nachgeschaut. Sonst hätte ich mit dem Kopf den Tisch durchgeschlagen.
Kann aber auch sein das meine Kollegen sich was dabei gedacht haben - Ich checke das Morgen! :)
 
kanst du nochmal einen ping zwischen den pves und den Testmaschinen machen und nochmal einen pro pve einen
Code:
ip route
route -n

edit: PVE-Version und Kernel wären vielleicht auch ganz hilfreich.
 
Last edited:
Ping pve01 auf pve02
1740686216211.png
pve01 ip route
1740686267933.png
pve01 route -n
1740686466257.png

Ping pve02 auf pve01
1740686246919.png
pve02 ip route
1740686318531.png
pve02 route-n
1740686495024.png


Kernel PVE01:

Linux 6.8.12-5-pve (2024-12-03T10:26Z)


Kernel PVE02

Linux 6.8.12-5-pve (2024-12-03T10:26Z)

Beide PVEs sind auf 8.3.2
 
Last edited: