Teilzeit-Cluster?

Neuduxer

Member
May 5, 2020
6
1
8
63
Guten Tag,

in meinem kleinen Homelab habe ich inzwischen Proxmox mit 4 Nodes in einem Cluster mit Shared Storage in Betrieb. Zur Vermeidung eines Split-Brains hat einer der Nodes 2 Votes. Das funktioniert gut und ich liebe die Flexibilität bei Migrationen und Clones.

Um Energie zu sparen würde ich nun gerne das Cluster beispielsweise über Nacht oder an Wochenenden auf einen Node reduzieren. Gibt es eine Möglichkeit aus dem laufenden 'Clusterbetrieb' relevante VMs auf einen Node zu migrieren und dann alle anderen abzuschalten?

Bin für Hinweise dankbar, mir fehlt momentan der zündende Gedanke :-(

Viele Grüsse
Werner
 
Bei Proxmox-Clustern ist es schlicht nicht vorgesehen, dass nur Teile dessen verwendet werden (Zumindest auf jeden Fall nicht so wenig, dass kein Quorum mehr vorhanden ist).

Um Energie zu sparen würde ich nun gerne das Cluster beispielsweise über Nacht oder an Wochenenden auf einen Node reduzieren. Gibt es eine Möglichkeit aus dem laufenden 'Clusterbetrieb' relevante VMs auf einen Node zu migrieren und dann alle anderen abzuschalten?
Für eine spezifische Lösung hier, würde sich wahrscheinlich ein Script am besten eignen, da diese Funktionalität von Proxmox so nicht bereitgestellt wird. Mir fällt zudem leider auch kein guter Workaround ein.
 
Wie könnte so ein Script dann aussehen?
  • Migration der Nodes
  • Reduzierung der Votes für die 'abzuschaltenden' Nodes
  • Shutdown der Nodes
Und nach dem Restart dann wieder zurück?
Wie verhalten sich eigentlich Nodes mit einem Vote von 0? Sind die noch Bestandteil des Clusters inklusive Migrations- und Clone-Möglichkeiten und werden nur bei HA nicht berücksichtigt?

VG, Werner
 
Wie könnte so ein Script dann aussehen?
Ja, so in etwa hätte ich mir das vorgestellt. Beim Bearbeiten der Corosync Config gibt es aber einige Dinge zu beachten. Z.B. darauf zu achten nach jeder Veränderung die config_version zu inkrementieren.
Always increment the config_version number after configuration changes; omitting this can lead to problems.

Wie verhalten sich eigentlich Nodes mit einem Vote von 0? Sind die noch Bestandteil des Clusters inklusive Migrations- und Clone-Möglichkeiten und werden nur bei HA nicht berücksichtigt?
Ich habe nicht viel dazu gefunden (und hab es auch noch nie ausprobiert) aber es scheint prinzipiell ohne Gröberes möglich zu sein. Auf solch einer Node sollte Migration und Clone ganz normal weiterfunktionieren, und soweit ich hier durchblicke, sehe ich keinen direkten Grund warum der PVE-HA manager nur wegen der Anzahl der Votes eine Node ausschließen würde, solange sie von Corosync noch als valide gemeldet wird.
Die Votes selber sind ja nur ein Konzept, dass von Corosync verwendet wird. Das alles müsste man aber auf jeden Fall testen bevor hier etwas ganz Konkretes gesagt werden kann.
 
Vielen Dank für die Hinweise. Inzwischen habe ich eine Variante ohne Script getestet:
  • zusätzliches QDevice installiert und eingebunden
  • die Votes auf dem bevorzugten Node so erhöht, dass er der Summe der anderen Votes entspricht
    (konkret 3x 1 Votes, 1x 3 Votes + 1x QDevice = insgesamt 7 Votes)
  • 'algorithm' für QDevice auf 'lms' geändert, gewichtete Votes funktionieren mit Standardkonfiguration nicht :(
Im Normalbetrieb läuft damit alles wie gewohnt. Es können der bevorzugte Node allein, oder die einfachen Nodes separat oder alle einfachen gemeinsam ausfallen ohne Verlust der Clusterfunktionen.

Zum Wechsel auf den 'Sparbetrieb' genügt es, alle einfachen Nodes abzuschalten. Alle Konfigurationen des HA-Managers greifen automatisch und laufende CTs und VMs werden entsprechend den Regeln migriert.

Wiederherstellung des Normalbetriebs erfolgt ebenso einfach durch Hochfahren der abgeschalteten Nodes. Der HA-Manager kümmert sich um um den Rest.

Kaltstart wurde bisher nur dieser Reihenfolge getestet
  • Shutdown aller Nodes, zuletzt der bevorzugte
  • Shutdown der Maschine mit QDevice
Restart dann durch
  • Einschalten der Maschine mit QDevice
  • Einschalten des bevorzugten Nodes
  • Einschalten der einfachen Nodes nach Bedarf
Damit läuft das Cluster wieder problemlos. Momentan habe ich den Eindruck, dass damit meine Anforderungen ohne grossartige Anpassungen (z.B. durch externe und fehleranfällige Scripte) abgedeckt werden.

Falls ich etwas übersehen habe, wäre ich für einen Hinweis dankbar! Vielen Dank auch für den Link zu dem Post zu Corosync mit 0 Votes. Den hatte ich nicht gefunden.

VG, Werner
 
  • Like
Reactions: datschlatscher

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!