HA-Cluster¶
Funktionsweise des Proxmox-HA-Clusters: zuverlässige und hochverfügbare Virtualisierung¶
Proxmox Virtual Environment (Proxmox VE) ist eine Virtualisierungsplattform, die die einfache Verwaltung virtualisierter Ressourcen und deren Clustering ermöglicht. Eine der zentralen Komponenten von Proxmox VE ist der Hochverfügbarkeits-Cluster (HA-Cluster), der Zuverlässigkeit und hochverfügbare Ressourcen für Anwendungen und Dienste bereitstellt.
Was ist ein Proxmox-HA-Cluster?¶
Ein Proxmox-HA-Cluster ist ein Zusammenschluss mehrerer physischer oder virtueller Server zu einem Cluster, der eine automatische Umverteilung der Arbeitslast und eine Wiederherstellung bei Ausfall eines der Server ermöglicht. Diese Funktionalität stellt sicher, dass Ihre Anwendungen und Dienste selbst beim Ausfall eines Knotens innerhalb des Clusters verfügbar bleiben.
Architektur des Proxmox-HA-Clusters¶
Der Proxmox-HA-Cluster besteht aus zwei oder mehr Knoten (Servern), die über Netzwerkverbindungen zur Kommunikation und Datensynchronisation verbunden sind. Jeder Knoten im Cluster verfügt über dieselbe Konfiguration und den Zugriff auf einen gemeinsamen Datenspeicher, etwa einen gemeinsamen Speicher mit CEPH-Technologie. Innerhalb des Proxmox-HA-Clusters wird ein Gerät als Master bestimmt, die übrigen Knoten sind Slaves. Der Master-Knoten ist für die Verwaltung und Koordination des Clusters zuständig, während die Slave-Knoten Rechen- und Speicherleistung bereitstellen. Bei Daktela sind derzeit zwei unabhängige HA-Cluster in Betrieb, die jeweils mehrere Knoten (Blades) enthalten und im Verhältnis 50:50 auf die beiden Rechenzentren verteilt sind. HA-PVE1
HA-PVE2
CEPH-Speicher¶
CEPH ist ein quelloffenes, verteiltes Datenspeichersystem, das eine effiziente und zuverlässige Verwaltung des Datenspeichers ermöglicht. Innerhalb des Proxmox-HA-Clusters wird CEPH eingesetzt, um einen gemeinsamen Datenspeicher für alle Knoten bereitzustellen. Die Daten werden auf verschiedene Knoten aufgeteilt und repliziert, was Fehlertoleranz und hohe Verfügbarkeit gewährleistet.
Unser CEPH-Speicher basiert auf nVME-Festplatten, sodass es bei der Synchronisation zwischen den einzelnen Knoten zu keiner Verzögerung kommt. Dank 100-Gbit-Verbindungen zwischen allen Clustern und beiden primären Rechenzentren ist die Latenz bei Schreibänderungen nicht messbar.
Corosync¶
Corosync ist eine quelloffene Software für die Kommunikation und Koordination zwischen den Knoten im Cluster. Sie dient dazu, den Zustand und Ereignisse zwischen den Knoten zu synchronisieren, was für das ordnungsgemäße Funktionieren des Proxmox-HA-Clusters entscheidend ist. Corosync sorgt dafür, dass alle Knoten eine einheitliche Sicht auf den Zustand des Clusters haben, und ermöglicht die schnelle Erkennung von Ausfällen sowie die Anpassung des Lastausgleichs.
Ausfallerkennung und Migration virtueller Maschinen¶
Sobald ein Knotenausfall erkannt wird, benachrichtigt der Proxmox-HA-Cluster die anderen Knoten unverzüglich über Corosync. Anschließend wird der Mechanismus zur Umschaltung der Arbeitslast aktiviert, bei dem die auf dem ausgefallenen Knoten laufenden virtuellen Maschinen automatisch auf einen anderen verfügbaren Knoten migriert werden. Die Dauer dieses Vorgangs hängt von der Konfiguration und Auslastung des Clusters ab, wird aber typischerweise in einigen zehn Sekunden gemessen. Bei Daktela haben wir getestet, dass das Failover von Kundeninstanzen innerhalb von 2 Minuten den vollständig betriebsbereiten Zustand erreicht.
Beschreibung der Funktionsweise des Proxmox Backup Servers innerhalb des Proxmox-HA-Clusters¶
Der Proxmox Backup Server (PBS) ist ein quelloffenes Tool, das von Proxmox Server Solutions für die Datensicherung und -wiederherstellung in virtualisierten Umgebungen entwickelt wurde. Innerhalb des Proxmox-HA-Clusters spielt PBS eine zentrale Rolle bei der Bereitstellung eines zuverlässigen Datenschutzes und einer hochverfügbaren Backup-Lösung.
Backup virtueller Maschinen¶
Mit PBS sichern wir regelmäßig die virtuellen Maschinen (VMs), die auf den Knoten im Proxmox-HA-Cluster laufen. Die Backups werden geplant und automatisch nach einem festgelegten Zeitplan durchgeführt. In unserer Implementierung werden Backups zweimal täglich durchgeführt, was die Aktualität der Daten und einen minimalen Verlust im Fehlerfall gewährleistet. Für ausgewählte Kunden können wir stündliche Backups durchführen. PBS sichert mithilfe von Snapshots, sodass die Backups sehr schnell erfolgen. Wir setzen außerdem weitere Technologien für Backups ein, etwa Dirvish oder Xtra backup. Daher lässt sich sagen, dass wir nicht nur die gesamte Maschine 1:1 auf das letzte Backup wiederherstellen können, sondern auch nur einen Teil der Instanz, etwa Dateien oder lediglich die Datenbank.
Georedundantes Backup¶
Unser Proxmox-HA-Cluster nutzt zwei georedundante Fullflash-Proxmox-Backup-Server zur Speicherung der Backups. Dieser Ansatz stellt sicher, dass die Backups an zwei getrennten Standorten gespeichert werden, was die Fehlertoleranz erhöht und die Zuverlässigkeit bei der Datenwiederherstellung im Falle eines Ausfalls in einem der Rechenzentren gewährleistet.
Datendeduplizierung und -komprimierung¶
PBS verwendet Techniken zur Datendeduplizierung und -komprimierung für eine effiziente Speichernutzung. Die Deduplizierung erkennt und entfernt Datenduplikate zwischen verschiedenen Backups, während die Komprimierung die Größe der Datendateien reduziert. Dies hilft, den Speicherbedarf zu senken und spart Platz sowie Bandbreite bei der Datenübertragung zwischen den Knoten. Dadurch sind wir in der Lage, täglich über 100 TB an Daten zu sichern.
Integrität und Verifizierung der Backups¶
PBS führt regelmäßige Integritätsprüfungen der Backups durch, um sicherzustellen, dass sie vollständig und unbeschädigt sind. Die Verifizierung der Backups ist ein wichtiger Bestandteil der Datensicherheit und trägt dazu bei, das Risiko eines Datenverlusts bei einer erforderlichen Wiederherstellung zu minimieren.
Einfache Verwaltung und Überwachung¶
Der Proxmox Backup Server bietet eine benutzerfreundliche Oberfläche zur Konfiguration, Planung und Überwachung von Backups. Administratoren können den Backup-Status leicht überwachen, Daten wiederherstellen und den Speicher über eine zentrale Oberfläche verwalten. Um das Bewusstsein für den Backup-Status weiter zu erhöhen, haben wir zusätzliche Überwachungsmethoden implementiert:
- Überwachung des Status mit Zabbix
- Benachrichtigungen in einem Ticketing-System
Wiederherstellung aus dem Backup¶
Dank georedundanter Speicher und mehrschichtiger Backups sind wir in der Lage, den Betrieb selbst bei einem kompletten Ausfall eines Rechenzentrums oder bei Dateninkonsistenzen in einzelnen Kundeninstanzen wiederherzustellen.