Panoramica del ripristino di Cassandra

Questa pagina fornisce una panoramica del ripristino di Cassandra in Apigee hybrid.

Perché utilizzare il ripristino?

Puoi utilizzare i backup per ripristinare l'infrastruttura Apigee dall'inizio alla fine in caso di errori catastrofici, come una perdita irrecuperabile di dati nella tua istanza ibrida Apigee a seguito di un'emergenza. Il ripristino prende i dati dalla posizione di backup e li ripristina in un nuovo cluster Cassandra con lo stesso numero di nodi. Nessun dato del cluster viene recuperato dal cluster Cassandra precedente. L'obiettivo del processo di ripristino è riportare un'installazione ibrida di Apigee a uno stato precedentemente operativo utilizzando i dati di backup da uno snapshot.

L'utilizzo dei backup per il ripristino non è consigliato per i seguenti scenari:

  • Errori del nodo Cassandra.
  • Eliminazione accidentale di dati quali apps, developers e api_credentials.
  • Una o più regioni in stato di inattività in un deployment ibrido multiregionale.

I deployment e l'architettura operativa di Apigee Cassandra si occupano della ridondanza e della tolleranza di errore per una singola regione. Nella maggior parte dei casi, l'implementazione di produzione ibrida consigliata prevede che un errore a livello di regione possa essere ripristinato da un'altra regione attiva utilizzando le procedure di ritiro ed espansione della regione anziché eseguire il ripristino da un backup.

Prima di iniziare a implementare un ripristino da un backup Cassandra, tieni presente quanto segue:

  • Tempo di riposo: si verificherà un tempo di inattività per la durata del ripristino.
  • Perdita di dati: si verificherà una perdita di dati tra l'ultimo backup valido e il momento del completamento del ripristino.
  • Tempo di ripristino: il tempo di ripristino dipende dalle dimensioni dei dati e del cluster.
  • Dati relativi alla raccolta dei ciliegi:non puoi selezionare solo dati specifici da ripristinare. Il ripristino consente di ripristinare l'intero backup selezionato.

Ripristino di più regioni

Se hai installato Apigee hybrid in più regioni, devi controllare il file di override per la regione di cui stai eseguendo il ripristino per assicurarti che cassandra:hostNetwork sia impostato su false prima di eseguire il ripristino. Per maggiori informazioni, consulta Ripristino in più regioni.

Prerequisiti

Verifica che tutti i prerequisiti riportati di seguito siano soddisfatti. Esamina eventuali errori dei prerequisiti prima di procedere con il ripristino.

  1. Verifica che tutti i pod Cassandra siano in esecuzione con il seguente comando.
    kubectl get pods -n apigee -l app=apigee-cassandra

    Dovresti vedere un output simile all'esempio seguente:

    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. Utilizza il comando seguente per verificare che lo statefulset Cassandra mostri che tutti i pod sono in esecuzione.
    kubectl get sts -n apigee -l app=apigee-cassandra

    Dovresti vedere un output simile all'esempio seguente:

    NAME                       READY   AGE
    apigee-cassandra-default   3/3     15m
        
  3. Verifica che la risorsa ApigeeDatastore sia in stato in esecuzione con il comando seguente.
    kubectl get apigeeds -n apigee

    Dovresti vedere un output simile all'esempio seguente:

    NAME      STATE     AGE
    default   running   16m
        
  4. Utilizza il seguente comando per verificare che tutti i PVC Cassandra siano in stato Associato.
    kubectl get pvc -n apigee -l app=apigee-cassandra

    Dovresti vedere un output simile all'esempio seguente:

    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. Verifica che tutti i PV Cassandra siano in stato Associato con il seguente comando.
    kubectl get pv -n apigee

    Dovresti vedere un output simile all'esempio seguente:

    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. Verifica che la risorsa controller Apigee sia in stato In esecuzione con il comando seguente.
    kubectl get pods -n apigee-system -l app=apigee-controller

    Dovresti vedere un output simile all'esempio seguente:

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

Come eseguire il ripristino?

I passaggi di ripristino di Cassandra differiscono leggermente a seconda che il deployment del tuo ibrido Apigee sia stato eseguito in una singola regione o in più regioni. Per la procedura dettagliata di ripristino, consulta la seguente documentazione: