Seit einiger Zeit stelle ich in meinem Homelab ziemlich massive Probleme fest hinsichtlich Packet drops beim Einsatz von Proxmox auf der virtuellen Bridge.
Warum hier? Ich denke vorallem bei Debianoiden Systemen ist hier besonders viel Fachwissen vorhanden, hoffe eventuell weiterzukommen.
Ich habe insgesamt 2 Proxmox Hosts, beide sind von der Hardware identisch.
Beide sind via LACP an jeweils einem Cisco Switch angeschlossen.
Wenn Traffic durch eine OpenWrt VM auf dem Proxmox Host z.B. geht, kommt es auf der vmbr0 des Proxmox Hosts zu massiven Drops. Nirgendwo sonst im Netzwerk, weder auf der VM, noch auf den Switches, oder auf dem bond0.
Diese Drops sind auch nur inbound, und wohl abhängig von der Traffic Art.
Wenn ich z.B. ber iperf3 traffic durch VMs, Hosts etc. umherschicke durch alle Ebenen gibt es kaum Drops auf dem Interface.
Wenn es jedoch zu TCP Traffic kommt, gehen die Drops in die 10000/sec.
Traffic mit dem Ziel auf den physikalischen Interfaces, bzw. auf dem bond0 direkt bleibt unbeeinflusst. Aber auf die bridge vmbr0 die direkt auf vmbr0 liegt zeigt diese Probleme.
Das Netzwerk konnte ich zwischenzeitlich durch Testing und Minimalaufbau ausschließen.
Nach einigen Tagen an Troubleshooting konnte ich das auf die vmbr0 eingrenzen, und beide Hosts sind betroffen, d.h. auch wenn die OpenWrt VM, oder OPNsense VM verschoben wird, tritt das Problem auf den neuen Host auf.
Reddit Posts und Proxmox Forenposts führten letztlich eventuell zu Treiber/Kernel oder IRQ-Probleme.
Habt ihr eventuell eine Idee? Würde mich sehr freuen :=)
Mit nur einer Zabbix VM aktiv, Proxmox Host 1:
Code: Alles auswählen
root@millenium-fbe49:~# ip -s link show dev vmbr0
15: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether d8:5e:d3:6f:e2:8d brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped missed mcast
695428770 3605931 0 6648 0 397086
TX: bytes packets errors dropped carrier collsns
633430507 3079305 0 0 0 0
Code: Alles auswählen
root@millenium-fbe49:~# ip -s link show dev bond0
14: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP mode DEFAULT group default qlen 1000
link/ether d8:5e:d3:6f:e2:8d brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped missed mcast
793026476 4165563 0 0 0 874761
TX: bytes packets errors dropped carrier collsns
636827994 3103589 0 0 0 0
Code: Alles auswählen
root@millenium-fbe50:~# ip -s link show dev vmbr0
15: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether d8:5e:d3:69:d2:3c brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped missed mcast
4725195127 10360297 0 2191435 0 532750
TX: bytes packets errors dropped carrier collsns
945108445 5227789 0 0 0 0
Und der bond0 auch hierzu.
Code: Alles auswählen
root@millenium-fbe50:~# ip -s link show dev bond0
14: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP mode DEFAULT group default qlen 1000
link/ether d8:5e:d3:69:d2:3c brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped missed mcast
3331635405 9129183 0 0 0 1180566
TX: bytes packets errors dropped carrier collsns
2582840368 7471415 0 0 0 0
Auf Treiberlevel mit
Code: Alles auswählen
ethtool -S
Beide Maschinen nutzen den Kernel 6.8.12-4.
Viele Grüße