Cassandra-Wiederherstellung – Übersicht

Diese Seite bietet einen Überblick über die Wiederherstellung von Cassandra in Apigee Hybrid.

Vorteile der Wiederherstellung

Sie können Sicherungen verwenden, um die Apigee-Infrastruktur bei einem schwerwiegenden Ausfall, wie einem nicht wiederherstellbaren Datenverlust in Ihrer Apigee Hybrid-Instanz nach einem Notfall, wiederherzustellen. Die Wiederherstellung verwendet Ihre Daten vom Backup-Speicherort und stellt die Daten in einem neuen Cassandra-Cluster mit der gleichen Anzahl von Knoten wieder her. Es werden keine Clusterdaten aus dem alten Cassandra-Cluster übernommen. Das Ziel des Wiederherstellungsprozesses besteht darin, die Installation von Apigee Hybrid mithilfe von Sicherungsdaten aus einem Snapshot wieder in den vorherigen Betriebszustand zu versetzen.

Die Verwendung von Sicherungen zur Wiederherstellung wird in den folgenden Szenarien nicht empfohlen:

  • Cassandra-Knotenfehler.
  • Versehentliches Löschen von Daten wie apps, developers und api_credentials.
  • Ausfall einer oder mehrerer Regionen bei einer Hybrid-Bereitstellung mit mehreren Regionen.

Apigee Cassandra-Bereitstellungen und die betriebsbereite Architektur sorgen für Redundanz und Fehlertoleranz für eine einzelne Region. In den meisten Fällen bedeutet die empfohlene multiregionale Produktionsimplementierung von Hybrid, dass ein Ausfall einer Region aus einer anderen Live-Region mithilfe von Verfahren zur Außerbetriebnahme und Erweiterung von Regionen wiederhergestellt werden kann, anstatt aus einer Sicherung wiederherzustellen.

Beachten Sie Folgendes, bevor Sie mit der Implementierung einer Wiederherstellung aus einer Cassandra-Sicherung beginnen:

  • Ausfallzeit: Es kommt zu einer Ausfallzeit für die Dauer der Wiederherstellung.
  • Datenverlust: Zwischen der letzten gültigen Sicherung und dem Zeitpunkt, zu dem die Wiederherstellung abgeschlossen ist, tritt ein Datenverlust auf.
  • Wiederherstellungszeit: Die Wiederherstellungszeit hängt von der Größe der Daten und dem Cluster ab.
  • Gezielt Daten auswählen: Sie können nicht gezielt Daten zur Wiederherstellung auswählen. Die Wiederherstellung stellt die gesamte ausgewählte Sicherung wieder her.

Multiregionale Wiederherstellungen

Wenn Sie Apigee Hybrid in mehreren Regionen installiert haben, müssen Sie die Überschreibungsdatei für die Region prüfen, die Sie wiederherstellen möchten, um sicherzustellen, dass cassandra:hostNetwork auf false gesetzt ist, bevor Sie die Wiederherstellung ausführen. Weitere Informationen finden Sie unter In mehreren Regionen wiederherstellen.

Vorbereitung

Prüfen Sie, ob alle folgenden Voraussetzungen erfüllt sind. Prüfen Sie alle vorausgehenden Fehler, bevor Sie mit der Wiederherstellung fortfahren.

  1. Prüfen Sie mit dem folgenden Befehl, ob alle Cassandra-Pods ausgeführt werden.
    kubectl get pods -n apigee -l app=apigee-cassandra

    Ihre Ausgabe sollte in etwa so aussehen:

    NAME                         READY   STATUS    RESTARTS   AGE
    apigee-cassandra-default-0   1/1     Running   0          14m
    apigee-cassandra-default-1   1/1     Running   0          13m
    apigee-cassandra-default-2   1/1     Running   0          11m
    exampleuser@example hybrid-files %
          
  2. Prüfen Sie mit dem folgenden Befehl, ob im Cassandra-StatefulSet alle Pods ausgeführt werden.
    kubectl get sts -n apigee -l app=apigee-cassandra

    Ihre Ausgabe sollte in etwa so aussehen:

    NAME                       READY   AGE
    apigee-cassandra-default   3/3     15m
        
  3. Prüfen Sie mit dem folgenden Befehl, ob die ApigeeDatastore-Ressource den Zustand wird ausgeführt hat.
    kubectl get apigeeds -n apigee

    Ihre Ausgabe sollte in etwa so aussehen:

    NAME      STATE     AGE
    default   running   16m
        
  4. Prüfen Sie mit dem folgenden Befehl, ob alle Cassandra-PVCs den Zustand gebunden haben.
    kubectl get pvc -n apigee -l app=apigee-cassandra

    Ihre Ausgabe sollte in etwa so aussehen:

    NAME                                        STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    cassandra-data-apigee-cassandra-default-0   Bound    pvc-a14184e7-8745-4b30-8069-9d50642efe04   10Gi       RWO            standard-rwo   17m
    cassandra-data-apigee-cassandra-default-1   Bound    pvc-ed129dcb-4706-4bad-a692-ac7c78bad64d   10Gi       RWO            standard-rwo   15m
    cassandra-data-apigee-cassandra-default-2   Bound    pvc-faed0ad1-9019-4def-adcd-05e7e8bb8279   10Gi       RWO            standard-rwo   13m
        
  5. Prüfen Sie mit dem folgenden Befehl, ob alle Cassandra-PVs den Zustand „gebunden“ haben.
    kubectl get pv -n apigee

    Ihre Ausgabe sollte in etwa so aussehen:

    NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                                              STORAGECLASS   REASON   AGE
    pvc-a14184e7-8745-4b30-8069-9d50642efe04   10Gi       RWO            Delete           Bound    apigee/cassandra-data-apigee-cassandra-default-0   standard-rwo            17m
    pvc-ed129dcb-4706-4bad-a692-ac7c78bad64d   10Gi       RWO            Delete           Bound    apigee/cassandra-data-apigee-cassandra-default-1   standard-rwo            16m
    pvc-faed0ad1-9019-4def-adcd-05e7e8bb8279   10Gi       RWO            Delete           Bound    apigee/cassandra-data-apigee-cassandra-default-2   standard-rwo            14m
        
  6. Prüfen Sie mit dem folgenden Befehl, ob die Apigee-Controller-Ressource den Zustand „wird ausgeführt” hat.
    kubectl get pods -n apigee-system -l app=apigee-controller

    Ihre Ausgabe sollte in etwa so aussehen:

    NAME                                         READY   STATUS    RESTARTS   AGE
    apigee-controller-manager-856d9bb7cb-cfvd7   2/2     Running   0          20m
        

So funktioniert die Wiederherstellung

Die Schritte zur Wiederherstellung von Cassandra unterscheiden sich geringfügig, je nachdem, ob Apigee Hybrid in einer einzelnen Region oder in mehreren Regionen bereitgestellt wird. Eine ausführliche Anleitung zur Wiederherstellung finden Sie in der folgenden Dokumentation: