Nach Migration von VMware auf Proxmox: Massive Probleme mit IOT-Gerätescans über Netzwerk mit BacNet

Tobias Berlich

New Member
May 16, 2025
3
0
1
Leipzig
Hi,
ich habe kürzlich eine Migration von VMware auf Proxmox begleitet. Dabei lief alles flüssig und läuft jetzt teils auch bedeutend schneller, nur eine VM mit einer Gebäudeautomation macht noch Probleme. Diese scannt per BacNet (https://de.wikipedia.org/wiki/BACnet) die Geräte und erreicht nach einer Initialisierung einen Konsistenten Zustand, was sie jetzt nach der Migration jedoch nicht erreicht. Im VMware läuft alles flüssig und auch der Scan viel schneller, im Proxmox scannt er ewig und beginnt dann wieder von vorne. Auch eine excessive Verlängerung der Timeout Zeit hat hier keinen Erfolg gebracht.

Die Maschine läuft auf einem Windows Server 2022 und ist per iSCSI (shared LVM) an das Storage angebunden. Memory[balloon=0] und Prozessor(NUMA aktiv, x86-64-v4) sind weit über den Mindestanforderungen zugewiesen. Wir haben schon für die Netzwerkkarte Virtio Treiber und Intel E1000 (war es unter VMware) getestet, was jedoch keine Änderung brachte. Die Einstellung System steht auf Q35.

Hat jemand ähnliche Erfahrungen gemacht? Oder vielleicht Ideen, wie man das Setup noch optimieren kann? Bin für jeden Tipp dankbar!
 
Hi,

es geht um BACnet über Ethernet korrekt? Hast du schon geprüft ob die UDP Pakete an den IOT-Geräten ankommen? Ist deine VM ein BACnet-Client oder Server?
 
Hi,
ich hätte da Ideen, mir fehlt so einweig mehr Informationen über das PVE, z.B. ist es ein Cluster, wenn ja sind alle Nodes von der Hardware her identisch, wenn ja dann würde ich die CPU auf "host" setzen und nicht auf "x86-64-v4", auch bei einer singel Node. Das NUMA würde ich nur aktivieren wenn auch wirklich die Hardware NUMA macht, also dual Sockel CPUs verbaut sind, die meisten empfehlen aber NUMA immer aus zu lassen.
Bei der Netzwerkkarte würde ich so gut wie fast immer auf "virtio" setzen, die Treiber in Windows installieren.
Das System "q35" würde ich nur bei "OVMF (UEFI)".

Weitere Informationen zu SDN, wenn ja wie sieht die Konfiguration aus?
Wie sind die Nodes im Netzwerk konfiguriert und was ist Switchseitig?

Gruß Micha
 
Wahrscheinlich hast du das schon geprüft, aber hast du dir das Thema Firewall angeschaut? Also auf Proxmox Ebene (Host und VM) und auf OS-Ebene in der VM? Dazu kannst du ganz gut die Logging Funktionalität der Firewall in Proxmox verwenden.
 
Hi,
ich hätte da Ideen, mir fehlt so einweig mehr Informationen über das PVE, z.B. ist es ein Cluster, wenn ja sind alle Nodes von der Hardware her identisch, wenn ja dann würde ich die CPU auf "host" setzen und nicht auf "x86-64-v4", auch bei einer singel Node. Das NUMA würde ich nur aktivieren wenn auch wirklich die Hardware NUMA macht, also dual Sockel CPUs verbaut sind, die meisten empfehlen aber NUMA immer aus zu lassen.
Bei der Netzwerkkarte würde ich so gut wie fast immer auf "virtio" setzen, die Treiber in Windows installieren.
Das System "q35" würde ich nur bei "OVMF (UEFI)".

Weitere Informationen zu SDN, wenn ja wie sieht die Konfiguration aus?
Wie sind die Nodes im Netzwerk konfiguriert und was ist Switchseitig?

Gruß Micha
Hi,

es ist ein Cluster aus 6 Nodes 5x gleicher Hardware und einem zusätzlichen node mit anderer Hardware.
Die Server haben dual socket und UEFI ist es auch.
Die Einstellungen würde ich mal so testen, wie du es vorgeschlagen hast und mich dann mit einem Update melden.

SDN ist VLAN zone mit 10G lacp uplink auf allen Nodes mit tagged Vnets
Switchseitig ist ein MLAG

Die Netze bekommen sie aus einem Firewallcluster, welches auch das Routing übernimmt. Auch die "alte Lösung läuft noch mit einem Server (vor Umstellung 4) und einem storage über diese Coreswitche. Es ist eigentlich wirklich nur der Hypervisor unterschiedlich.

Grüße Tobias
 
Last edited:
Hi, was für Switches benutzt du? VMware hat ja kein LACP genutzt.
NUMA bitte auf der VM nur aktivieren, wenn die Anwendung NUMA Aware ist, was eher selten ist und mehr als 8 Cores benutzt werden.
Wenn die Anwendung NUMA kann muss man das korrekt konfigurieren, so wie bei SQL. Dann bringt das auch etwas.