Dieser Artikel beschreibt die Konfiguration eines Hochverfügbarkeit-Clusters (auch High Availability Cluster oder HA Cluster genannt) anhand drei Server unter ProxmoxVE 8.2.2. Als Datenspeicher wird in diesem Beispiel Ceph innerhalb des Clusters konfiguriert.
Vor der Konfiguration des HA Clusters prüfen Sie, ob alle Voraussetzungen erfüllt sind:
3 baugleiche Server-Systeme
Alle Knoten müssen sich im gleichen Netzwerk befinden
Datum und Uhrzeit müssen synchronisiert werden (NTP)
SSH auf Port 22 muss freigeschaltet sein
Installation und Konfiguration
Zuerst installieren Sie Proxmox VE auf allen 3 Nodes. Versichern Sie sich bitte, dass Sie den richtigen Hostname und IP Konfiguration eingegeben haben.
Netzwerkkonfiguration
Anschließend muss die Netzwerkkonfiguration aller Nodes vorgenommen werden, führen Sie dazu nach erfolgreicher Installation folgende Schritte aus:
Wählen Sie zu Beginn den Hostname aus und gehen Sie auf [Network]. Im Anschluss sehen Sie die initiale Netzwerkkonfiguration, diese können Sie entsprechend Ihrer Anforderungen anpassen.
Im Anschluss können Sie mit Klick auf [Apply] die Änderungen übernehmen. Dieses Vorgehen wiederholen Sie auf den übrigen Nodes.
Nun können Sie die Netzwerkkonfiguration mit einen Ping-Test überprüfen, testen Sie hierbei auch gleich, falls konfiguriert, den Ping mit Jumbo Frames. Folgender Befehl würde dies bei einer konfigurierten MTU von 9000 Byte testen:
ping -M do -s 8972 [IP-Adresse]
Proxmox VE Cluster erstellen
Zum Erstellen des Clusters führen Sie die folgenden Schritte aus:
Gehen Sie dazu unter [Datacenter][Cluster] und Klicken Sie auf [Create Cluster]. Nun öffnet sich ein Pop-up, hier muss ein Clustername und das Netzwerk für das PVE-Cluster eingegeben werden. Durch Klicken auf [Create] wird das Cluster erstellt.
Nun kann die Join Information unter dem gleichnamigen Punkt [Join Information] und einem Klick auf [Copy Information] kopiert werden. Dies wird für das Hinzufügen der übrigen Nodes benötigt.
Um die übrigen Nodes dem Cluster hinzuzufügen, verbinden Sie sich auf deren GUI und Klicken Sie unter [Datacenter][Cluster] auf [Join Cluster]. Anschließend kann die Join Information, sowie das Passwort und das Netzwerk angegeben werden. Durch Klick auf [Join 'Clustername'] wird der Host hinzugefügt. Wiederholen Sie dies bei den restlichen Servern.
Folgend sollte die Übersicht ähnlich hierzu aussehen.
Hinweis für Cluster mit vielen Nodes: Bei Clustern mit einer großen Anzahl an Nodes (ab ca. 25 Nodes) tragen Sie auf jedem Cluster-Node alle Nodes in der lokalen Hosts-Datei ein. Ansonsten kann es zu hohem Netzwerktraffic und Stabilität-Problemen mit Corosync kommen.
Ceph Storage hinzufügen
Um ein Ceph Storage für die Speicherung aller Daten zu erstellen, müssen folgende Schritte durchgeführt werden:
Wählen Sie dazu eine Node aus und Klicken Sie auf [Ceph] und [Install Ceph], um die Installation zu starten.
Nachdem die Installation abgeschlossen ist kann das Ceph-Netzwerk angegeben werden, zusätzlich kann hier auch die Anzahl der Replikate eingestellt werden. Klicken Sie anschließend [Next], um die Konfiguration abzuschließen. Dieses Vorgehen wird bei allen Nodes wiederholt.
Als nächstes müssen einige Dienste für Ceph konfiguriert werden. Die ersten sind die Monitor- und Manager-Dienste, klicken Sie dazu unter [Ceph][Monitor] und auf [Create] bei Monitor und Manager. In diesem Beispiel wird pro Host ein Dienst erstellt.
Folgend sollte es ähnlich zu diesem Bild aussehen.
Anschließend müssen die HDDs/SSDs/NVMes für die Erstellung der OSDs vorbereitet werden. Dafür werden diese unter [Disks] einmal gelöscht [Wipe Disk] und mit GPT initialisiert [Initialize Disk with GPT]. Wiederholen Sie dies mit allen Datenträgern.
Nun können unter [Ceph][OSD] mit Klick auf [Create: OSD] die OSDs erstellt werden. Wählen Sie hier die Disk und eine Device Class aus und bestätigen Sie es durch [Create]. Dies muss für alle Datenträger wiederholt werden.
Nach der OSD-Erstellung kann unter [CephFS] ein Meta Data Server erstellt werden, diese werden unter anderem für CephFS benötigt. Klicken Sie dazu auf [Create], in diesem Beispiel wird auch ein MDS pro Host erstellt.
Nun kann mit Klick auf [Create CephFS] CephFS erstellt werden. Hier können die Default-Werte genutzt werden.
Zuletzt muss ein Pool für die Speicherung aller Daten der VMs/CT erstellt werden. Wechseln Sie dafür zu [Pools] und drücken Sie [Create]. Anschließend muss ein Poolname vergeben werden, zusätzlich kann noch eine Target-Ratio von 0.9 eingestellt werden.
Abschließend kann das Ceph Dashboard betrachtet werden und es sollte alles Healthy sein.
Konfiguration High Availability
Nun können die benötigten Virtuellen Maschinen und Container auf dem Cluster erstellt werden. Um nun die Hochverfügbarkeit des Clusters nutzen zu können, ist es essentiell, dass die konfigurierten VMs/CT der HA hinzugefügt werden. Folgen Sie dazu den nächsten Schritten um, dies einzurichten:
Gehen Sie dazu unter [Datacenter] auf [HA]. Nun kann durch Klick auf [Add] die VM zu HA hinzugefügt werden. Geben Sie dazu die VM-ID, sowie einen Request State ein und bestätigen Sie es durch [Add].
Nachdem Sie all diese Schritte ausgeführt haben, ist der Cluster funktionsfähig und Ihre virtuellen Instanzen sind hochverfügbar.
Niklas Pauli arbeitet im Product Management Team von Thomas-Krenn. Er absolvierte am Gymnasium Freyung seine Allgemeine Hochschulreife und anschließend seine Ausbildung als Fachinformatiker für Systemintegration bei der Thomas-Krenn.AG. Nach seiner Ausbildung beschäftigt er sich weiterhin mit den Themengebieten Proxmox VE inkl. Ceph, Backup (Proxmox, Veeam, SEP) oder dem Thomas-Krenn-Wiki.
Tim Lindinger arbeitet seit 2015 bei Thomas-Krenn im Technical Support. Zu seinen Aufgabengebieten zählen unter anderem der Aufbau von Testsystemen, die Reparatur von RMA-Servern sowie der Support für Kundenanfragen. Software-seitig hat sich Tim auf das Thema Proxmox VE spezialisiert.