Hohe IO-Last auf Storage per NFS führt zu Totalunfall

InZaneDanii

New Member
Sep 4, 2024
22
5
3
Hallo,

ich habe zuhause einen 4 Node Cluster.
Alle vier Nodes haben als Storage einen NFS Share von meinem anderen Server eingebunden. Leider ist bei mir alles nur auf 1Gbit, da ich "alte" PCs zu wiederverwende.
Bei mir ist eine durchgehende Last von ca 5-6 MB/s vorhanden, was nicht sonderlich viel ist. Wenn ich eine VM jedoch I/O-Mäßig stark auslaste, bricht mein Cluster auseinander.

VMs sind unresponsive, und es hilft leider nur noch ein vollständiger resett.
Corosync unsw. läuft (anscheinend) Problemlos weiter, und gibt mir auch keine Warnings oder ähnliches.
In der Proxmox UI sind manche nodes und VMs dann "unkown". Jedoch ist jeder host für sich weiterhin erreichbar.

Hat jemand vielleicht eine Idee, woran es liegen könnte, bzw. ich noch weiter schauen kann?

Verwendet wird PVE 8.2.4
 
Ich gehe mal davon aus, dass Corosync Probleme hat die anderen Nodes in akzeptabler Zeit zu erreichen. Hast du nur die eine Netzwerkkarte pro Node? Wenn du je zwei NICs hast auf jeden Fall das VM Netz und Storage trennen. Corosync würde ich primär auf das VM Netz legen und sekundär auf das Storage Netz.
 
Ich gehe mal davon aus, dass Corosync Probleme hat die anderen Nodes in akzeptabler Zeit zu erreichen. Hast du nur die eine Netzwerkkarte pro Node? Wenn du je zwei NICs hast auf jeden Fall das VM Netz und Storage trennen. Corosync würde ich primär auf das VM Netz legen und sekundär auf das Storage Netz.
Hi, danke für die Antwort.

Ja, ich habe leider nur jeweils eine Netzwerkkarte. Prinzipiell hängen die Geräte am selben 10G hub (ja, hub, leider.) Wenn ich mir die Netzauslastung so anschaue, wird das auch nicht komplett ausgeschöpft. (Auf der 1G Seite natürlich!).

Das Interessante dabei ist, das Corosync normal laufen zu scheint - selbst den Service Corosync neu zu starten bringt in diesem Fall leider gar nichts (Vermutlich, weil der Cluster kein Quorum mehr hat.

Spannend ist auch, das immer die hälfte der Nodes raus fliegen. Nie eine Node.

Der Log von Corosync sieht auch folgendermaßen aus seit 1. Sept:

Code:
Sep 01 22:53:10 px0master corosync[1163]:   [KNET  ] link: Resetting MTU for link 0 because host 2 joined
Sep 01 22:53:10 px0master corosync[1163]:   [KNET  ] host: host: 2 (passive) best link: 0 (pri: 1)
Sep 01 22:53:10 px0master corosync[1163]:   [KNET  ] link: Resetting MTU for link 0 because host 4 joined
Sep 01 22:53:10 px0master corosync[1163]:   [KNET  ] host: host: 4 (passive) best link: 0 (pri: 1)
Sep 01 22:53:10 px0master corosync[1163]:   [QUORUM] Sync members[3]: 1 2 4
Sep 01 22:53:10 px0master corosync[1163]:   [QUORUM] Sync joined[2]: 2 4
Sep 01 22:53:10 px0master corosync[1163]:   [TOTEM ] A new membership (1.31b) was formed. Members joined: 2 4
Sep 01 22:53:10 px0master corosync[1163]:   [QUORUM] This node is within the primary component and will provide service.
Sep 01 22:53:10 px0master corosync[1163]:   [QUORUM] Members[3]: 1 2 4
Sep 01 22:53:10 px0master corosync[1163]:   [MAIN  ] Completed service synchronization, ready to provide service.
Sep 01 22:53:10 px0master corosync[1163]:   [KNET  ] pmtud: PMTUD link change for host: 4 link: 0 from 469 to 1397
Sep 01 22:53:10 px0master corosync[1163]:   [KNET  ] pmtud: PMTUD link change for host: 2 link: 0 from 469 to 1397
Sep 01 22:53:10 px0master corosync[1163]:   [KNET  ] pmtud: Global data MTU changed to: 1397
Sep 01 22:53:11 px0master corosync[1163]:   [KNET  ] link: Resetting MTU for link 0 because host 3 joined
Sep 01 22:53:11 px0master corosync[1163]:   [KNET  ] host: host: 3 (passive) best link: 0 (pri: 1)
Sep 01 22:53:11 px0master corosync[1163]:   [QUORUM] Sync members[4]: 1 2 3 4
Sep 01 22:53:11 px0master corosync[1163]:   [QUORUM] Sync joined[1]: 3
Sep 01 22:53:11 px0master corosync[1163]:   [TOTEM ] A new membership (1.31f) was formed. Members joined: 3
Sep 01 22:53:11 px0master corosync[1163]:   [QUORUM] Members[4]: 1 2 3 4
Sep 01 22:53:11 px0master corosync[1163]:   [MAIN  ] Completed service synchronization, ready to provide service.
Sep 01 22:53:11 px0master corosync[1163]:   [KNET  ] pmtud: PMTUD link change for host: 3 link: 0 from 469 to 1397
Sep 01 22:53:11 px0master corosync[1163]:   [KNET  ] pmtud: Global data MTU changed to: 1397



Seit dem 1. Sept ist bei mir das Problem schon 2-3x aufgetretten, im Log finden sich aber keine weiteren Einträge, und der Prozess Corosync scheint sich Ressourcentechnisch auch so wie immer zu verhalten. Keine Erhöhte CPU Last, Memory verbrauch bleibt gleich ...
 
Hi, danke für die Antwort.

Ja, ich habe leider nur jeweils eine Netzwerkkarte. Prinzipiell hängen die Geräte am selben 10G hub (ja, hub, leider.) Wenn ich mir die Netzauslastung so anschaue, wird das auch nicht komplett ausgeschöpft. (Auf der 1G Seite natürlich!).
EInen 10G Hub gibt es nicht. Entweder ein Switch oder kein 10G. Sogar 1G Hubs sind extrem selten geworden, findet man eher im Museum. ;)
Das Interessante dabei ist, das Corosync normal laufen zu scheint - selbst den Service Corosync neu zu starten bringt in diesem Fall leider gar nichts (Vermutlich, weil der Cluster kein Quorum mehr hat.

Spannend ist auch, das immer die hälfte der Nodes raus fliegen. Nie eine Node.
Das kommt halt darauf an wie dein Netzwerk ausgelastet ist udnwo welche pakete wie schnell ankommen. Aber dieses Verhalten deutet auf zu ausgelastetes Netzwerk hin.

Je nachdem was für eine Hardware es ist, würde es sich lohnen je eine weitere Netzwerkkarte zu beschaffen, notfalls bei Mini Rechnern mit USB.
 
EInen 10G Hub gibt es nicht. Entweder ein Switch oder kein 10G. Sogar 1G Hubs sind extrem selten geworden, findet man eher im Museum. ;)

Das kommt halt darauf an wie dein Netzwerk ausgelastet ist udnwo welche pakete wie schnell ankommen. Aber dieses Verhalten deutet auf zu ausgelastetes Netzwerk hin.

Je nachdem was für eine Hardware es ist, würde es sich lohnen je eine weitere Netzwerkkarte zu beschaffen, notfalls bei Mini Rechnern mit USB.
Sry, hab hier was falsch gedacht. hast recht, mein MS305 von Netgear ist "nur" 2,5G ;)


Habs leider bissle befürchtet aber ... ich besorg mir mal ein paar USB-RJ45 Adapter, und leg mal Corosync auf einen alten 1G hub den ich noch irgendwo rumkugeln habe, und leg corosync darauf... und meld mich nochmals. Danke! :)
 
  • Like
Reactions: Falk R.
ob nun 2,5G oder 10G ist ja recht bumms wenn der Client nicht mehr kann.

Aber warum denkst du das du nen 1G Hub hast?
Ich würde ja sogar sagen selbst 1G Hubs gabs nie .

Ich bin ja noch damit aufgewachsen mit den Hubs.
 
  • Like
Reactions: Falk R.
ob nun 2,5G oder 10G ist ja recht bumms wenn der Client nicht mehr kann.

Aber warum denkst du das du nen 1G Hub hast?
Ich würde ja sogar sagen selbst 1G Hubs gabs nie .

Ich bin ja noch damit aufgewachsen mit den Hubs.
Bis 100 MBit gab es die öfters, und ja es gab in den Anfangstagen auch ein paar 4Port 1GBit Hubs. Aber wie gesagt, vermutlich nur noch im Museum zu finden. Ein Switch ist ja keine Raketentechnik.
 

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!