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.

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: