Daher benötigt man dann das Quorums device, was in deinem Setup auch auf der NAS laufen kann. Das bedeutet dann das weitere Kabel notwendig sind. (Wie in einem full meshed cluster - Da ist jeder Node direkt via Kabel mit jedem anderen Node verbunden - 3 Node Cluster = 2 Kabel zu den anderen Nodes (Funktionstrennung für Corosync + ggf. Ceph nicht berücksichtigt))
Das qevice hat allerdings geringere Lazenzanforderungen als das eigentliche Cluster-Netzwerk:
The only requirements for the external host are that it needs network access to the cluster and to have a corosync-qnetd package available. We provide a package for Debian based hosts, and other Linux distributions should also have a package available through their respective package manager.
Note Unlike corosync itself, a QDevice connects to the cluster over TCP/IP. The daemon can also run outside the LAN of the cluster and isn’t limited to the low latencies requirements of corosync.
https://pve.proxmox.com/wiki/Cluster_Manager#_corosync_external_vote_support
Das kann dann zum Beispiel so aussehen:
Code:
___________
|===========|
| |
| NAS |
|___________|
o
|
|
|
_______...______
[ Switch/Router ]
[_..._______..._]
o o
| |
|----------------| |---------|
_____o_____ _____o_____
|===========| |===========|
| | | |
| Mini-PC1 |o--------USB-LAN-------o| Mini-PC2 |
|___________| |___________|
Also: Die beiden Mini-PCs bilden miteinander ein corosync-netzwerk über die USB-Adapter. Für den Verkehr mit den Rest des LANs inklusive des kombinierten NAS/qdevice wird das normale LAN genutzt (das gleichzeitig auch ein redundantes Netzwerk für corosync anbietet, falls die USB-Adapter mal den Dienst verweigern...).
Doch würden sie, wenn der shared storage dann noch verfügbar ist. Wenn das NAS mit dem Q-device weg ist, sind auch die VMs weg.
Das ist so pauschal auch nicht ganz richtig, bzw. es kommt darauf an, was man unter shared storage versteht. Will man die Images für die VMs und lxcs auf der NAS lagern? Dann ist die Aussage korrekt, aber warum sollte man das tun? Nutzt man dagegen Storage Replication (
https://pve.proxmox.com/wiki/Storage_Replication), dann ist das NICHT der Fall, nur kann es dann halt zu einen split-brain Szenario kommen. L
Zusammenfassend: Ich sollte die zwei MiniPCs mit einem USB Ethernet adapter miteinander verbinden. Ich kann sie nur an meinen Switch anschliessen falls der Switch Priority VLANs unterstützt.
Ich würde den Switch (siehe Schaubild oben) ganz aus der Verbindung für die USB-Adapter rausnehmen, ist nur eine völlig unnötige Fehlerquelle, die bei zwei Knoten gar nicht benötigt wird.
Failover geschieht automatisch, aber natürlich nur für die beiden MiniPCs. Wenn das NAS nicht mehr will habe ich Pech gehabt.
Auch dann wird es erstmal weiter laufen, es kann halt zu einen split-brain-Szenario kommen. Aber die Idee ist ja eigentlich, dass einen das monitoring über den Ausfall der NAS informiert und man dann das rechtzeitig fixen kann, bevor es Probleme gibt
Was würde denn mit den VMs/LXCs auf den MiniPCs geschehen wenn das NAS plötzlich nicht mehr verfügbar ist?
Kommt darauf an, ob auf der NAS "nur" Anwendungsdaten (also z.B. eine Medienbibliothek für plex oder jellyfin) liegen oder auch die Images der VMs oder LXCs. Sind es nur Anwendungsdaten, dann kann die jeweilige VM/LXC logischerweise nicht mehr darauf zugreifen, wird aber sonst weiterlaufen (ggf. mit komischen Fehlern). Liegen auch die Images da, dann schaut das natürlich anders aus.
Aber im Ernst: Die ZFS-Replikation findet im Default alle 15 Minuten statt. Wenn einen der Verlust von 15 Minuten Daten zu fiel ist, kann man das auch auf eine Minute reduzieren oder (bietet sich für so sachen wie DNS-Server/pihole etc) an auch auf mehrere Stunden hochsetzen. Für ein Szenario wie deins reicht das in Kombination mit der NAS und dem qdevice plus ProxmoxBackupServer auf der NAS meines Erachtens nach vollkommen aus.
Ich mache das selbst so, obiges Schaubild ist mein aktuelles Heimnetz (es fehlen natürlich noch die Clients und envtl. weitere Geräte).
Die ZFS-Replikation hat auch den Vorteil, dass dann die NAS nicht der single-point-of-failure ist (außer für die Dienste, deren Daten dort gespeichert sind). Ein Dienst, der die NAS nicht braucht, der kann dann ja trotzdem laufen. Außerdem wird der Zugriff auf VM/lxc-Images auf der NAS immer lahmer sein als lokal über ZFS.
Die VMs/LXCs die speicher brauchen werfen natürlich Fehler, aber was ist mit denen die keinen Speicher vom NAS gebraucht haben? Laufen die normal weiter? Oder gibt es da Probleme weil das qdevice fehlt?
Die werden erstmal weiterlaufen, aber es kann halt sein, dass es zu einen split-brain-Szenario kommt, weil das qdevice zum Bilden einer Mehrheit fehlt.
Das heißt nicht, dass es nutzlos ist: Ohne qdevice würde bei einen Ausfall eines Knotens der ganze Cluster in einen Fehlerzustand laufen, mit dem qdevice kann halt alles (bei konifigurierter Hochverfügbarkeit) auf dem anderen Knoten weiterlaufen und die Dienste laufen weiter, bis man den zweiten Knoten wieder am Start hat. Ist auch sehr praktisch, um einen Knoten zu warten, ohne dafür eine Downtime der Dienste zu haben
Wenn ich es richtig verstehe würden 2 MiniPCs im Cluster plus qdevice aber keinen automatischen Failover machen (oder ich habe das falsch verstanden) und dann sehe ich nicht wieso ich den Cluster überhaupt bräuchte? LXCs/VMs kann ich ja auch manuell hin und her schieben.
Doch würden sie, sofern du a) Replikation für sie aktiviert hast (braucht ZFS) oder deren Images auf einen shared storage (wie der NAS) liegen und b) du die Hochverfügbarkeit für die jeweilige VM und LXC aktiviert hast. Dann sollte bei einen Ausfall die VM/der Contaienr automatisch mit den letzten gesyncte Stand auf dem anderen Knoten gestartet werden. Der Wartungsmodus funktioniert ähnlich, nur dass dort noch eine Migration stattfindet, sodass die VM auf den anderen Knoten garantiert den aktuellen Stand hat.
Mit den Datacentermanager könntest du halt noch zwischen dem Cluster und dem NAS-PVE hin- und her migrieren, nur halt ohne automatisches failover..
Backup braucht man natürlich trotzdem noch, hast du dir da schon was zu überlegt?. Selbst wenn auf der NAS das Backup des Clusters liegt, wo liegt dann das Backup der NAS? Ich habe dafür einen weiteren Mini-PC im LAN, der jede Nacht automatisch gestartet wird und sich die Daten von meinen NAS-Knoten zieht. Zusätzlich nutze ich einen vserver als offsite-Backupserver für die vm und lxcs und eine hetzner-storagebox für die Datenbestände der NAS.
Wenn du dir das Geld für die Cloud sparen willst, könntest du auch eine per USB angeschloßene Festplatte nehmen, die du an einen vertrauenswürdigen Ort außerhalb deiner Wohnung lagerst und nur gelegentlich zum syncen zu dir holst.