Netzwerkprobleme mit Mellanox Technologies MT27800 (Dual HBA)

Toormser

Member
Jul 28, 2021
50
1
13
Guten Morgen Community,

ich stehe ein wenig auf dem Schlauch. Kurz um zum Problem: Proxmox / Debian knallt nach ungewisser Zeit die Netzwerk Interfaces von unseren Mellanox Karten weg (ens*). Im dmesg steht nahe zu nichts und auch das syslog ist sehr dürftig.

Folgend mal ein paar Screenshots und auszüge von Logs - vielleicht wisst ihr mehr oder kennt das Verhalten schon? Nach einem Neustart ist dann alles wieder fine und kann verwendet werden. Für wenige Stunden / manchmal auch 1 1/2 Tage.

Zudem sind die PCI-Devices unter lspci zu sehen aber in ip -br addr sind die Interfaces weg. Kennt jemand von euch das Verhalten? Das sind zwei fabrikneue Karten.

Network Configuration in Proxmox

1698995481956.png

dmesg Auszug (grep bond0)

Bash:
root@server-01:~# dmesg -T | grep -i bond0
[Thu Nov  2 10:02:50 2023] bond0: (slave ens2f0np0): making interface the new active one
[Thu Nov  2 10:02:50 2023] bond0: (slave ens2f0np0): Enslaving as an active interface with an up link
[Thu Nov  2 10:02:51 2023] bond0: (slave ens6f0np0): Enslaving as a backup interface with an up link
[Thu Nov  2 10:02:52 2023] vmbr3: port 1(bond0) entered blocking state
[Thu Nov  2 10:02:52 2023] vmbr3: port 1(bond0) entered disabled state
[Thu Nov  2 10:02:52 2023] device bond0 entered promiscuous mode
[Thu Nov  2 10:02:52 2023] vmbr3: port 1(bond0) entered blocking state
[Thu Nov  2 10:02:52 2023] vmbr3: port 1(bond0) entered forwarding state
[Thu Nov  2 10:02:52 2023] vmbr3: received packet on bond0 with own address as source address (addr:e8:eb:d3:c1:20:4c, vlan:0)
[Thu Nov  2 10:02:52 2023] vmbr3: received packet on bond0 with own address as source address (addr:e8:eb:d3:c1:20:4c, vlan:0)
[Thu Nov  2 10:02:52 2023] vmbr3: received packet on bond0 with own address as source address (addr:e8:eb:d3:c1:20:4c, vlan:0)
[Thu Nov  2 10:02:52 2023] vmbr3: received packet on bond0 with own address as source address (addr:e8:eb:d3:c1:20:4c, vlan:0)
[Thu Nov  2 10:03:03 2023] 8021q: adding VLAN 0 to HW filter on device bond0
[Thu Nov  2 10:22:49 2023] bond0: (slave ens2f0np0): Releasing backup interface
[Thu Nov  2 10:22:49 2023] bond0: (slave ens2f0np0): the permanent HWaddr of slave - e8:eb:d3:c1:20:4c - is still in use by bond - set the HWaddr of slave to a different address to avoid conflicts
[Thu Nov  2 10:22:49 2023] bond0: (slave ens6f0np0): making interface the new active one
[Thu Nov  2 10:22:53 2023] bond0: (slave ens6f0np0): Releasing backup interface
[Thu Nov  2 10:22:53 2023] vmbr3: port 1(bond0) entered disabled state
[Thu Nov  2 10:22:58 2023] vmbr3v230: port 1(bond0.230) entered blocking state
[Thu Nov  2 10:22:58 2023] vmbr3v230: port 1(bond0.230) entered disabled state
[Thu Nov  2 10:22:58 2023] device bond0.230 entered promiscuous mode

dmesg Auszug (grep ens*)

Bash:
root@server-01:~# dmesg -T | grep -i ens
[Thu Nov  2 10:02:29 2023] ACPI: Added _OSI(3.0 _SCP Extensions)
[Thu Nov  2 10:02:30 2023] megaraid_sas 0000:b2:00.0: unevenspan support        : no
[Thu Nov  2 10:02:30 2023] sd 0:2:0:0: [sda] Mode Sense: 1f 00 00 08
[Thu Nov  2 10:02:30 2023] sd 0:2:1:0: [sdb] Mode Sense: 1f 00 00 08
[Thu Nov  2 10:02:30 2023] i40e 0000:61:00.1 ens4f1: renamed from eth1
[Thu Nov  2 10:02:32 2023] mlx5_core 0000:3e:00.0 ens2f0np0: renamed from eth0
[Thu Nov  2 10:02:32 2023] mlx5_core 0000:3e:00.1 ens2f1np1: renamed from eth1
[Thu Nov  2 10:02:32 2023] mlx5_core 0000:b1:00.1 ens6f1np1: renamed from eth3
[Thu Nov  2 10:02:32 2023] mlx5_core 0000:b1:00.0 ens6f0np0: renamed from eth2
[Thu Nov  2 10:02:36 2023] systemd[1]: systemd 252.17-1~deb12u1 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
[Thu Nov  2 10:02:38 2023] znvpair: module license 'CDDL' taints kernel.
[Thu Nov  2 10:02:40 2023] ipmi_si IPI0001:00: The BMC does not support clearing the recv irq bit, compensating, but the BMC needs to be fixed.
[Thu Nov  2 10:02:50 2023] vmbr1: port 1(ens4f1) entered blocking state
[Thu Nov  2 10:02:50 2023] vmbr1: port 1(ens4f1) entered disabled state
[Thu Nov  2 10:02:50 2023] device ens4f1 entered promiscuous mode
[Thu Nov  2 10:02:50 2023] mlx5_core 0000:3e:00.0 ens2f0np0: Link up
[Thu Nov  2 10:02:50 2023] bond0: (slave ens2f0np0): making interface the new active one
[Thu Nov  2 10:02:50 2023] bond0: (slave ens2f0np0): Enslaving as an active interface with an up link
[Thu Nov  2 10:02:51 2023] mlx5_core 0000:b1:00.0 ens6f0np0: Link up
[Thu Nov  2 10:02:51 2023] bond0: (slave ens6f0np0): Enslaving as a backup interface with an up link
[Thu Nov  2 10:02:51 2023] vmbr1: port 1(ens4f1) entered blocking state
[Thu Nov  2 10:02:51 2023] vmbr1: port 1(ens4f1) entered forwarding state
[Thu Nov  2 10:02:52 2023] mlx5_core 0000:3e:00.1 ens2f1np1: Link up
[Thu Nov  2 10:02:52 2023] bond1: (slave ens2f1np1): making interface the new active one
[Thu Nov  2 10:02:52 2023] bond1: (slave ens2f1np1): Enslaving as an active interface with an up link
[Thu Nov  2 10:02:52 2023] mlx5_core 0000:b1:00.1 ens6f1np1: Link up
[Thu Nov  2 10:02:52 2023] bond1: (slave ens6f1np1): Enslaving as a backup interface with an up link
[Thu Nov  2 10:02:52 2023] device ens2f0np0 entered promiscuous mode
[Thu Nov  2 10:02:52 2023] device ens2f1np1 entered promiscuous mode
[Thu Nov  2 10:03:03 2023] 8021q: adding VLAN 0 to HW filter on device ens4f1
[Thu Nov  2 10:03:03 2023] 8021q: adding VLAN 0 to HW filter on device ens2f0np0
[Thu Nov  2 10:03:03 2023] 8021q: adding VLAN 0 to HW filter on device ens2f1np1
[Thu Nov  2 10:03:03 2023] 8021q: adding VLAN 0 to HW filter on device ens6f0np0
[Thu Nov  2 10:03:03 2023] 8021q: adding VLAN 0 to HW filter on device ens6f1np1
[Thu Nov  2 10:03:03 2023] vmbr1v230: port 1(ens4f1.230) entered blocking state
[Thu Nov  2 10:03:03 2023] vmbr1v230: port 1(ens4f1.230) entered disabled state
[Thu Nov  2 10:03:03 2023] device ens4f1.230 entered promiscuous mode
[Thu Nov  2 10:03:03 2023] vmbr1v230: port 1(ens4f1.230) entered blocking state
[Thu Nov  2 10:03:03 2023] vmbr1v230: port 1(ens4f1.230) entered forwarding state
[Thu Nov  2 10:22:49 2023] bond0: (slave ens2f0np0): Releasing backup interface
[Thu Nov  2 10:22:49 2023] bond0: (slave ens2f0np0): the permanent HWaddr of slave - e8:eb:d3:c1:20:4c - is still in use by bond - set the HWaddr of slave to a different address to avoid conflicts
[Thu Nov  2 10:22:49 2023] device ens2f0np0 left promiscuous mode
[Thu Nov  2 10:22:49 2023] bond0: (slave ens6f0np0): making interface the new active one
[Thu Nov  2 10:22:49 2023] device ens6f0np0 entered promiscuous mode
[Thu Nov  2 10:22:53 2023] bond0: (slave ens6f0np0): Releasing backup interface
[Thu Nov  2 10:22:53 2023] device ens6f0np0 left promiscuous mode
[Thu Nov  2 10:22:56 2023] bond1: (slave ens2f1np1): Releasing backup interface
[Thu Nov  2 10:22:56 2023] bond1: (slave ens2f1np1): the permanent HWaddr of slave - e8:eb:d3:c1:20:4d - is still in use by bond - set the HWaddr of slave to a different address to avoid conflicts
[Thu Nov  2 10:22:56 2023] device ens2f1np1 left promiscuous mode
[Thu Nov  2 10:22:56 2023] bond1: (slave ens6f1np1): making interface the new active one
[Thu Nov  2 10:22:56 2023] device ens6f1np1 entered promiscuous mode
[Thu Nov  2 10:22:59 2023] bond1: (slave ens6f1np1): Releasing backup interface
[Thu Nov  2 10:22:59 2023] device ens6f1np1 left promiscuous mode

Weitere Informationen ausm dmesg
Bash:
[Thu Nov  2 10:22:50 2023] kvm [135476]: ignored rdmsr: 0xc0011029 data 0x0
[Thu Nov  2 10:22:50 2023] kvm [135476]: ignored wrmsr: 0x150 data 0x8000001c00000000
[Thu Nov  2 10:22:50 2023] kvm [135476]: ignored rdmsr: 0x150 data 0x0
[Thu Nov  2 10:22:50 2023] kvm [135476]: ignored wrmsr: 0x150 data 0x8000001c00000000
[Thu Nov  2 10:22:50 2023] kvm [135476]: ignored rdmsr: 0x150 data 0x0
[Thu Nov  2 10:22:50 2023] kvm [135476]: ignored wrmsr: 0x150 data 0x8000001c00000000
[Thu Nov  2 10:22:50 2023] kvm [135476]: ignored rdmsr: 0x150 data 0x0
[Thu Nov  2 10:22:50 2023] kvm [135476]: ignored wrmsr: 0x150 data 0x8000001c00000000
[Thu Nov  2 10:22:50 2023] kvm [135476]: ignored rdmsr: 0x150 data 0x0
 
Last edited:
Moin, welche Mellanox Karten sind das denn? Firmware aktuell?
Wenn die Karten ausgeliefert werden, haben die oft eine sehr alte Firmware, da die Karten oft lange im Lager liegen und im Werk auch nicht die neueste Firmware drauf kommt.
 
Wir haben diese Karten drin. Mache nun aber auch ein FW Update

Code:
Device #1:
----------


  Device Type:      ConnectX5
  Part Number:      MCX512A-ACA_Ax_Bx
  Description:      ConnectX-5 EN network interface card; 10/25GbE dual-port SFP28; PCIe3.0 x8; tall bracket; ROHS R6
  PSID:             MT_0000000080
  PCI Device Name:  0000:b1:00.0
  Base GUID:        e8ebd30300c152bc
  Base MAC:         e8ebd3c152bc
  Versions:         Current        Available
     FW             16.32.1010     N/A
     PXE            3.6.0502       N/A
     UEFI           14.25.0017     N/A


  Status:           No matching image found


Device #2:
----------


  Device Type:      ConnectX5
  Part Number:      MCX512A-ACA_Ax_Bx
  Description:      ConnectX-5 EN network interface card; 10/25GbE dual-port SFP28; PCIe3.0 x8; tall bracket; ROHS R6
  PSID:             MT_0000000080
  PCI Device Name:  0000:3e:00.0
  Base GUID:        e8ebd30300c1204c
  Base MAC:         e8ebd3c1204c
  Versions:         Current        Available
     FW             16.32.1010     N/A
     PXE            3.6.0502       N/A
     UEFI           14.25.0017     N/A


  Status:           No matching image found
 
Da scheint aber was im Setup nicht ganz korrekt zu sein:

vmbr3: received packet on bond0 with own address as source address (addr:e8:eb:d3:c1:20:4c, vlan:0)

Schleife drin? Oder VM mit gleicher MAC?
 
Da scheint aber was im Setup nicht ganz korrekt zu sein:

vmbr3: received packet on bond0 with own address as source address (addr:e8:eb:d3:c1:20:4c, vlan:0)

Schleife drin? Oder VM mit gleicher MAC?
Ich sehe gerade, dass meine vmbr3 die selbe MAC hat wie scheinbar das aktive HW Device, was aber auch okay ist, soweit ich weiß.

Code:
13: vmbr3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
    link/ether e8:eb:d3:c1:20:4c brd ff:ff:ff:ff:ff:ff

Was ich gemacht habe ist folgendes. Zwei Netzwerkkarten mit je zwei HBA (NICs)
bond0
- K1-NIC1
- K2-NIC1

bond1
- K1-NIC2
- K2-NIC2

vmbr3
- bond0
- bond1

vmbr3 wird final an die virtuellen Maschinen gehangen und profitiert von Cross-Redundanz in den bonds/vmbr - oder habe ich hier einen harten Denkfehler?


Update: Im mlxup (MFT Tool) sehe ich die Karten noch. Im Proxmox werden sie als "no active" gekennzeichnet und ip -br addr zeigt die interfaces auch nicht mehr an.
 
Last edited:
Mit den mehreren Ports in der Bridge (war mir gar nicht aufgefallen:rolleyes:) hast du vermutlich einen schönen loop gebaut.
Eventuell fängt der Switch oder STP das ab, aber das ist nicht ganz sauber.

Aber wie würdet du eine solche Kreuzredundanz herstellen? Also nur einen Port in die vmbr3 packen?
 
Welche Switch setzt Du dahinter ein? Wäre LACP ggf. nicht die bessere Wahl? Alle 4 Ports in einen LAGG/bond? Redundant ist das ebenfalls.
 
LACP kommt für uns leider nicht in frage. Wir haben Dell Switche dahinter. Anbei auch einmal eine Zeichnung, wie das ganze bei uns ist. STP ist auf unseren Switchen selbst aktiv.

STP würde ja auch den ganzen Port down nehmen, so ist es aber nicht. Es ist das iface weg. Ich habe die bonds nun mal in separate Bridges gepackt "bond0 in vmbr3" und "bond1 in vmbr4" - bislang scheint es stabil zu bleiben. Ist aber nicht so, wie man es eigentlich haben wollte.

1699013723869.png
 
Das STP ist eigentlich nur ein Schutzmechanismus, eben um Schleifen zu verhindern. Aber kein Feature wie bsp. LAGG/LACP. Auf Dauer wird das nur zu Last auf den Switches führen, weil es ständige Topologieänderungen gibt. Im Normalfall macht eine Switch dann die Ports dicht und informiert die angeschlossenen STP-fähigen Switche darüber. Das hat aber auch den Effekt, das die betroffenen Ports dichtgemacht werden, bis die Pfade neu „ausgehandelt“ werden. Am saubersten wäre m.E. ein distributed LAGG, falls die Switche das unterstützen.

Welche Modelle von Dell setzt Ihr denn ein?
 
Sind ja schon mal keine Billoswitches, die sollten MLAG/VPC/VLT beherrschen.
 
Ja, soweit so gut, heute morgen geschaut, in der simpelsten Config -> Interfaces wieder weg!

1699258563755.png

bond0
- Karte 1-NIC1
- Karte 2-NIC1

bond1
- Karte 1-NIC2
- Karte 2-NIC2

vmbr3
- bond0

vmbr4
- bond1

Informationen zu "ens" im dmesg

Wieso sollte es hier noch zu mac conflicts kommen? Die Bonds sind getrennt von einander in einzelnen vmbridges. Keine VM hat die selbe mac-addr.

Code:
[Fri Nov  3 17:48:32 2023] bond0: (slave ens2f0np0): Releasing backup interface
[Fri Nov  3 17:48:32 2023] bond0: (slave ens2f0np0): the permanent HWaddr of slave - e8:eb:d3:c1:20:4c - is still in use by bond - set the HWaddr of slave to a different address to avoid conflicts
[Fri Nov  3 17:48:32 2023] device ens2f0np0 left promiscuous mode
[Fri Nov  3 17:48:32 2023] bond0: (slave ens6f0np0): making interface the new active one
[Fri Nov  3 17:48:32 2023] device ens6f0np0 entered promiscuous mode
[Fri Nov  3 17:48:36 2023] bond0: (slave ens6f0np0): Releasing backup interface
[Fri Nov  3 17:48:36 2023] device ens6f0np0 left promiscuous mode
[Fri Nov  3 17:48:39 2023] bond1: (slave ens2f1np1): Releasing backup interface
[Fri Nov  3 17:48:39 2023] bond1: (slave ens2f1np1): the permanent HWaddr of slave - e8:eb:d3:c1:20:4d - is still in use by bond - set the HWaddr of slave to a different address to avoid conflicts
[Fri Nov  3 17:48:39 2023] device ens2f1np1 left promiscuous mode
[Fri Nov  3 17:48:39 2023] bond1: (slave ens6f1np1): making interface the new active one
[Fri Nov  3 17:48:39 2023] device ens6f1np1 entered promiscuous mode
[Fri Nov  3 17:48:43 2023] bond1: (slave ens6f1np1): Releasing backup interface
[Fri Nov  3 17:48:43 2023] device ens6f1np1 left promiscuous mode
 
Last edited:
Also ich habe selbiges Szenario in einer Ubuntu Installation (20.04.03 LTS) laufen lassen.

bond0
- Karte 1-NIC1
- Karte 2-NIC1

bond1
- Karte 1-NIC2
- Karte 2-NIC2

vmbr3
- bond0

vmbr4
- bond1

Ohne jeweilige Probleme. Liegt hier eine Problematik im Proxmox Kernel vor?
 
Die Meldung bond0: (slave ens2f0np0): the permanent HWaddr of slave - e8:eb:d3:c1:20:4c - is still in use by bond - set the HWaddr of slave to a different address to avoid conflicts hängt vermutlich damit zusammen.
Guck dir mal die MAC Adressen aller Physikalischen und virtuellen Adapter an.
 
Die Meldung bond0: (slave ens2f0np0): the permanent HWaddr of slave - e8:eb:d3:c1:20:4c - is still in use by bond - set the HWaddr of slave to a different address to avoid conflicts hängt vermutlich damit zusammen.
Guck dir mal die MAC Adressen aller Physikalischen und virtuellen Adapter an.
Das virtuelle iface nimmt ja immer die mac addr des aktiven nativen devices an. Daher hat man da schon eine gewisse "dopplung". Dies war aber in der Ubuntu Konstellation ebenfalls so und diese lief nun mehrere Tage problemlos durch.
 
Bei Microsoft Clustern ändere ich seit Jahren immer die MACs der Teaming Interfaces. Es wird immer eine MAC von einem Slave genutzt, aber die bleibt auch auf dem virtuellen Interface wenn der Uplink schwenkt. Das führt bei Microsoft Clustern zu ganz komischen Problemen im Netzwerk.
Vermutlich wird da Linux nicht viel anders arbeiten.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!