-
OpenStack Hochverfügbarkeit
-
Hohe Verfügbarkeit des Steuerknotens
-
High-Availability-Lösungen für wichtige Komponenten
-
Aufbau einer Hochverfügbarkeit mit OpenStack
-
Erweiterter OpenStack-Schutz
-
OpenStack Hochverfügbarkeit Häufig gestellte Fragen
-
Schlussfolgerung
OpenStack ist eine Open-Source-Cloud-Computing-Plattform, deren Architektur Rechen-, Speicher- und Netzwerkdienste umfasst und starke Virtualisierungsfunktionen sowie automatisierte Verwaltungsfunktionen bereitstellt. Um die hohe Verfügbarkeit der OpenStack-Plattform sicherzustellen, müssen bestimmte architektonische Lösungen und technische Maßnahmen angewandt werden. In diesem Artikel werden einige gängige Hochverfügbarkeitsarchitekturlösungen für OpenStack vorgestellt.
OpenStack Hochverfügbarkeit
Um zu verstehen, wie man Hochverfügbarkeit erreicht, ist es wichtig herauszufinden, welche Dienste anfällig für Ausfallzeiten sind. Zunächst sollten wir eine grundlegende Vorstellung von der Struktur von OpenStack erhalten.
OpenStack besteht aus fünf wesentlichen Komponenten: Compute (Nova), Identitätsverwaltung (Keystone), Bildverwaltung (Glance), Frontend-Verwaltung (Dashboard) und Objektspeicher (Swift).
Nova ist die zentrale Komponente, die für das Computing und die Steuerung verantwortlich ist. Sie umfasst Dienste wie nova-compute, nova-scheduler, nova-volume, nova-network und nova-api. Wie bei den meisten anderen verteilten Systemen wird OpenStack in zwei Arten von Knoten unterteilt: Steuerungsknoten und Rechenknoten. Steuerungsknoten bieten alle Dienste mit Ausnahme von nova-compute. Diese Komponenten und Dienste können unabhängig voneinander installiert werden, und Kombinationen können nach Bedarf ausgewählt werden.
Nova-compute wird auf jedem Compute-Node ausgeführt. Für den Moment gehen wir davon aus, dass es vertrauenswürdig ist; andernfalls kann eine Sicherungsmaschine für Failover verwendet werden (obwohl die Konfiguration einer Sicherung für jeden Compute-Node im Vergleich zum Nutzen zu kostspielig sein könnte).
Hohe Verfügbarkeit des Steuerknotens
Die Gewährleistung der hohen Verfügbarkeit des Steuerknotens ist die primäre Herausforderung, wobei verschiedene Komponenten ihre eigenen spezifischen Anforderungen und Lösungen zur Verfügbarkeit haben.
(1) Was passiert, wenn der Control Node ausfällt, insbesondere da es nur einen einzigen Control Node gibt, der das gesamte System verwaltet und steuert?
Dies ist das übliche Single Point of Failure (SPoF)-Problem. Hochverfügbarkeit kann allein mit einem einzelnen Gerät nicht erreicht werden. Häufig wird eine Lösung konzipiert, um bei Auftreten eines Problems eine schnelle Übernahme des ausgefallenen Geräts zu gewährleisten, doch dies verursacht höhere Kosten.
Um das Einzelpunktproblem zu adressieren, ist die typische Lösung die Verwendung redundanter Geräte oder einen Hot-Standby. Da Hardwareausfälle oder menschliche Fehler immer wieder zu einem oder mehreren Knotenausfällen führen können und Wartungs- oder Upgradearbeiten manchmal das vorübergehende Abschalten bestimmter Knoten erfordern, muss ein zuverlässiges System in der Lage sein, den Ausfall eines oder mehrerer Knoten zu verkraften.
Übliche Bereitstellungsmodi umfassen: Aktiv-passiver Standby-Modus, Aktiv-Aktiv-Modus und Clustermodus
(2) Wie baut man redundante Steuerungsknoten auf? Oder welche anderen Methoden können eine hochverfügbare Steuerung erreichen?
Viele könnten die Implementierung eines aktiv-passiv Modus in Betracht ziehen, wobei ein Heartbeat-Mechanismus oder ähnliche Methoden für die Sicherung verwendet und durch Failover eine hohe Verfügbarkeit erreicht wird. OpenStack unterstützt keine mehrfachen Kontrollknoten von sich aus, deshalb erfordert Pacemaker, dass verschiedene Dienste ihre eigenen Sicherungs-, Überwachungs- und Umschaltmechanismen implementieren.
Bei genauerer Betrachtung der vom Control Node bereitgestellten Dienste zeigt sich, dass diese hauptsächlich aus nova-api, nova-network, nova-scheduler, nova-volume sowie Glance, Keystone und der MySQL-Datenbank bestehen. Diese Dienste werden einzeln bereitgestellt. Nova-api, nova-network und Glance können auf jedem Compute Node laufen, RabbitMQ kann im Master-Backup-Modus betrieben werden und MySQL kann einen redundanten Hochverfügbarkeitscluster verwenden.
Die folgenden Abschnitte beschreiben diese Komponenten im Detail.
High-Availability-Lösungen für wichtige Komponenten
1) High Availability von nova-api und nova-scheduler
Jeder Compute-Node kann seine eigene nova-api und nova-scheduler ausführen und gewährleistet so eine Lastverteilung für einen reibungslosen Betrieb. Auf diese Weise funktionieren die nova-api und die zugehörigen Dienste auf den Compute-Nodes auch weiterhin normal, wenn der Control-Node ausfällt.
2) Hohe Verfügbarkeit von nova-volume
Derzeit gibt es keine perfekte HA-Lösung für nova-volume, und weitere Arbeiten sind erforderlich. Da nova-volume jedoch von iSCSI angetrieben wird, kann die Integration mit DRBD oder die Verwendung einer hardwarebasierten Hochverfügbarkeitslösung, die auf iSCSI basiert, Hochverfügbarkeit erreichen.
3) Hohe Verfügbarkeit von Netzwerkdiensten (nova-network)
OpenStack stellt bereits mehrere Hochverfügbarkeits-Netzwerk-Lösungen bereit. Ein häufig verwendeter Ansatz ist, den Hochverfügbarkeitsmodus durch die Nutzung der Option „Multi-Host“ zu aktivieren. Zu anderen gängigen Lösungen gehören Failover, Multi-NIC, Hardware-Gateway und Quantum.
4) Hohe Verfügbarkeit von Glance und Keystone
OpenStack-Images können mit Swift gespeichert werden, und Glance kann auf mehreren Hosts laufen. Pacemaker ist eine leistungsstarke Hochverfügbarkeitslösung zur Verwaltung von Mehrknoten-Clustern, die Dienstumschaltung und Failover implementiert und in Kombination mit Corosync sowie Heartbeat verwendet werden kann. Pacemaker unterstützt flexibel verschiedene Modi wie Active-Passive, N+1 und N-N. Durch die Installation des OCF-Agents auf jedem Knoten kann er überprüfen, ob ein anderer Knoten die Dienste Glance und Keystone ordnungsgemäß ausführt, und hilft Pacemaker dabei, diese Dienste zu starten, zu stoppen und zu überwachen.
5) Hohe Verfügbarkeit des Swift-Objektspeichers
Im Allgemeinen erfordert Swift, das verteilte Objektspeichersystem von OpenStack, keine zusätzlichen Hochverfügbarkeits-Konfigurationen. Dies liegt daran, dass Swift mit einer verteilten Architektur (ohne Master-Node), Fehlertoleranz, Redundanzmechanismen, Datenwiederherstellungsmechanismen, Skalierbarkeit und hoher Verfügbarkeit konzipiert wurde.
6) Hohe Verfügbarkeit des Message Queue Service (RabbitMQ)
Wenn RabbitMQ fehlschlägt, können Nachrichten verloren gehen. Mehrere HA-Mechanismen können verwendet werden:
Die Bestätigungsmethode des Herausgebers benachrichtigt, wenn Daten im Falle eines Fehlers auf die Festplatte geschrieben werden.
Der Mehrknoten-Cluster-Mechanismus kann verwendet werden, aber Knotenausfälle können weiterhin zu Warteschlangenproblemen führen.
Der Active-Passive-Modus stellt ein Failover im Fehlerfall sicher, jedoch können Verzögerungen oder sogar Fehler beim Starten des Sicherungsknotens auftreten.
Für die Wiederherstellung nach Katastrophen und hohe Verfügbarkeit stellt RabbitMQ persistente Warteschlangen bereit, die ungeverarbeitete Nachrichten auf der Festplatte speichern, falls der Warteschlangendienst abstürzt. Um einen Verlust von Nachrichten durch Verzögerungen zwischen dem Senden und Schreiben der Nachrichten zu verhindern, führt RabbitMQ das Mechanismus „Publisher Confirm“ ein, um sicherzustellen, dass Nachrichten tatsächlich auf der Festplatte gespeichert werden.
Für die Cluster-Unterstützung bietet RabbitMQ Active/Passive- und Active/Active-Modi. Im Active/Passive-Modus wird beispielsweise bei einem Knotenausfall der passive Knoten sofort aktiviert und ersetzt schnell den fehlerhaften aktiven Knoten, um die Nachrichtenübermittlung fortzusetzen.
Aufbau einer Hochverfügbarkeit mit OpenStack
Allgemein wird Hochverfügbarkeit durch die Schaffung von Redundanz und Backups erreicht. Gängige Strategien umfassen:
Cluster-Modus. Mehrere Geräte sichern sich gegenseitig, wobei jede Instanz mehrfach ohne zentrale Node gesichert wird. Beispiele hierfür sind das verteilte Objektspeichersystem Swift und der Multi-Host-Modus von nova-network.
Autonomer Modus. In einigen Fällen kann SPoF dadurch adressiert werden, indem jedem Knoten ermöglicht wird, unabhängig zu arbeiten, wodurch die Master-Slave-Beziehungen entfallen und somit der Einfluss eines ausgefallenen Steuerungsknotens reduziert wird. Beispielsweise ist nova-api nur für seinen eigenen Knoten verantwortlich.
Aktiv-Passiv-Modus. Dieses gängige Modell umfasst einen passiven Knoten, der im Standby- und Sicherungsmodus bleibt und bei einem Ausfall übernimmt. Beispiele hierfür sind hochverfügbare MySQL-Cluster sowie Dienste wie Glance und Keystone, die durch Pacemaker und Heartbeat Redundanz erreichen.
Active-Active-Modus. In diesem Modus sichern und unterstützen die Knoten sich gegenseitig. RabbitMQ verwendet beispielsweise einen Active-Active-Cluster mit hoher Verfügbarkeit, bei dem die Knoten innerhalb des Clusters Warteschlangen replizieren können. Aus architektonischer Sicht beseitigt dieser Ansatz Bedenken hinsichtlich des Fehlverhaltens passiver Knoten oder übermäßig langer Verzögerungen.
Zusammenfassend lässt sich sagen, dass die Optimierung und Verbesserung von OpenStack ständig weiterentwickelt werden und dass die Bereitstellung und Anwendungsmöglichkeiten weiter erforscht und ausgebaut werden. Praktische Abstimmung ist entscheidend – gute Designs und Ideen benötigen reale Tests, um bestätigt zu werden.
Erweiterter OpenStack-Schutz
Obwohl OpenStack durch Redundanz und Hochverfügbarkeitsarchitektur das Risiko eines einzelnen Ausfalls reduziert, bleibt der Datenschutz entscheidend. Um die Geschäftskontinuität sicherzustellen, muss eine professionelle Backup-Lösung eingesetzt werden, um Datenverluste und die Auswirkungen katastrophaler Ausfälle zu verhindern.
Vinchin Backup & Recovery ist eine leistungsstarke OpenStack-Backup-Lösung, die agentenlose und effiziente Backups mit Funktionen wie Daten-Deduplizierung, Kompression, inkrementellen Backups, Datei-Ebene-Wiederherstellung und Cloud-Archivierung bietet. Sie gewährleistet schnelle Wiederherstellung, nahtlose Integration in OpenStack und starke Datensicherheit und ist somit die ideale Wahl für das Management und den Schutz von Cloud-Umgebungen.
Außerdem bieten Ihnen die Datenverschlüsselung und Ransomware-Schutz eine doppelte Absicherung zum Schutz Ihrer OpenStack VM-Backups. Sie können Ihre Daten zudem ganz einfach von einem OpenStack-Host zu einer anderen virtuellen Plattform migrieren (z. B. VMware, Hyper-V, Proxmox, XenServer, oVirt, AWS EC2...) und umgekehrt.
Die Sicherung von OpenStack-VMs mit Vinchin Backup & Recovery erfordert nur die folgenden 4 Schritte:
1. Wählen Sie das Sicherungsobjekt aus.
2. Sichern Sie das Backup-Ziel aus.
3. Sichern Sie die Backup-Strategien.
4. Stelle die Stelle zusammen und sende sie ab.
Vinchin Backup & Recovery wird von Tausenden von Unternehmen vertraut. Starten Sie noch heute Ihre 60-tägige Testphase mit allen Funktionen!
OpenStack Hochverfügbarkeit Häufig gestellte Fragen
1. Was ist die Verfügbarkeitszone in OpenStack?
In OpenStack ist eine Availability Zone (AZ) eine logische Partition innerhalb einer Cloud-Umgebung, die dazu beiträgt, Workloads zur Verbesserung der Fehlertoleranz und Ressourcenverwaltung zu verteilen. Jede AZ stellt eine isolierte Fehlerdomäne dar, was bedeutet, dass Instanzen in verschiedenen AZs weniger wahrscheinlich von denselben Hardware- oder Netzwerkausfällen betroffen sind. AZs werden typischerweise verwendet, um Compute-Nodes zu gruppieren, während Speicher- und Netzwerkdienste ebenfalls eigene Zonen besitzen können, um die Resilienz und Redundanz zu erhöhen. Benutzer können beim Starten von Instanzen eine AZ angeben, um Leistung und Zuverlässigkeit zu optimieren.
2. Ist OpenStack ein SAAS oder PaaS?
OpenStack ist vor allem eine IaaS-Plattform. Sie stellt virtualisierte Rechen-, Speicher- und Netzwerkressourcen bereit und ermöglicht es Benutzern, Cloud-Infrastruktur bereitzustellen und zu verwalten. Obwohl OpenStack PaaS-Lösungen unterstützen kann, indem darauf Dienste wie Kubernetes oder Cloud Foundry laufen, besteht ihre Kernaufgabe darin, IaaS und nicht SaaS oder PaaS bereitzustellen.
Schlussfolgerung
Um eine hohe Verfügbarkeit in OpenStack sicherzustellen, sind kombinierte architektonische Strategien und technische Lösungen erforderlich, um einzelne Ausfallpunkte zu eliminieren und die Systemresilienz zu verbessern. Durch die Implementierung von Active-Passive- und Active-Active-Modi, den Einsatz von Clustering-Techniken sowie die Optimierung wesentlicher Komponenten wie Nova, Glance, Keystone und RabbitMQ kann OpenStack eine ausfallsichere und hochverfügbare Cloud-Infrastruktur erreichen. Zudem bieten verteilte Speicherlösungen wie Swift von Natur aus Redundanz und Widerstandsfähigkeit.
Teilen auf: