Guten Tag Zusammen,
aktuell setzen wir ein Proxmox 6.4-4 zusammen mit Linstor 1.7.1 (DRBD 9.0.28) als verteilten Block-Storage für VM Disk-Images über 7 PVE Nodes ein.
Uns ist aufgefallen, dass mit steigender Anzahl an Ressourcen und PVE-Nodes die Performance von Linstor erheblich zusammenbricht. Dies führt bei der Erstellung neuer VMs zu einem timeout in Proxmox, während die Ressourcen auf dem Storage allerdings erfolgreich angelegt werden. Die Rückantwort vom Storage-Plugin an Proxmox dauerte also zu lange.
Wir haben es nun auf pvestatd runtergebrochen. Da dieser in regelmäßigen Abständen den Status von VMs, Storage und Containern abfragt, wird der Linstor-Controller mit Anfragen, wie dieser regelrecht gespammt:
Dies führt wiederum dazu, dass sich die Linstor-Anfragen anstauen und die Abarbeitung solcher Anfragen ca. 13-15 Sekunden dauert. Wenn wir den pvestatd für eine kurze Zeit auf allen Nodes deaktiveren, werden die Abfragen schnell abgearbeitet. Anfragen werden nun in ca. 500 MS abgearbeitet.
Getestet haben wir das mit:
Nun meine Fragen:
aktuell setzen wir ein Proxmox 6.4-4 zusammen mit Linstor 1.7.1 (DRBD 9.0.28) als verteilten Block-Storage für VM Disk-Images über 7 PVE Nodes ein.
Uns ist aufgefallen, dass mit steigender Anzahl an Ressourcen und PVE-Nodes die Performance von Linstor erheblich zusammenbricht. Dies führt bei der Erstellung neuer VMs zu einem timeout in Proxmox, während die Ressourcen auf dem Storage allerdings erfolgreich angelegt werden. Die Rückantwort vom Storage-Plugin an Proxmox dauerte also zu lange.
Wir haben es nun auf pvestatd runtergebrochen. Da dieser in regelmäßigen Abständen den Status von VMs, Storage und Containern abfragt, wird der Linstor-Controller mit Anfragen, wie dieser regelrecht gespammt:
Bash:
TRACE LINSTOR/Controller - SYSTEM - Peer RestClient(X.X.X.X; 'REST::Client/273'), Background operation 'LstStorPool' scope 'Assemble storage pool list' end
Dies führt wiederum dazu, dass sich die Linstor-Anfragen anstauen und die Abarbeitung solcher Anfragen ca. 13-15 Sekunden dauert. Wenn wir den pvestatd für eine kurze Zeit auf allen Nodes deaktiveren, werden die Abfragen schnell abgearbeitet. Anfragen werden nun in ca. 500 MS abgearbeitet.
Getestet haben wir das mit:
Code:
# time linstor resource list
Nun meine Fragen:
- Gibt es die Möglichkeit, das Intervall für pvestatd zu ändern?
- Gibt es eine Möglichkeit diese Anfragen zu vereinen? Quasi eine Stelle, die die Antwort gibt. Jede Node fragt aktuell direkt den Controller.
- Hat jemand ein ähnliches Verhalten schon mal beobachtet?
- Könnte eine andere Linstor-Datenbank die Performance verbessern? Aktuell ist in Linstor H2 im Einsatz.