Cluster mit 2 nodes?

fpausp

Renowned Member
Aug 31, 2010
609
39
93
Austria near Vienna
Ich überlege mir einen 2 Node Cluster zu erstellen... Wenn ich die Platten der VMs auf einem NAS speichere und dieses dann wegbricht steht alles...

Kann man diesen "single point of failure" irgendwie kompensieren?
 
Du kannst einen kleinen Raspi als 3 Node in den Cluster nehmen. Einfach keine VM darauf laufen lassen. Ist lediglich für das Quota da.
 
Das Quorum wird aber mit OK angezeigt ?
1582890113923.png

LiveMigration hat manuell funktioniert... HA aber nicht:

1582890416798.png

P.S. Handelt sich um einen virtuellen Cluster (nested)...
 
In einem Cluster braucht man immer ein Quorum (Mehrheit) um Aktionen zu tätigen. D.h. ein Cluster braucht min. 3 Nodes von dem 2 im Quorum sein müssen. Bei einem 2Node Setup bietet mit einem QDevice an https://pve.proxmox.com/pve-docs/pve-admin-guide.html#_corosync_external_vote_support

Dabei hat man ein drittes Device dritter server / NAS, LXC container auf einem anderen Server, etc auf dem der corosync-qnet Dienst lauft. Dieser bietet eine Stimme im Cluster damit man auch beim Ausfall eines Servers noch ein Quorum hat. Bzw. bei einer Split Brain Situation entscheidet er dann welcher Node die Stimme bekommt.

Für Ausfallsicherheit, um mit dem NAS nicht einen Single Point of Failure zu haben, kann man die Replication zwischen den zwei Nodes einrichten https://pve.proxmox.com/pve-docs/pve-admin-guide.html#chapter_pvesr
 
Lösungsansatz Quorum:
Das QNAP NAS würde ich dazu benutzen um den dritten Proxmox virtuell laufen zu lassen und in den HA-Cluster aufnehmen, damit ich das quorum hinbekomme... Denke den HA-Cluster kann man dann so einstellen das nur zwischen node1 und node2 und nicht node3 (QNAP) verschoben wird.

Replikation:
Hier wirds ein bischen schwieriger denke ich. Hab zwei Server mit Raidcontroller und jeweils 8 Spin-HDDs. Wie kann ich hier das ZFS (local) für die Replizerung hinbekommen um den single point of failure mit dem NAS zu vermeiden?
 
QDevice ist nur ein Dienst der am dritten Gerät laufen muss (corosync-qnetd), das braucht keine volle PVE Installation. Ich persönlich hab in einem 2Node Cluster den corosync-qnetd in einem Container auf meinem nocht-PVE backup server am laufen.

Hier wirds ein bischen schwieriger denke ich. Hab zwei Server mit Raidcontroller und jeweils 8 Spin-HDDs. Wie kann ich hier das ZFS (local) für die Replizerung hinbekommen um den single point of failure mit dem NAS zu vermeiden?
RAID Controller in HBA mode wechseln oder HBA Controller kaufen und dann das Storage im Server auf ZFS umbauen.
Die Storages/Zpools müssen gleich heißen damit die Replication funktioniert.

Weiters gilt dabei auch zu beachten wie oft man repliziert. So Sachen wie E-Mail Server kann man zB jede Minute Replizieren um im Falle des Falles so wenig E-Mails wie möglich zu verlieren. Für andere Sachen wie DNS und DHCP zB kann man ja auch gerne längere Intervalle nehmen da hier ein Datenverlust der ein wenig weiter in die Vergangenheit reicht meistens doch gut verkraften kann.
 
Die Storages/Zpools müssen gleich heißen damit die Replication funktioniert.
Hab auf jedem Node eine weitere Disk hinzugefügt und unter der GUI mit GPT inizialisiert. Wenn ich jetzt versuche mit Create ZFS die platte weiter zu bearbeiten klappt das ab dem zweiten node schon nicht mehr weil er mir den gleichen Namen nicht mehr zulassen möchte...

Oder muss das via CLI gemacht werden?
 
Hab auf jedem Node eine weitere Disk hinzugefügt und unter der GUI mit GPT inizialisiert. Wenn ich jetzt versuche mit Create ZFS die platte weiter zu bearbeiten klappt das ab dem zweiten node schon nicht mehr weil er mir den gleichen Namen nicht mehr zulassen möchte...
Wäre nicht notwendig gewesen. Die nackte(n) Festplatten beim erstellen der Pools auswählen hätte gereicht. Beim erstellen der Pools auf weiteren Nodes wirst du das Häkchen "Add Storage" deaktivieren müssen da die Storageconfig für den Pool schon existiert.

Ich weiß ja nicht wie wertvoll dir deine Daten sind, aber vielleicht wäre etwas Redundanz ganz nett? ZFS kann diverse Redudanzlevel ala Mirror, RaidZ1 bis RaidZ3.
 
Wäre nicht notwendig gewesen. Die nackte(n) Festplatten beim erstellen der Pools auswählen hätte gereicht. Beim erstellen der Pools auf weiteren Nodes wirst du das Häkchen "Add Storage" deaktivieren müssen da die Storageconfig für den Pool schon existiert.
OK danke...

Ich weiß ja nicht wie wertvoll dir deine Daten sind, aber vielleicht wäre etwas Redundanz ganz nett? ZFS kann diverse Redudanzlevel ala Mirror, RaidZ1 bis RaidZ3.
Das ist lediglich ein Testcluster um zu lernen wies geht..., der läuft nested auf einem RX200 Rackserver. Danke vielmals für deine Hilfe!
 
Das ist lediglich ein Testcluster um zu lernen wies geht..., der läuft nested auf einem RX200 Rackserver. Danke vielmals für deine Hilfe!
Ah okay, ja dann ist es egal :)
 
Für Ausfallsicherheit, um mit dem NAS nicht einen Single Point of Failure zu haben, kann man die Replication zwischen den zwei Nodes einrichten https://pve.proxmox.com/pve-docs/pve-admin-guide.html#chapter_pvesr
Das ist aber dann kein HA mehr oder?
1587481242909.png

Ist es möglich die Platten der VMs auf dem NAS laufen zu lassen um einen HA zu bekommen und gleichzeitig auf jedes einzelne Node zu replizieren damit man doch noch eine Automatik bekommt... Wenn das NAS stirbt könnte man mit den lokalen kopien der VMs weiter arbeiten?
 
Danke, habs mit ZFS-Replikation getestet... Schaut gut aus!

Da wäre jetzt noch die Frage wie ich die beiden physischen Nodes aufsetzen soll, wenn die Server jeweils 8 x SSD haben.

2 x SSD für das System und dann extra einen ZFS-Verbund für die VMs oder lieber gleich alle 8 SSD beim installieren verwenden?
 
Hallo,
ich würde eine SSD für die Node nehmen. (Beim eine Neuinstallation bleibt der ZFS-Verbund bestehen.
Das als Raid-1 wäre unnötig, weil ja eine ProxMox-Installation nur ca. 10 Minuten dauert.
Dann ein ZFS-Verbund und zusätzliche eine Festplatte für die Sicherungen.

Ich habe ein kleines Netz mit 2 ProxMox-Server eingerichtet.
Alle VM's sind auf beiden Server vorhanden und können jeweils gestartet werden.
Cluster usw. sind nicht nötig. (Im Gegenteil, die Clusterlösung löscht die 2. Konfigurations-Datei)
Start, Stop, Replizierung, ZFS-Status usw. wird per Windows-Programm durchgeführt.
Hier die Link zum Programm incl. Scripte und Quellcode. (Visual-Studio ab 2017 mit C#)

https://c.web.de/@830448503200157328/6DHmX1ToT9ykOe_9JxdDlA
 
Hallo,
ich würde eine SSD für die Node nehmen. (Beim eine Neuinstallation bleibt der ZFS-Verbund bestehen.
Das als Raid-1 wäre unnötig, weil ja eine ProxMox-Installation nur ca. 10 Minuten dauert.
Dann ein ZFS-Verbund und zusätzliche eine Festplatte für die Sicherungen.

Ich habe ein kleines Netz mit 2 ProxMox-Server eingerichtet.
Alle VM's sind auf beiden Server vorhanden und können jeweils gestartet werden.
Cluster usw. sind nicht nötig. (Im Gegenteil, die Clusterlösung löscht die 2. Konfigurations-Datei)
Start, Stop, Replizierung, ZFS-Status usw. wird per Windows-Programm durchgeführt.
Hier die Link zum Programm incl. Scripte und Quellcode. (Visual-Studio ab 2017 mit C#)

https://c.web.de/@830448503200157328/6DHmX1ToT9ykOe_9JxdDlA
Hallo Klaus, danke für die tolle Anleitung und Software. Ganz schön viel Arbeit die du dir da gemacht hast. Darf ich fragen ob du die Server kommerziell einsetzt?
 
Ich setze die Server nocht nicht kommerziell ein. Bisher noch alles per vsphere. Aber ProxMox macht schon mal einen guten Eindruck.
Einiges ist mir aber aufgefallen:
Bei ProxMox VE schließen sich die Replizierung der der Snapshot aus.
Nach einer Replizierung sind die Snapshot unbrauchbar und nach dem Erstellen eines Snapshot funktioniert die Replizierung nicht mehr.
Leider werden die alten Snapshot bei der Replizierung gelöscht.
Ich hätte aber gerne beliebig viele Snapshot zusätzlich zur Replizierung.

Per pve-zsync kommt man der Sache schon näher, aber auch das erfüllt nicht alles.

Leider kann man die ProxMox VE-Scripte nicht so einfach ändern.
Aber ProxMox VE soll ja Open-Source sein. Vieleicht befasse ich mich mal damit.

Denn einiges fehlt:
1. Das einfache Umschalten per "mv /etc/pve/nodes/pve-4/qemu-server/102.conf /etc/pve/nodes/pve-3/qemu-server/102.conf"
2. Der Austausch einer ZFS-Festplatte per Menue
3. Das Einbinder einer zusätzlichen Festplatte als ext4 incl. den /etc/fstab Eintrag per UUID
4. Die ZFS-Disks als /dev/disk/by-id einbinden.

Nachtrag:
Punkt 1 funktioniert per Migration.
Punkt 3 gibt es schon. Habe ich bei Disks/ Verzeichnis gefunden!
Punkt 4 ist nicht so wichtig.
Also erfüllt ProxMox auf in der 2 Node-Cluster installation schon fast alles.

Ich schreibe jetzt ein Ergänzungsprogramm für 2 Node-Cluster.
Folgendes ist damit möglich:
Eigene Snapshot erstellen, wobei die Replikation und Migration weiterhin funktioniert.
Starten einer Replikation, wenn nur noch eine Node läuft.
Austausch einer fehlerhaften ZFS-Festplatte per Menue.
 
Last edited:

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!