Wie ich in meinem Beitrag zum Thema Migration auf Proxmox bereits philosophiert habe, ist mein ziel eine redundante Lösung zu haben in Form von 2 Proxmox Hosts.
Die aktuelle Ausgangseinschränkung habe ich nun genutzt um dieses Vorhaben in die Tat umzusetzen.
Ich habe mir also einen zweiten Laptop organisiert und dort Proxmox installiert.
Bei meiner Installation auf den ersten Host, habe ich bereits von Anfang an alles auf Cluster-Betrieb eingerichtet.
Das heißt:
Auf meiner Synology NAS habe ich zwei neue geteilte Ordner erstellt und diese via NFS im Proxmox Cluster hinzugefügt.
Zusätzlich ist auf der angeschlossenen USB-Platte ein Verzeichnis für die Backups der VM’s freigegeben.
In Proxmox selbst, wird die Zuordnung nicht auf dem Host unter Storage gemacht, sondern direkt im Cluster, damit jeder Node direkt Zugriff darauf hat, NFS Berechtigungen auf der Synology vorausgesetzt.
Das hinzufügen des neuen Nodes war denkbar einfach.
Unter Cluster einfach die „Join Information“ von dem ersten Host, unter dem Cluster erstellt wurde, anzeigen und diese per Copy+Past auf dem neuen Host einfügen, SSH-Root Kennwort rein und fertig ist das Cluster.
Dadurch dass alle Daten zentral auf der Synology NAS liegen, ist ein hin und her verschieben der VM’s eine Sache von Sekunden.
Da ich ein freund des Energiesparens bin, möchte ich nicht, das beide Nodes parallel in Betrieb sind, sondern einer soll immer ausgeschaltet sein um dan via Wake on LAN die VM’s zu übernehmen.
Dafür ist natürlich ein außenstehender „Wächter“ nötig, der ein Auge darauf hat.
Da meine Homematic installation, zumindest aktuell noch, auf einem Raspberry Pi 3b läuft, übernimmt er diese Aufgabe.
Dafür habe ich eine neue Systemvariable Namens Proxmox Status erstellt, als Logikwerte.
Als CUxD-Ping prüfe ich die Verfügbarkeit des Hosts und 2 VM’s die durchgehend laufen sollen.
Nun habe ich ein Programm erstellt, in dem diese drei CUxD-Pings den Status der Systemvariable steuern.
Als nächstes kommt noch die Automatisierung zum starten des Standby-Hosts via Wake on LAN.
Dafür habe ich vom CUxD ein Geräte missbraucht um dort den Anschalt-Befehl als Gerät zur Verfügung zu haben.
Der Befehl ist wie folgt: /usr/sbin/ether-wake AA:BB:CC:DD:EE:11
Als nächstes noch das Programm, welches beim Proxmox Status = Failover den Standby Host startet.
Unterm Strich heißt das nun:
Sobald der VMS102 + 2 VM’s zusammen Offline sind, wird die Systemvariable Proxmox Status auf Failover gesetzt.
Dadurch wird dann das Programm gestartet um die VMS101 zu starten.
Im Proxmox Cluster sind alle VM’s auf automatisch Starten gestellt mit einer entsprechenden Verzögerung (360 Sekunden) da im schlimmstenfall die Synology erst starten muss, zum Beispiel bei einem Stromausfall.
Update 20.04.2020
Gestern hatte ich mir einmal eher versehentlich den primären Proxmox Host abgeschossen, so dass ein Failover eingeleitet werden musste.
Ohne hier panisch zu werden, habe ich das System mal tun lassen und mir während des Failover Prozesses einen Kaffee gemacht.
Siehe da, dieses System funktioniert wunderbar.
Die VM’s wurden auf dem Standby Host wieder einwandfrei gestartet, die Ausfallzeit betrug etwa 15 Minuten, bis alles durch und gestartet war.
In einer privaten Infrastruktur kann man damit durchaus leben.