Auf dieser Seite wird das Wiederherstellen von Cassandra in einer einzelnen Region beschrieben.
In einer Einzelregions-Bereitstellung wird Apigee Hybrid in einem einzelnen Rechenzentrum oder einer Region bereitgestellt. Wenn Sie in Ihrer Bereitstellung mehrere Apigee-Organisationen haben, werden bei der Wiederherstellung Daten aller Organisationen wiederhergestellt. In einer Einrichtung mit mehreren Organisationen können Sie eine bestimmte Organisation nicht wiederherstellen.
Region aus einem Backup wiederherstellen
In Ihrer Konfiguration kann sich die Cassandra-Sicherung entweder in Cloud Storage oder auf einem Remote-Server befinden. Führen Sie in beiden Fällen die folgenden Schritte aus, um wiederherzustellen:
- Prüfen Sie die Hybridversion.
Achten Sie darauf, dass es sich um die Version handelt, mit der die Sicherungsdateien im Speicher erstellt wurden.apigeectl version
- Achten Sie darauf, dass der wiederherzustellende Kubernetes-Cluster keine vorherige Apigee-Hybridinstallation hat. Wenn Sie im vorhandenen Cluster wiederherstellen, verwenden Sie folgenden Befehl, um die vorhandene Apigee-Hybridinstallation zu löschen:
apigeectl delete -f overrides.yamlkubectl -n apigee get apigeedatastore,apigeeredis,apigeetelemetry,org,env,arc # The output should be empty.apigeectl delete --all -f overrides.yaml - Öffnen Sie Ihre
overrides.yaml-Datei und legen Sie dierestore-Attribute auf die gewünschten Werte fest:Cloud Storage
Parameter
namespace: YOUR_RESTORE_NAMESPACE # Use the namespace as in your original cluster. cassandra: hostNetwork: false ... restore: enabled: true serviceAccountPath: "SA_JSON_FILE_PATH" dbStorageBucket: "CLOUD_STORAGE_BUCKET_PATH" cloudProvider: "GCP" # required verbatim "GCP" (all caps) snapshotTimestamp: "TIMESTAMP" ... backup: enabled: true serviceAccountPath: "SA_JSON_FILE_PATH" dbStorageBucket: "CLOUD_STORAGE_BUCKET_PATH" cloudProvider: "GCP" # required verbatim "GCP" (all caps) schedule: "SCHEDULE"
Beispiel
namespace: apigee cassandra: hostNetwork: false ... restore: enabled: true serviceAccountPath: "/Users/myhome/.ssh/my_cassandra_backup.json" dbStorageBucket: "gs://myname-cassandra-backup" cloudProvider: "GCP" snapshotTimestamp: "20201001183903" ... backup: enabled: true serviceAccountPath: "/Users/myhome/.ssh/my_cassandra_backup.json" dbStorageBucket: "gs://myname-cassandra-backup" cloudProvider: "GCP" schedule: "0 2 * * *" ...
Wobei:
Attribut Beschreibung namespaceYOUR_RESTORE_NAMESPACE
Namespace zur Wiederherstellung. Verwenden Sie den Namespace wie im ursprünglichen Cluster.
cassandra:hostNetworkhostNetworkist erforderlich und sollte immer auffalsegesetzt werden.restore:enabledDie Wiederherstellung ist standardmäßig deaktiviert. Sie müssen dieses Attribut auf truefestlegen.restore:serviceAccountPathSA_JSON_FILE_PATH
Der Pfad in Ihrem Dateisystem zum Dienstkonto, das Sie für die Sicherung erstellt haben.
restore:dbStorageBucketCLOUD_STORAGE_BUCKET_PATH
Der Cloud Storage-Bucket-Pfad, in dem Ihre Sicherungsdaten gespeichert werden, im folgenden Format:
gs://BUCKET_NAME.gs://ist erforderlich.restore:cloudProviderGCPDas Attribut
cloudProvider: "GCP"ist erforderlich.restore:snapshotTimestampTIMESTAMP
Der Zeitstempel des wiederherzustellenden Backup-Snapshots. Wenn Sie prüfen möchten, welche Zeitstempel verwendet werden können, rufen Sie
dbStorageBucketauf und sehen Sie sich die Dateien im Bucket an. Jeder Dateiname enthält einen Zeitstempelwert. Beispiele:backup_20210203213003_apigee-cassandra-default-0.tgzDabei ist 20210203213003 der
snapshotTimestamp-Wert, den Sie verwenden würden, wenn Sie die Sicherungen zu diesem Zeitpunkt wiederherstellen wollten.backup:enabledDie Sicherung ist standardmäßig deaktiviert. Sie müssen dieses Attribut auf truefestlegen.backup:serviceAccountPathSA_JSON_FILE_PATH
Der Pfad in Ihrem Dateisystem zur JSON-Datei des Dienstkontos, die beim Ausführen von
./tools/create-service-accountheruntergeladen wurdebackup:dbStorageBucketCLOUD_STORAGE_BUCKET_PATH
Der Cloud Storage-Bucket-Pfad im Format
gs://BUCKET_NAME.gs://ist erforderlich.backup:cloudProviderGCPDas Attribut
cloudProvider: "GCP"ist erforderlich.backup:scheduleSCHEDULE
Die Zeit, zu der die Sicherung startet, angegeben in der Standard-Crontab-Syntax. Standard:
0 2 * * *Außerhalb von Cloud Storage
Parameter
namespace: YOUR_RESTORE_NAMESPACE # Use the namespace as in your original cluster. cassandra: hostNetwork: false ... restore: enabled: true keyFile: "PATH_TO_PRIVATE_KEY_FILE" server: "BACKUP_SERVER_IP" storageDirectory: "/home/apigee/BACKUP_DIRECTORY" cloudProvider: "HYBRID" # required verbatim "HYBRID" (all caps) snapshotTimestamp: "TIMESTAMP" ... backup: enabled: true keyFile: "PATH_TO_PRIVATE_KEY_FILE" server: "BACKUP_SERVER_IP" storageDirectory: "/home/apigee/BACKUP_DIRECTORY" cloudProvider: "HYBRID" # required verbatim "HYBRID" (all caps) schedule: "SCHEDULE"
Beispiel
namespace: apigee cassandra: hostNetwork: false ... restore: enabled: true keyFile: "/Users/exampleuser/apigee-hybrid/hybrid-files/service-accounts/private.key" server: "34.56.78.90" storageDirectory: "/home/apigee/cassbackup" cloudProvider: "HYBRID" snapshotTimestamp: "20201001183903" ... backup: enabled: true keyFile: "/Users/exampleuser/apigee-hybrid/hybrid-files/service-accounts/private.key" server: "34.56.78.90" storageDirectory: "/home/apigee/cassbackup" cloudProvider: "HYBRID" schedule: "0 2 * * *" ...
Wobei:
Attribut Beschreibung namespaceYOUR_RESTORE_NAMESPACE
Namespace zur Wiederherstellung. Verwenden Sie den Namespace wie im ursprünglichen Cluster.
cassandra:hostNetworkhostNetworkist erforderlich und sollte immer auffalsegesetzt werden.restore:enabledDie Wiederherstellung ist standardmäßig deaktiviert. Sie müssen dieses Attribut auf truefestlegen.restore:keyFilePATH_TO_PRIVATE_KEY_FILE
Der Pfad in Ihrem lokalen Dateisystem zur privaten SSH-Schlüsseldatei (die Sie in dem Schritt, in dem Sie das SSH-Schlüsselpaar erstellt haben, mit
ssh_keybenannt haben).restore:serverBACKUP_SERVER_IP
Die IP-Adresse des Sicherungsservers.
restore:storageDirectoryBACKUP_DIRECTORY
Der Name des Sicherungsverzeichnisses auf dem Sicherungsserver. Dies muss ein Verzeichnis innerhalb
home/apigee(das Sicherungsverzeichnis heißtcassandra_backupin dem Schritt, in dem Sie das Sicherungsverzeichnis erstellt haben) sein.restore:cloudProviderHYBRIDDas Attribut
cloudProvider: "HYBRID"ist erforderlich.restore:snapshotTimestampTIMESTAMP
Der Zeitstempel des wiederherzustellenden Backup-Snapshots. Wenn Sie prüfen möchten, welche Zeitstempel verwendet werden können, rufen Sie
dbStorageBucketauf und sehen Sie sich die Dateien im Bucket an. Jeder Dateiname enthält einen Zeitstempelwert. Beispiele:backup_20210203213003_apigee-cassandra-default-0.tgzDabei ist 20210203213003 der
snapshotTimestamp-Wert, den Sie verwenden würden, wenn Sie die Sicherungen zu diesem Zeitpunkt wiederherstellen wollten.backup:enabledDie Sicherung ist standardmäßig deaktiviert. Sie müssen dieses Attribut auf truefestlegen.backup:keyFilePATH_TO_PRIVATE_KEY_FILE
Der Pfad in Ihrem lokalen Dateisystem zur privaten SSH-Schlüsseldatei (die Sie in dem Schritt, in dem Sie das SSH-Schlüsselpaar erstellt haben, mit
ssh_keybenannt haben).backup:serverBACKUP_SERVER_IP
Die IP-Adresse des Sicherungsservers.
backup:storageDirectoryBACKUP_DIRECTORY
Der Name des Sicherungsverzeichnisses auf dem Sicherungsserver. Dies muss ein Verzeichnis innerhalb
home/apigee(das Sicherungsverzeichnis heißtcassandra_backupin dem Schritt, in dem Sie das Sicherungsverzeichnis erstellt haben) sein.backup:cloudProviderHYBRIDDas Attribut
cloudProvider: "HYBRID"ist erforderlich.backup:scheduleSCHEDULE
Die Zeit, zu der die Sicherung startet, angegeben in der Standard-Crontab-Syntax. Standard:
0 2 * * * - Erstellen Sie eine neue Hybrid-Laufzeitbereitstellung. Damit wird ein neuer Cassandra-Cluster erstellt und die Backupdaten werden im Cluster wiederhergestellt:
${APIGEECTL_HOME}/apigeectl init -f overrides/overrides.yaml${APIGEECTL_HOME}/apigeectl check-ready -f overrides/overrides.yaml${APIGEECTL_HOME}/apigeectl apply -f overrides/overrides.yaml --restore${APIGEECTL_HOME}/apigeectl check-ready -f overrides/overrides.yaml - Prüfen Sie den Fortschritt des Wiederherstellungsjobs und ob
apigeedsund alle anderen Pods aktiv sind:- So prüfen Sie
apigeeds:kubectl get apigeeds -n apigee
- So prüfen Sie alle anderen Pods:
kubectl get pods -n apigee
- So prüfen Sie
Nach Abschluss der Wiederherstellung und der Bestätigung, dass die Laufzeitkomponenten fehlerfrei sind, empfehlen wir, eine Sicherung auf dem Cluster zu konfigurieren:
- Entfernen Sie die
restore-Konfiguration aus deroverrides-restore.yaml-Datei. - Fügen Sie der
overrides-restore.yaml-Datei diebackup-Konfiguration hinzu. - Wenden Sie die
backup-Konfiguration mit diesem Befehl an:./apigeectl apply -f ../overrides-restore.yaml