Questa pagina descrive come ripristinare Cassandra in una singola regione.
In un deployment in una singola regione, Apigee Hybrid viene eseguito in un singolo data center o in una regione. Se nel tuo deployment sono presenti più organizzazioni Apigee, la procedura di ripristino ripristina i dati di tutte le organizzazioni. In una configurazione con più organizzazioni, non puoi ripristinare un'organizzazione specifica.
Ripristino di una regione da un backup
Nella configurazione, il backup di Cassandra può trovarsi su Cloud Storage o su un server remoto. In entrambi i casi, segui questi passaggi per ripristinare:
- Verifica la versione ibrida.
Assicurati che sia la stessa versione con cui sono stati creati i file di backup nello spazio di archiviazione.apigeectl version
- Verifica che il cluster Kubernetes in cui stai eseguendo il ripristino non abbia un'installazione ibrida Apigee precedente. Se
esegui il ripristino nel cluster esistente, utilizza i seguenti comandi per eliminare l'installazione ibrida Apigee
esistente:
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 - Apri il file
overrides.yamle imposta le proprietàrestoresui valori desiderati:Cloud Storage
Parametri
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"
Esempio
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 * * *" ...
Dove:
Proprietà Descrizione namespaceYOUR_RESTORE_NAMESPACE
Spazio dei nomi per il ripristino. Utilizza lo spazio dei nomi come nel cluster originale.
cassandra:hostNetworkhostNetworkè obbligatorio e deve essere sempre impostato sufalse.restore:enabledIl ripristino è disattivato per impostazione predefinita. Devi impostare questa proprietà su true.restore:serviceAccountPathSA_JSON_FILE_PATH
Il percorso nel file system all'account di servizio che hai creato per il backup.
restore:dbStorageBucketCLOUD_STORAGE_BUCKET_PATH
Il percorso del bucket Cloud Storage in cui sono archiviati i dati di backup nel seguente formato:
gs://BUCKET_NAME. Il campogs://è obbligatorio.restore:cloudProviderGCPLa proprietà
cloudProvider: "GCP"è obbligatoria.restore:snapshotTimestampTIMESTAMP
Il timestamp dello snapshot del backup da ripristinare. Per verificare quali timestamp possono essere utilizzati, vai a
dbStorageBuckete controlla i file presenti nel bucket. Ogni nome file contiene un valore timestamp. Ad esempio:backup_20210203213003_apigee-cassandra-default-0.tgzdove 20210203213003 è il valore
snapshotTimestampche useresti se volessi ripristinare i backup creati in quel momento.backup:enabledIl backup è disattivato per impostazione predefinita. Devi impostare questa proprietà su true.backup:serviceAccountPathSA_JSON_FILE_PATH
Il percorso nel file system del file JSON dell'account di servizio scaricato quando hai eseguito
./tools/create-service-accountbackup:dbStorageBucketCLOUD_STORAGE_BUCKET_PATH
Il percorso del bucket Cloud Storage in questo formato:
gs://BUCKET_NAME. Il campogs://è obbligatorio.backup:cloudProviderGCPLa proprietà
cloudProvider: "GCP"è obbligatoria.backup:scheduleSCHEDULE
L'ora di inizio del backup, specificata in sintassi crontab standard. Valore predefinito:
0 2 * * *Spazio di archiviazione non sul cloud
Parametri
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"
Esempio
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 * * *" ...
Dove:
Proprietà Descrizione namespaceYOUR_RESTORE_NAMESPACE
Spazio dei nomi per il ripristino. Utilizza lo spazio dei nomi come nel cluster originale.
cassandra:hostNetworkhostNetworkè obbligatorio e deve essere sempre impostato sufalse.restore:enabledIl ripristino è disattivato per impostazione predefinita. Devi impostare questa proprietà su true.restore:keyFilePATH_TO_PRIVATE_KEY_FILE
Il percorso nel file system locale del file della chiave privata SSH (chiamato
ssh_keynel passaggio in cui hai creato la coppia di chiavi SSH).restore:serverBACKUP_SERVER_IP
L'indirizzo IP del server di backup.
restore:storageDirectoryBACKUP_DIRECTORY
Il nome della directory di backup sul server di backup. Deve essere una directory all'interno di
home/apigee(la directory di backup è denominatacassandra_backupnel passaggio in cui hai creato la directory di backup).restore:cloudProviderHYBRIDLa proprietà
cloudProvider: "HYBRID"è obbligatoria.restore:snapshotTimestampTIMESTAMP
Il timestamp dello snapshot del backup da ripristinare. Per verificare quali timestamp possono essere utilizzati, vai a
dbStorageBuckete controlla i file presenti nel bucket. Ogni nome file contiene un valore timestamp. Ad esempio:backup_20210203213003_apigee-cassandra-default-0.tgzdove 20210203213003 è il valore
snapshotTimestampche useresti se volessi ripristinare i backup creati in quel momento.backup:enabledIl backup è disattivato per impostazione predefinita. Devi impostare questa proprietà su true.backup:keyFilePATH_TO_PRIVATE_KEY_FILE
Il percorso nel file system locale del file della chiave privata SSH (chiamato
ssh_keynel passaggio in cui hai creato la coppia di chiavi SSH).backup:serverBACKUP_SERVER_IP
L'indirizzo IP del server di backup.
backup:storageDirectoryBACKUP_DIRECTORY
Il nome della directory di backup sul server di backup. Deve essere una directory all'interno di
home/apigee(la directory di backup è denominatacassandra_backupnel passaggio in cui hai creato la directory di backup).backup:cloudProviderHYBRIDLa proprietà
cloudProvider: "HYBRID"è obbligatoria.backup:scheduleSCHEDULE
L'ora di inizio del backup, specificata in sintassi crontab standard. Valore predefinito:
0 2 * * * - Crea un nuovo deployment del runtime ibrido. Verrà creato un nuovo cluster Cassandra e inizierà il ripristino dei dati di backup nel cluster:
${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 - Verifica l'avanzamento del job di ripristino e conferma che
apigeedse tutti gli altri pod siano attivi:- Per controllare
apigeeds:kubectl get apigeeds -n apigee
- Per controllare tutti gli altri pod:
kubectl get pods -n apigee
- Per controllare
Al termine del ripristino e dopo aver verificato che i componenti di runtime sono operativi, consigliamo di configurare un backup sul cluster:
- Rimuovi la configurazione
restoredal fileoverrides-restore.yaml. - Aggiungi la configurazione
backupal fileoverrides-restore.yaml. - Applica la configurazione
backupcon il seguente comando:./apigeectl apply -f ../overrides-restore.yaml