Questa pagina descrive come utilizzare il ripristino di emergenza (RE) avanzato. Il DR avanzato offre due funzionalità principali:
- Il failover della replica consente di eseguire il failover dell'istanza principale sulla replica di RE immediatamente in caso di guasto regionale.
- Il cambio ti consente di invertire i ruoli dell'istanza principale e di una replica di RE senza perdita di dati. Puoi utilizzare lo switchover per ripristinare lo stato di deployment originale di un deployment dopo il failover della replica oppure per testare il RE.
Il DR avanzato è supportato solo nelle istanze della versione Cloud SQL Enterprise Plus.
Prima di iniziare
Se prevedi di utilizzare Google Cloud SDK, devi utilizzare la versione 502.0.0 o successiva. Per controllare la versione dell'Google Cloud SDK, esegui gcloud --version
. Per aggiornare
l'Google Cloud SDK, esegui gcloud components update
.
Per installare Google Cloud SDK, consulta Installa Google Cloud CLI.
Designa una replica RE
Per eseguire RE avanzato, devi prima designare una replica RE tra regioni.
Requisiti dell'istanza principale
L'istanza principale deve essere un'istanza Cloud SQL Enterprise Plus e avere una replica di RE designata.
Se stai creando la tua istanza Cloud SQL con un endpoint di scrittura DNS (anteprima), l'istanza principale deve avere la stessa configurazione SSL della replica RE designata prima di invocare l'operazione di switchover o failover della replica. Ad esempio, se configuri la replica di RE per applicare la crittografia SSL, ma l'istanza principale consente connessioni non criptate, i client non potranno connettersi alla nuova istanza principale al termine dell'operazione di switchover o failover.
Requisiti per le repliche RE
La replica di lettura RE designata deve soddisfare i seguenti requisiti:
Deve essere un'istanza della versione Enterprise Plus di Cloud SQL
Non può essere configurato per Private Service Connect. Tuttavia, la replica di lettura per il ripristino RE può essere configurata per l'accesso ai servizi privati
- Deve essere la stessa versione principale e secondaria del database dell'istanza principale, che esegue MySQL 8.0.31 o versioni successive
Deve trovarsi in una regione diversa dall'istanza principale
Deve essere una replica di lettura diretta; non può essere una replica a cascata
Oltre a utilizzare i valori predefiniti, la replica di RE non può avere configurato nessuno dei seguenti flag:
replicate_do_db
replicate_ignore_db
replicate_do_table
replicate_wild_do_table
replicate_ignore_table
replicate_wild_ignore_table
Devi archiviare i log delle transazioni utilizzati per la PITR in Cloud Storage
Non può essere una replica esterna
Consigli per le repliche RE
Questa sezione fornisce consigli per la replica RE. I seguenti consigli possono aiutarti a evitare problemi di prestazioni durante il deployment:
- Utilizza le stesse dimensioni del disco dell'istanza principale o abilita la crescita automatica.
- Utilizza una configurazione HA coerente. Se attivi l'HA sull'istanza principale, attivalo anche sulla replica di RE.
- Utilizza una configurazione della cache dei dati coerente. Se attivi la cache dei dati sull'istanza principale, attivala anche sulla replica di RE.
- Configura eventuali flag di database appropriati per la replica di RE prima e dopo eventuali operazioni di switchover o failover della replica.
Crea una replica per soddisfare i requisiti delle repliche RE
Se l'istanza principale non ha già una replica di lettura tra regioni chesoddisfa i requisiti delle repliche di RE, creane una.
Console
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Trova l'istanza principale.
- Nella colonna Azioni, fai clic sul menu Altre azioni.
- Seleziona Crea replica di lettura.
- Nel campo ID istanza, inserisci un nome per la replica di DR.
- Nel campo Versione del database, viene selezionata automaticamente la stessa versione principale dell'istanza principale.
- Se utilizzi MySQL 8.0, nel campo Versione secondaria, mantieni la versione secondaria preselezionata. La replica di DR e l'istanza principale devono condividere la stessa versione secondaria del database.
- Nella sezione Scegli la disponibilità per regione e zona della pagina,
procedi nel seguente modo:
- Seleziona una regione _diversa_ da quella dell'istanza principale.
- Facoltativo. Seleziona Più zone per la replica di RE.
- Facoltativo. Seleziona le zone principali e secondarie per la replica di RE.
- Nella sezione Personalizza l'istanza della pagina, puoi aggiornare le impostazioni della replica di RE. Per ulteriori dettagli su ciascuna impostazione, consulta la pagina Informazioni sulle impostazioni delle istanze.
- Per Forme macchina, seleziona lo stesso tipo di macchina dell'istanza principale.
- In Flags, configura tutti i flag necessari per il tuo database.
- Fai clic su Crea replica.
Cloud SQL crea un backup dell'istanza principale e la replica. Tornerai alla pagina dell'istanza principale.
gcloud
Per creare una replica che soddisfi i requisiti di una replica di RE, esegui il seguente comando:
gcloud sql instances create REPLICA_NAME \ --master-instance-name=PRIMARY_INSTANCE_NAME \ --region=REPLICA_REGION_NAME \ --database-version=DATABASE_VERSION \ --tier=MACHINE_TYPE \ --availability-type=AVAILABILITY_TYPE --edition="ENTERPRISE_PLUS"
Sostituisci le seguenti variabili:
- REPLICA_NAME: il nome della replica RE.
- PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
- REPLICA_REGION_NAME: specifica una regione diversa da quella dell'istanza principale.
- DATABASE_VERSION: specifica la stringa di versione corrispondente alla versione principale e secondaria del database dell'istanza principale, ad esempio
MYSQL_8_0_31
.Le versioni principali e secondarie del database devono essere uguali sia per la replica principale sia per quella di RE.
- MACHINE_TYPE: specifica lo stesso tipo di macchina dell'istanza principale. Ti consigliamo di scegliere un tipo di macchina che corrisponda a quello dell'istanza principale.
- AVAILABILITY_TYPE: se l'istanza principale è configurata per l'alta disponibilità, ti consigliamo di specificare
REGIONAL
per attivarla. - EDITION: specifica
ENTERPRISE_PLUS
.
REST v1
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
- PROJECT_ID: l'ID o il numero del progetto Google Cloud dell'istanza principale e della replica di RE.
- La stringa di versione DATABASE_VERSION: che corrisponde alla versione principale e secondaria del database dell'istanza principale, ad esempio
MYSQL_8_0_31
. La versione del database deve essere la stessa sia per la replica principale che per quella di RE. - REPLICA_NAME: il nome dell'istanza di replica RE che stai creando.
- REPLICA_REGION: la regione dell'istanza della replica RE. La regione della replica deve essere diversa dalla regione dell'istanza principale.
- MACHINE_TYPE: specifica lo stesso tipo di macchina dell'istanza principale. Ti consigliamo di selezionare lo stesso tipo di macchina dell'istanza principale.
- AVAILABILITY_TYPE: se l'istanza principale è configurata per l'alta disponibilità, ti consigliamo di specificare
REGIONAL
per attivarla.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Corpo JSON della richiesta:
{ "masterInstanceName": "PRIMARY_INSTANCE_NAME", "project": "PROJECT_ID", "databaseVersion": "DATABASE_VERSION", "name": "REPLICA_NAME", "region": "REPLICA_REGION", "settings": { "tier": "MACHINE_TYPE", "availabilityType": "AVAILABILITY_TYPE", "settingsVersion": 0, "replicationType": "ASYNCHRONOUS", } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
REST v1beta4
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
- PROJECT_ID: l'ID o il numero del progetto Google Cloud dell'istanza principale e della replica di RE.
- La stringa di versione DATABASE_VERSION: che corrisponde alla versione principale e secondaria del database dell'istanza principale, ad esempio
MYSQL_8_0_31
. La versione del database deve essere la stessa sia per la replica principale che per quella di RE. - REPLICA_NAME: il nome dell'istanza di replica RE che stai creando.
- REPLICA_REGION: la regione dell'istanza della replica RE. La regione della replica deve essere diversa dalla regione dell'istanza principale.
- MACHINE_TYPE: specifica lo stesso tipo di macchina dell'istanza principale. Ti consigliamo di scegliere una dimensione del disco corrispondente a quella dell'istanza principale.
- AVAILABILITY_TYPE: se l'istanza principale è configurata per l'alta disponibilità, ti consigliamo di specificare
REGIONAL
per attivarla.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances
Corpo JSON della richiesta:
{ "masterInstanceName": "PRIMARY_INSTANCE_NAME", "project": "PROJECT_ID", "databaseVersion": "DATABASE_VERSION", "name": "REPLICA_NAME", "region": "REPLICA_REGION", "settings": { "tier": "MACHINE_TYPE", "availabilityType": "AVAILABILITY_TYPE", "settingsVersion": 0, "replicationType": "ASYNCHRONOUS", } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Designa la replica RE per l'istanza principale
Le procedure riportate di seguito descrivono come designare una delle repliche tra regioni di un'istanza principale come replica RE per lo switchover o il failover della replica.
Console
Per designare una replica RE per un'istanza principale:
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Trova e seleziona l'istanza principale. Viene visualizzata la pagina Panoramica dell'istanza principale.
- Nel menu di navigazione, fai clic su Repliche.
- Nell'elenco delle repliche di lettura, trova la replica di lettura tra regioni che vuoi designare come replica di RE.
- Per la replica, fai clic sul pulsante more_vert Azioni e seleziona Designa come RE DR.
- Fai clic su Conferma.
gcloud
Per designare una replica RE per un'istanza principale, utilizza il seguente comando:
gcloud sql instances patch PRIMARY_INSTANCE_NAME \ --failover-dr-replica-name=REPLICA_NAME
Sostituisci le seguenti variabili:
- PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
- REPLICA_NAME: il nome della replica RE.
REST v1
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
- REPLICA_NAME: il nome della replica RE.
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/PRIMARY_INSTANCE_NAME
Corpo JSON della richiesta:
{ "replicationCluster": { "failoverDrReplicaName": "REPLICA_NAME" } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
REST v1beta4
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
- REPLICA_NAME: il nome della replica RE.
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/PRIMARY_INSTANCE_NAME
Corpo JSON della richiesta:
{ "replicationCluster": { "failoverDrReplicaName": "REPLICA_NAME" } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Modificare la designazione della replica RE
Se la replica soddisfa i requisiti, puoi designare un'altra replica come replica di RE. La vecchia replica RE perde la designazione come replica RE.
Console
Per modificare la replica RE per un'istanza principale:
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Trova e seleziona l'istanza principale. Viene visualizzata la pagina Panoramica dell'istanza principale.
- Nel menu di navigazione, fai clic su Repliche.
- Nell'elenco delle repliche di lettura, individua la replica di lettura tra regioni che vuoi designare come nuova replica di RE.
- Per la replica, fai clic sul pulsante more_vert Azioni e seleziona Designa come RE DR.
gcloud
Per modificare la replica RE, esegui di nuovo il comando designate e specifica una replica RE diversa.
REST
Per modificare la replica di RE, effettua di nuovo la richiesta dell'API designata e specifica una replica di RE diversa.
Visualizza la designazione della replica RE
Puoi controllare quale replica di RE è assegnata all'istanza principale utilizzando gcloud CLI o l'API Cloud SQL Admin. Puoi anche verificare se una replica è una replica RE designata.
Per scoprire quale replica di RE è designata per un'istanza principale, segui la procedura riportata di seguito.
Console
Per scoprire quale replica di lettura è la replica di RE designata per un'istanza principale:
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Trova e seleziona l'istanza principale. Viene visualizzata la pagina Panoramica dell'istanza principale.
- Nel menu di navigazione, fai clic su Repliche.
- Nell'elenco delle repliche di lettura, verifica che
MySQL disaster recovery replica
venga visualizzato nella colonna Tipo per la replica RE designata.
gcloud
Per scoprire quale istanza è la replica RE designata di un'istanza principale, utilizza il seguente comando:
gcloud sql instances describe PRIMARY_INSTANCE_NAME
Sostituisci la seguente variabile:
- PRIMARY_INSTANCE_NAME: il nome dell'istanza principale
L'output di questo comando contiene il campo failoverDrReplica
che identifica la replica RE designata.
REST v1
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID o il numero del progetto Google Cloud che contiene l'istanza.
- PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/PRIMARY_INSTANCE_NAME
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
REST v1beta4
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID o il numero del progetto Google Cloud che contiene l'istanza.
- PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/PRIMARY_INSTANCE_NAME
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Per verificare se una replica è una replica di RE, utilizza una delle seguenti procedure.
Console
Per verificare se un'istanza replica è una replica di RE:
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Individua l'istanza replica.
- Verifica che
MySQL disaster recovery replica
venga visualizzato nella colonna Tipo per la replica RE designata.
gcloud
Per verificare se un'istanza replica è una replica di RE, esegui il seguente comando:
gcloud sql instances describe REPLICA_NAME
Sostituisci la seguente variabile:
- REPLICA_NAME: il nome della replica di lettura da controllare
Se la replica è una replica RE, l'output del comando contiene il
campo drReplica=true
.
REST v1
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID o il numero del progetto Google Cloud che contiene l'istanza.
- REPLICA_NAME: il nome della replica.
Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_NAME
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere un codice di stato di operazione riuscita (2xx) e una risposta vuota.
REST v1beta4
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID o il numero del progetto Google Cloud che contiene l'istanza.
- REPLICA_NAME: il nome della replica.
Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/REPLICA_NAME
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere un codice di stato di operazione riuscita (2xx) e una risposta vuota.
Rimuovi la replica RE
Puoi cancellare la designazione della replica RE da un'istanza principale. Tuttavia, se non è assegnata alcuna replica di RE a un'istanza principale, non puoi eseguire lo switchover o il failover della replica.
Console
Per rimuovere una replica RE designata da un'istanza principale:
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Trova e seleziona l'istanza principale. Viene visualizzata la pagina Panoramica dell'istanza principale.
- Nel menu di navigazione, fai clic su Repliche.
- Nell'elenco delle repliche di lettura, individua la replica di lettura tra regioni che vuoi rimuovere.
- Per la replica, fai clic sul pulsante more_vert Azioni e seleziona Rimuovi come RE DR.
- Fai clic su Conferma.
gcloud
Per rimuovere la designazione della replica di RE, esegui il seguente comando sull'istanza principale:
gcloud sql instances patch PRIMARY_INSTANCE_NAME \ --clear-failover-dr-replica-name
Sostituisci la seguente variabile:
- PRIMARY_INSTANCE_NAME: il nome dell'istanza principale da cui vuoi rimuovere la replica RE designata
REST v1
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID o il numero del progetto Google Cloud dell'istanza principale e della replica di RE.
- PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
- Imposta il campo
failoverDrReplicaName
su una stringa vuota.
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/PRIMARY_INSTANCE_NAME
Corpo JSON della richiesta:
{ "replicationCluster": { "failoverDrReplicaName": "" } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
REST v1beta4
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID o il numero del progetto Google Cloud dell'istanza principale e della replica di RE.
- PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
- Imposta il campo
failoverDrReplicaName
su una stringa vuota.
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/PRIMARY_INSTANCE_NAME
Corpo JSON della richiesta:
{ "replicationCluster": { "failoverDrReplicaName": "" } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Eseguire uno switchover
Dopo aver designato una replica di RE, puoi eseguire l'operazione di switchover. Tuttavia, come best practice, evita di eseguire l'operazione di passaggio nelle seguenti circostanze:
- L'istanza principale è in uso attivo.
- Sono in corso operazioni di amministrazione, come il backup automatico o l'attivazione o la disattivazione dell'alta disponibilità (HA).
Per evitare un timeout, valuta la possibilità di eseguire il passaggio quando il volume delle transazioni è basso.
Al termine dello switchover, l'operazione esegue il backup della nuova istanza principale (l'ex replica RE) non appena la nuova istanza principale viene promossa. Al termine del backup, il recupero point-in-time (PITR) viene attivato completamente sulla nuova istanza principale. Il completamento del backup può richiedere da 5 a 15 minuti, a seconda delle dimensioni del disco. La copertura PITR inizia solo al termine di questo backup. Per ulteriori informazioni sulle considerazioni relative all'utilizzo del PITR con RE avanzato, consulta Utilizzare il PITR con il DR avanzato.
Al termine dell'operazione di switchover, noterai che la direzione della replica è invertita.
Dopo che la vecchia istanza principale è stata riconfigurata come replica di lettura, l'endpoint di scrittura DNS, che in precedenza risolveva nella vecchia istanza principale, risolve nella nuova istanza principale.
Prima di iniziare
Prima di eseguire l'operazione di passaggio, segui questi passaggi:
- Designa una replica RE. Puoi eseguire un cambio solo tra l'istanza principale e la replica di RE designata.
- Verifica che l'istanza principale e la replica di RE siano online.
- Se utilizzi un endpoint di scrittura DNS, verifica che la configurazione SSL per l'istanza principale e la replica di RE sia la stessa. Ad esempio, se la replica di RE è configurata per applicare la crittografia SSL, ma l'istanza principale consente connessioni non criptate, i client non potranno connettersi alla nuova istanza principale al termine dell'operazione di switchover.
- Esegui un backup on demand dell'istanza principale. Questo backup è una misura di sicurezza nel caso in cui tu debba recuperare da eventuali errori imprevisti.
Esegui l'operazione di switchover
Console
Per eseguire l'operazione di passaggio:
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Trova la replica RE designata dell'istanza principale.
- Fai clic sull'istanza della replica RE. Viene visualizzata la pagina Panoramica della replica di RE.
- Fai clic sul pulsante Passaggio.
- Nella pagina Esegui il cambio tra la l&#RE;istanza principale e la replica di DR, inserisci il nome dell'istanza principale nel campo ID istanza.
- Fai clic su Passaggio.
gcloud
Per eseguire l'operazione di passaggio, esegui il seguente comando:
gcloud sql instances switchover REPLICA_NAME [--db-timeout=TIMEOUT_DURATION ]
Sostituisci le seguenti variabili:
- REPLICA_NAME: il nome della replica RE designata con cui vuoi che l'istanza principale cambi ruolo.
- TIMEOUT_DURATION: facoltativo. Il periodo di timeout per consentire il completamento delle operazioni di database nell'istanza.
Se non specifichi questo parametro, l'operazione di switchover include un timeout di 10 minuti.
Puoi aumentare il valore di questo timeout specificando il parametro
--db-timeout
. Sostituisci TIMEOUT_DURATION con
un periodo di tempo di durata massima di 24 ore, inclusa una notazione iniziale per il
formato. Ad esempio, per 30 secondi, specifica 30s
. Per 24 ore, specifica
24h
. Puoi anche specificare unità frazionarie del periodo di tempo utilizzando decimali fino a 9 cifre. Ad esempio, per 30,5 minuti,
specifica 30.5m
.
Se non hai operazioni in attesa, puoi diminuire il valore di questo timeout.
REST v1
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID o il numero del progetto Google Cloud dell'istanza principale e della replica di RE.
- REPLICA_NAME: il nome della replica RE.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_NAME/switchover
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
REST v1beta4
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID o il numero del progetto Google Cloud dell'istanza principale e della replica di RE.
- REPLICA_NAME: il nome della replica RE.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/REPLICA_NAME/switchover
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Esegui il DR richiamando un failover della replica
In caso di guasto regionale o di emergenza, puoi eseguire RE invocando un'operazione di failover della replica alla replica di RE designata. Per eseguire un failover della replica, promuovi la replica RE designata. A differenza del passaggio, la promozione della replica di RE è immediata.
Poiché la replica di RE assume immediatamente il ruolo dell'istanza principale, è possibile che la replica non contenga tutti i dati dell'istanza principale precedente a causa del ritardo della replica. Per questo motivo, un failover della replica può comportare la perdita di dati.
Nell'ambito del processo di promozione, il failover della replica esegue il backup della nuova istanza principale (l'ex replica RE) subito dopo che la replica RE diventa la nuova istanza principale. Al termine del backup, il recupero point-in-time (PITR) è completamente abilitato nella nuova istanza principale. Il completamento di questo backup può richiedere da 5 a 15 minuti, a seconda delle dimensioni del disco della nuova (e della vecchia) istanza principale. Durante questo periodo di backup, la funzionalità PITR non è disponibile.
Quando la vecchia istanza principale viene di nuovo online, il processo di failover della replica esegue un backup. Dopo aver eseguito il backup, la vecchia istanza principale viene rielaborata come replica di lettura della nuova istanza principale.
Per ulteriori informazioni sulle considerazioni relative all'utilizzo del PITR con RE avanzato, consulta Utilizzare il PITR con il DR avanzato.
Dopo aver invocato l'operazione di failover della replica, l'endpoint di scrittura DNS, che in precedenza risolveva nella vecchia istanza principale, si risolve nella nuova istanza principale.
Prima di iniziare
Prima di poter eseguire un failover della replica, segui questi passaggi:
- Se non l'hai ancora fatto, designa una RE DR. Puoi eseguire un failover della replica solo tra l'istanza principale e la replica RE designata.
- Assicurati che la replica di RE sia online e funzionante.
Esegui l'operazione di failover della replica
Console
Per eseguire l'operazione di failover della replica:
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Trova la replica RE designata dell'istanza principale.
- Fai clic sull'istanza della replica RE. Viene visualizzata la pagina Panoramica della replica di RE.
- Fai clic sul pulsante Failover replica.
- Nella pagina Esegui il failover della replica tra la l&#RE;istanza principale e la replica di DR, inserisci il nome dell'istanza principale nel campo ID istanza per confermare di voler procedere con l'operazione.
- Per avviare il failover della replica, fai clic su Failover della replica.
gcloud
Per invocare un failover della replica alla replica di RE, utilizza il seguente comando:
gcloud sql instances promote-replica \ REPLICA_NAME --failover
Sostituisci la seguente variabile:
- REPLICA_NAME: il nome della replica RE
REST v1
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID o il numero del progetto Google Cloud dell'istanza principale e della replica di RE.
- REPLICA_NAME: il nome della replica RE.
- ENABLE_REPLICA_FAILOVER: impostato su
true
per utilizzare il failover della replica. Se imposti il valorefalse
, l'API utilizza il metodopromoteReplica
normale senza il failover della replica.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_NAME/promoteReplica?failover=ENABLE_REPLICA_FAILOVER
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
REST v1beta4
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID o il numero del progetto Google Cloud dell'istanza principale e della replica di RE.
- REPLICA_NAME: il nome della replica RE.
- ENABLE_REPLICA_FAILOVER: impostato su
true
per utilizzare il failover della replica. Se imposti il valorefalse
, l'API utilizza il metodopromoteReplica
normale senza il failover della replica.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/REPLICA_NAME/promoteReplica?failover=ENABLE_REPLICA_FAILOVER
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Controllare lo stato del failover di una replica
Il failover della replica avviene in due fasi. La prima fase è la promozione della replica RE. La seconda fase consiste nella ricreazione della vecchia istanza principale come replica di lettura.
Per controllare lo stato del failover della replica, controlla lo stato di ogni fase.
Controlla lo stato della prima fase.
Console
Per verificare se la replica RE è stata promossa a un'istanza autonoma:
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Trova il nome della replica RE che hai promosso.
- Verifica che MySQL VERSION sia visualizzato nella colonna Tipo per la nuova istanza principale.
gcloud
Per controllare lo stato, esegui il seguente comando:gcloud sql instances describe DR_REPLICA_NAME
Sostituisci la seguente variabile:
- DR_REPLICA_NAME: il nome della replica RE promossa
Nell'output, verifica che venga visualizzato il seguente campo e che la replica sia diventata un'istanza principale Cloud SQL autonoma:
instanceType: CLOUD_SQL_INSTANCE
-
Per verificare il completamento della seconda fase, controlla il messaggio
RECONFIGURE_OLD_PRIMARY
nel log delle operazioni dell'istanza.La visualizzazione di questo messaggio dipende da quando la vecchia istanza principale torna online, il che può richiedere minuti o giorni in caso di incidente.
Per ulteriori informazioni su come controllare i log delle operazioni in un'istanza, vedi Visualizzare i log dell'istanza.
Utilizzare il recupero point-in-time con RE avanzato
Sia con lo switchover sia con il failover della replica, non appena la replica di RE viene promossa a istanza principale, vengono apportate le seguenti modifiche per supportare il backup e il PITR:
- La configurazione del backup, inclusa la pianificazione dei backup automatici, viene copiata dall'istanza principale precedente a quella nuova.
- Se è disattivato, il flag di configurazione del log bin viene attivato per abilitare la PITR.
Viene eseguito un nuovo backup per supportare il PITR sulla nuova istanza principale.
Il criterio di conservazione dei log delle transazioni viene copiato dall'istanza principale precedente all'istanza principale nuova.
Sia per la configurazione del backup sia per i criteri di conservazione dei log delle transazioni, consigliamo di verificare che le impostazioni ereditate dalla vecchia istanza principale siano corrette per la nuova istanza principale.
Inizio della copertura PITR
Al termine dell'operazione di switchover, Cloud SQL pianifica i backup automatici e esegue il primo backup della nuova istanza principale. Se vuoi che la copertura PITR inizi il prima possibile, ti consigliamo di verificare che il primo backup sia stato eseguito correttamente. L'istanza principale appena promossa ha la copertura PITR solo dopo che il primo backup automatico è stato completato correttamente.
Per ulteriori informazioni su come visualizzare i backup disponibili per un'istanza, consulta Visualizzare un elenco di backup.
Copertura PITR per le istanze durante il cambio e il failover della replica
Quando un'istanza partecipa a un cambio o a un'operazione di failover della replica, l'istanza rimane in stato di replica di lettura. Il recupero point-in-time e il ripristino di un backup sono supportati durante il periodo di tempo in cui l'istanza è una replica di lettura e un'istanza principale.
Puoi eseguire il ripristino dei dati a un momento precedente al passaggio quando l'istanza era primaria. Per le operazioni di switchover e failover della replica, Cloud SQL avvia un backup secondo il criterio del massimo impegno per la nuova istanza principale non appena questa viene promossa. Il PITR viene attivato sull'istanza promossa solo al termine di questo backup. Il completamento del backup può richiedere da 5 a 15 minuti, a seconda delle dimensioni del disco.
Stato di split-brain durante il failover della replica
È possibile che si verifichi la situazione di split-brain quando l'istanza principale continua ad accettare le scritture mentre una replica viene promossa utilizzando il failover della replica. Dopo la promozione della replica, quando la vecchia istanza principale è di nuovo disponibile, viene ricostruita come replica dell'istanza promossa e viene eseguito un backup finale. Questo backup può essere utilizzato per recuperare eventuali dati con problemi di coerenza che non sono stati scritti nella replica promossa.
Eliminazione di backup e log delle transazioni sulle repliche
Se un'istanza principale abilitata con il PITR e i backup diventa una replica di lettura, l'ultimo backup e il criterio di conservazione PITR dal momento in cui era un'istanza principale vengono conservati e applicati durante il periodo in cui è una replica. Anche se la nuova istanza principale non esegue i backup, i vecchi backup e i log delle transazioni utilizzati per il PITR vengono eliminati nella replica di lettura in base all'ultimo criterio configurato.
Ad esempio, se l'istanza è configurata per avere backup automatici giornalieri e conservare 7 backup con 7 giorni di log PITR, quando questa istanza diventa una replica di lettura, tutti gli elementi precedenti a 7 giorni vengono eliminati una volta al giorno.
Se devi eliminare i backup prima, puoi rimuoverli manualmente. Per ulteriori informazioni, consulta Eliminare un backup.
Limitazioni
Il DR avanzato non è supportato per le istanze Cloud SQL che utilizzano Private Service Connect. Il DR avanzato supporta l'accesso privato ai servizi.
Non puoi designare un'istanza di replica di lettura della versione Cloud SQL Enterprise Plus come replica di RE se l'istanza principale memorizza i log delle transazioni per il recupero point-in-time (PITR) su disco. Per controllare dove un'istanza archivia i log per la replica incrementale in tempo reale, consulta Controllare la posizione di archiviazione dei log delle transazioni utilizzati per la replica incrementale in tempo reale.
Non puoi designare una replica esterna come replica RE.
Terraform non è supportato per le operazioni di switchover o failover della replica.
Risoluzione dei problemi
Problema | Risoluzione dei problemi |
---|---|
L'operazione di switchover non è riuscita. |
|
L'operazione di switchover non è riuscita e l'istanza principale è bloccata in modalità di sola lettura. | Esegui un riavvio del database per ripristinare la modalità di scrittura dell'istanza principale. |
L'operazione di switchover è stata completata, ma la console Google Cloud non mostra i nuovi ruoli invertiti per le istanze. | Aggiorna il browser per visualizzare la topologia aggiornata. |
L'operazione di failover della replica non è riuscita. |
|
Non è possibile capire se la replica non viene eseguita | Connettiti alla replica e digita:
show slave status;
Puoi anche visualizzare lo stato della replica per le repliche nella dashboard di monitoraggio di Cloud SQL. Per ulteriori informazioni, consulta Monitora le istanze Cloud SQL. |
Hai ricevuto il seguente messaggio di errore:
|
Non puoi eseguire il recupero point-in-time per un periodo di tempo in cui un'istanza ha subito un cambio a una replica. I log PITR non sono disponibili per il periodo di tempo in cui l'istanza era una replica.
|
Hai ricevuto il seguente messaggio di errore:
|
L'istanza principale non ha ancora spostato la posizione di archiviazione dei suoi log delle transazioni su Cloud Storage. Puoi riprovare dopo aver modificato la posizione di archiviazione dei log delle transazioni oppure puoi provare a designare una replica RE per un'istanza principale diversa. Per ulteriori informazioni sul trasferimento della posizione di archiviazione dei log delle transazioni utilizzati per il recupero point-in-time (PITR), consulta Utilizzare il recupero point-in-time (PITR). |
Hai ricevuto il seguente messaggio di errore:
|
Per ulteriori informazioni su come designare una replica RE e sulla sintassi corretta del comando, consulta Designare la replica RE per l'istanza principale. |
Passaggi successivi
- Scopri di più sull'osservabilità del database
- Monitora le istanze Cloud SQL