Failover manuale

Questa pagina fornisce una panoramica del failover manuale per Memorystore for Redis. Per informazioni su come eseguire un failover, vedi Iniziare un failover manuale.

Che cos'è un failover manuale?

Un'istanza Memorystore for Redis di livello standard utilizza un nodo di replica per eseguire il backup del nodo principale. Un normale failover si verifica quando il nodo primario non è integro e la replica viene designata come nuovo primario. Un failover manuale è diverso da un normale failover perché lo avvii autonomamente. Per ulteriori informazioni sul funzionamento della replica di Memorystore for Redis, vedi Disponibilità elevata.

Perché avviare un failover manuale?

L'avvio di un failover manuale consente di verificare come la tua applicazione risponde a un failover. Ciò può garantire un processo di failover più fluido se un failover successivo imprevisto si verifica in un secondo momento.

Modalità protezione dati facoltativa

Le due modalità di protezione dei dati disponibili sono:

  • Modalità limited-data-loss (predefinita).
    • Il failover manuale viene sempre eseguito in modalità a perdita di dati limitata, a meno che non cambi la modalità.
  • Modalità force-data-loss.

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

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

o

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

Come funzionano le modalità di protezione dei dati

Se vuoi testare il comportamento della tua applicazione in uno scenario di failover reale, puoi utilizzare la modalità force-data-loss perché rappresenta nel modo più accurato le condizioni di un failover in un ripristino di emergenza.

Qualsiasi failover dall'istanza principale alla replica può comportare una perdita di dati. La modalità limited-data-loss riduce al minimo la perdita di dati verificando che la differenza di sincronizzazione tra la risorsa principale e la replica sia inferiore a 30 MB prima di iniziare il failover.

La modalità force-data-loss esegue l'override di questo controllo sulla sincronizzazione della replica principale. Se utilizzi la modalità force-data-loss quando la sincronizzazione della replica è indietro di oltre 30 MB rispetto al file principale, potresti perdere 30 MB di dati o più.

Byte, metrica di replica in attesa

La metrica byte in attesa di replica indica quanti byte rimanenti è necessario copiare nella replica prima di eseguire il backup completo dell'istanza principale. Noterai un aumento dei byte in attesa poiché la replica principale sulla replica viene eseguita durante un failover.

Puoi accedere a questa metrica in Google Cloud Console alla pagina dei dettagli dell'istanza. Per visualizzare la pagina dei dettagli dell'istanza, fai clic sull'ID istanza nella pagina dell'elenco delle istanze del progetto.

In alternativa, accedi alla finestra di esplorazione delle metriche della suite operativa di Google Cloud per il tuo progetto e cerca la metrica redis.googlapis.com/replication/offset_diff.

Quando eseguire un failover manuale

I failover manuali che utilizzano la modalità di protezione limited-data-loss predefinita sono riusciti soltanto 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 conservare il maggior numero possibile di dati, interrompi temporaneamente la scrittura dell'applicazione nell'istanza Redis e attendi di eseguire il failover manuale fino a quando la metrica byte in attesa di replica non è il più basso 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.

  • Se il tuo stato di Redis non è integro, l'operazione di failover manuale è bloccata.

  • Se l'istanza contiene operazioni incomplete, ad esempio scalabilità o aggiornamento, l'operazione di failover manuale è bloccata. Per eseguire un failover manuale, devi attendere che l'istanza sia in stato READY.

Connessione applicazione client

Quando il nodo principale esegue il failover nella replica, le connessioni esistenti a Memorystore for Redis vengono ignorate. 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.

Verificare un failover manuale

Puoi verificare la riuscita di un'operazione di failover manuale con la console Google Cloud, la suite operativa di Google Cloud o gcloud.

Verifica di Google Cloud Console

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, in Proprietà istanza, visualizza le zone in cui si trovano la tua principale e la tua replica. Prendi nota delle zone. Controlla di nuovo questa pagina quando completi il failover manuale per confermare che il nodo principale e il nodo di replica abbiano cambiato zona.

Verifica di Cloud Monitoring

Per utilizzare Metrics Explorer per visualizzare le metriche per una risorsa monitorata, segui questi passaggi:

  1. In Google Cloud Console, vai alla pagina Metrics Explorer all'interno di Monitoring.
  2. Vai a Metrics Explorer

  3. Nella barra degli strumenti, seleziona la scheda Explorer.
  4. Seleziona la scheda Configurazione.
  5. Espandi il menu Seleziona una metrica, inserisci Node role nella barra dei filtri, quindi 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 nodo.
    4. Fai clic su Applica.
  6. (Facoltativo) Per configurare la modalità di visualizzazione dei dati, aggiungi filtri e utilizza i menu Raggruppa per, Aggregatore e tipo di grafico. Ad esempio, puoi raggruppare in base a etichette di risorsa o metrica. Per ulteriori informazioni, consulta la pagina Selezionare le metriche quando si utilizza Metrics Explorer.
  7. Facoltativo: modifica le impostazioni del grafico:
    • Per le quote e altre metriche che riportano un campione al giorno, imposta l'intervallo di tempo su almeno una settimana e imposta il tipo di grafico su Grafico a barre in pila.
    • Per le metriche con valore di distribuzione, imposta il tipo di grafico su Grafico con mappa termica.

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

gcloud verifica

Prima di avviare un failover manuale, utilizza il comando seguente per verificare in quale zona si trova il nodo principale:

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

Il nodo principale si trova nella zona currentLocationId. Prendi nota della zona.

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

Inoltre, l'etichetta locationId indica la zona in cui hai eseguito originariamente il provisioning del nodo principale. L'etichetta alternativeLocationId indica la zona in cui il sistema ha eseguito in origine il provisioning del nodo di replica. Ogni volta che si verifica un failover si verifica lo switch principale e quello di replica tra queste due zone. Tuttavia, le zone associate a locationId e alternativeLocationId non cambiano.