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 da zero in caso di guasti catastrofici, come la perdita irrecuperabile di dati nell'istanza Apigee ibrida a causa di un disastro. Il ripristino prende i dati dalla posizione di backup e li ripristina in un nuovo cluster Cassandra con lo stesso numero di nodi. Non vengono presi dati del cluster dal vecchio cluster Cassandra. Lo scopo della procedura di ripristino è riportare un'installazione di Apigee Hybrid a uno stato operativo precedente utilizzando i dati di backup di uno snapshot.

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

  • Errori dei nodi Cassandra.
  • Eliminazione accidentale di dati come apps, developers e api_credentials.
  • Una o più regioni non funzionano in un deployment ibrido multiregionale.

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

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

  • Tempo di inattività:si verificherà un tempo di inattività per tutta la durata del ripristino.
  • Perdita di dati:si verificherà una perdita di dati tra l'ultimo backup valido e il momento in cui il ripristino è completato.
  • Tempo di ripristino:il tempo di ripristino dipende dalle dimensioni dei dati e del cluster.
  • Selezione dei dati:non puoi selezionare solo dati specifici da ripristinare. Il ripristino ripristina l'intero backup selezionato.

Prerequisiti

Controlla che tutti i seguenti prerequisiti siano soddisfatti. Esamina eventuali errori dei prerequisiti prima di procedere con il ripristino.

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

    L'output dovrebbe essere simile a quello dell'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. Verifica che lo statefulset Cassandra mostri che tutti i pod sono in esecuzione con questo comando.
    kubectl get sts -n apigee -l app=apigee-cassandra

    L'output dovrebbe essere simile a quello dell'esempio seguente:

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

    L'output dovrebbe essere simile a quello dell'esempio seguente:

    NAME      STATE     AGE
    default   running   16m
        
  4. Verifica che tutti i PVC Cassandra siano nello stato Bound con il seguente comando.
    kubectl get pvc -n apigee -l app=apigee-cassandra

    L'output dovrebbe essere simile a quello dell'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 nello stato Bound con il seguente comando.
    kubectl get pv -n apigee

    L'output dovrebbe essere simile a quello dell'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 Apigee Controller sia nello stato Running con questo comando.
    kubectl get pods -n apigee-system -l app=apigee-controller

    L'output dovrebbe essere simile a quello dell'esempio seguente:

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

Come si ripristina?

I passaggi di ripristino di Cassandra variano leggermente a seconda che Apigee Hybrid sia implementato in una o più regioni. Per i passaggi dettagliati del ripristino, consulta la seguente documentazione: