Informazioni sul failover manuale

Questa pagina fornisce una panoramica del failover manuale per Memorystore for Redis. A per informazioni su come eseguire un failover, consulta Avvio di un failover manuale.

Che cos'è un failover manuale?

Un'istanza di livello standard di Memorystore for Redis utilizza un nodo di replica per il backup il nodo primario. Si verifica un normale failover quando il nodo primario non integro, causando la designazione della replica come nuova istanza principale. Un manuale il failover è diverso da un normale failover perché lo avvii personalmente. Per maggiori informazioni sul funzionamento della replica di Memorystore for Redis, consulta Alta disponibilità.

Perché avviare un failover manuale?

L'avvio di un failover manuale ti consente di testare la risposta della tua applicazione a un failover. Queste informazioni possono garantire un processo di failover più agevole se in un secondo momento si verifica un failover imprevisto.

Modalità di protezione dei dati facoltativa

Le due modalità di protezione dei dati disponibili sono:

  • Modalità limited-data-loss (predefinita).
  • Modalità force-data-loss.

Per impostare la modalità di protezione dei dati, utilizza uno dei seguenti comandi:

gcloud redis instances failover INSTANCE_NAME --data-protection-mode=limited-data-loss

o

gcloud redis instances failover INSTANCE_NAME --data-protection-mode=force-data-loss

Come funzionano le modalità di protezione dei dati

La modalità limited-data-loss riduce al minimo la perdita di dati verificando che la differenza di dati tra l'istanza principale e la replica sia inferiore a 30 MB prima di avviare il failover. L'offset sull'istanza principale viene incrementato per ogni byte di dati che devono essere sincronizzati con le sue repliche. Nella modalità limited-data-loss, il failover viene interrotto se il delta di offset maggiore tra la primaria e ogni replica è pari o superiore a 30 MB. Se si può tollerare una maggiore perdita di dati per eseguire il failover in modo massiccio, prova a impostare la modalità di protezione force-data-loss.

La modalità force-data-loss utilizza una catena di strategie di failover per eseguire il failover in modo aggressivo. Non controlla il delta dell'offset tra l'istanza principale e le repliche prima di iniziare il failover; puoi potenzialmente perdere più di 30 MB di modifiche ai dati.

Metrica Byte in attesa di replica

La metrica byte in attesa di replica indica quanti byte rimanenti deve copiare la replica prima che venga eseguito il backup completo della principale. Puoi osservare un aumento dei byte in attesa poiché l'istanza principale viene replicata nella replica un failover. Se il failover viene attivato da un errore hardware, potresti notare che la dimensione in byte in attesa di replica è vuota perché il valore dell'offset non è stato ottenuto fino a quando la nuova replica non è stata riparata dall'errore dell'host.

Puoi accedere a questa metrica nella console Google Cloud nella pagina dei dettagli dell'istanza. Per visualizzare la pagina dei dettagli dell'istanza, fai clic sull'ID istanza nella pagina Elenco istanze del progetto.

In alternativa, accedi a Metrics Explorer per progetto e cerca redis.googlapis.com/replication/offset_diff in un file di dati.

Quando eseguire un failover manuale

Failover manuali che utilizzano solo la modalità di protezione predefinita di limited-data-loss riuscita se la metrica byte in attesa di replica è inferiore a 30 MB. Se vuoi eseguire un failover manuale con byte in attesa di replica superiori a 30 MB, utilizza la modalità di protezione force-data-loss.

Se stai cercando di preservare il maggior numero possibile di dati, interrompi temporaneamente la scrittura dell'applicazione nell'istanza Redis e attendi di eseguire il failover manuale finché la metrica byte in attesa di replica non raggiunge il valore che ritieni accettabile.

Potenziali problemi che bloccano un failover manuale

  • L'esecuzione di un failover manuale su un'istanza di livello base non funziona perché le istanze di livello base non hanno repliche a cui può essere eseguito il failover dell'istanza principale.

  • Se l'istanza Redis non è integro, un failover manuale per perdita di dati limitata l'operazione non riesce perché è bloccata per minimizzare la perdita di dati.

  • Se stai eseguendo uno script Lua che viene eseguito a tempo indeterminato, devi usare force-data-loss per avviare un failover. In questa situazione L'operazione di failover con perdita di dati limitata non verrà completata correttamente.

  • Se per l'istanza sono in attesa operazioni incomplete, come l'aumento di scalabilità o l'aggiornamento, l'operazione di failover manuale è bloccata. Per eseguire un failover manuale, devi attendere che l'istanza sia nello stato READY.

Connessione applicazione client

Quando il nodo primario esegue il failover sulla replica, le connessioni esistenti Memorystore for Redis verrà eliminato. Tuttavia, al momento della riconnessione, l'applicazione viene reindirizzata automaticamente al nuovo nodo principale utilizzando la stessa stringa di connessione o lo stesso indirizzo IP.

Verifica di un failover manuale

Puoi verificare il buon esito di un'operazione di failover manuale con la console Google Cloud o gcloud.

Verifica della console Google Cloud

Prima di avviare un failover manuale, vai alla pagina dell'elenco delle istanze di Memorystore for Redis e fai clic sul nome dell'istanza.

Quindi, nella scheda Configurazione, accanto a Località principale, visualizza la zona del nodo primario. Prendi nota della zona. Controlla di nuovo questa pagina quando completare il failover manuale per confermare che il nodo primario sia passato da una zona all'altra.

Verifica di Cloud Monitoring

Per visualizzare le metriche per una risorsa monitorata con Esplora metriche, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina  Esplora metriche:

    Vai a Esplora metriche

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Nell'elemento Metrica, espandi il menu Seleziona una metrica, inserisci Node role nella barra dei filtri, poi utilizza i sottomenu per selezionare un tipo di risorsa e una metrica specifici:
    1. Nel menu Risorse attive, seleziona Cloud Memorystore Redis.
    2. Nel menu Categorie di metriche attive, seleziona replica.
    3. Nel menu Metriche attive, seleziona Ruolo del nodo.
    4. Fai clic su Applica.
  3. Per rimuovere le serie temporali dal display, utilizza il metodo Elemento Filtro:

  4. Per combinare le serie temporali, utilizza i menu nella Elemento di aggregazione: Ad esempio, per visualizzare l'utilizzo della CPU per le VM, in base alla zona, imposta il primo menu su Media e il secondo menu su zone.

    Tutte le serie temporali vengono visualizzate quando è impostato il primo menu dell'elemento Aggregation in Unaggregated (Non aggregato). Le impostazioni predefinite per l'elemento Aggregation sono determinati dal tipo di metrica selezionato.

  5. Per la quota e altre metriche che registrano un campione al giorno:
    1. Nel riquadro Visualizza, imposta Tipo di widget su Grafico a barre in pila.
    2. Imposta il periodo di tempo su almeno una settimana.

Il grafico di Cloud Monitoring rappresenta i nodi principali e di replica con due linee. Quando la linea di un nodo ha un valore pari a zero nel grafico, si tratta della replica nodo. Quando la linea di un nodo ha il valore uno nel grafico, è il nodo primario. Il grafico rappresenta un failover mostrando come le linee passano da uno a rispettivamente zero e zero a uno.

gcloud verifica

Prima di avviare un failover manuale, usa il comando seguente per verificare zona in cui si trova il tuo nodo principale:

gcloud redis instances describe [INSTANCE_ID] --region=[REGION]

Il tuo nodo principale si trova nella zona contrassegnata come currentLocationId. Prendi nota delle zona di destinazione.

Dopo aver completato un failover manuale, puoi verificare che il nodo principale sia passato a una nuova zona eseguendo di nuovo il comando gcloud redis instances describe e controllando che currentLocationId abbia modificato le zone.

Inoltre, l'etichetta locationId indica la zona in cui hai eseguito inizialmente il provisioning del nodo principale. L'etichetta alternativeLocationId indica la zona in cui il sistema ha eseguito il provisioning del tuo nodo replica in origine. Ogni volta che si verifica un failover, l'istanza principale e la replica passano da una zona all'altra. Tuttavia, le zone associate a locationId e alternativeLocationId non subiscono variazioni.