Utilizza ripristino di emergenza (RE) avanzato

In questa pagina viene descritto come utilizzare il ripristino di emergenza (RE) avanzato. RE avanzata offre due funzionalità principali:

  • Il Failover della replica consente di eseguire il failover dell'istanza principale nel RE in caso di errore a livello di regione.
  • Il cambio ti consente di invertire i ruoli dell'istanza principale e la replica di RE designata senza perdita di dati. Puoi utilizzare il cambio per ripristinare lo stato di deployment originale di un deployment dopo la replica oppure puoi usare lo switchover per testare RE.

La RE avanzata è supportata solo sulle istanze della versione Cloud SQL Enterprise Plus.

Specifica una replica RE

Per eseguire RE avanzato, devi prima designare una replica di RE tra regioni.

Prima di iniziare

Se prevedi di utilizzare Google Cloud SDK, devi utilizzare la versione 470.0.0 o successive e Comandi gcloud beta. Per controllare la versione di Google Cloud SDK, esegui gcloud --version. Per aggiornare Google Cloud SDK, esegui gcloud components update.

Per installare Google Cloud SDK, consulta Installa gcloud CLI.

Requisiti della replica RE

La replica di lettura di RE designata deve soddisfare i seguenti requisiti:

  • Deve essere un'istanza della versione Cloud SQL Enterprise Plus
  • Deve essere la stessa versione principale e secondaria del database del database principale con MySQL 8.0.31 o versioni successive
  • Deve trovarsi in una regione separata 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 configura i seguenti flag:
    • replicate_do_db
    • replicate_ignore_db
    • replicate_do_table
    • replicate_wild_do_table
    • replicate_ignore_table
    • replicate_wild_ignore_table
  • Deve archiviare i log delle transazioni utilizzati per il PITR in Cloud Storage
  • Non può essere una replica esterna

Suggerimenti sulla replica di RE

Questa sezione fornisce suggerimenti per la replica di RE. I seguenti consigli possono aiutarti a evitare di prestazioni del deployment:

  • Utilizza le stesse dimensioni del disco dell'istanza principale o abilita la crescita automatica.
  • Utilizza una configurazione ad alta disponibilità coerente. Se abiliti l'alta disponibilità sull'istanza principale abilitazione dell'alta disponibilità sulla replica di RE.
  • Utilizza una configurazione coerente della cache dei dati. Se attivi la cache dei dati l'istanza principale, quindi abilitare anche la cache dei dati sulla replica di RE.
  • Configura eventuali flag di database appropriati per la replica di RE prima e dopo un'operazione di cambio o di failover della replica.

Crea una replica per soddisfare i requisiti della replica di RE

Se l'istanza principale non ha già una replica di lettura tra regioni che soddisfi i requisiti di replica di RE, quindi creane uno.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Trova l'istanza principale.
  3. Nella colonna Azioni, fai clic sul menu Altre azioni.
  4. Seleziona Crea replica di lettura.
  5. Nel campo ID istanza, inserisci un nome per la replica RE.
  6. Nel campo Versione database, MySQL 8.0 è già selezionato.
  7. Nel campo Versione secondaria, lascia la versione secondaria preselezionata. La replica di RE e l'istanza principale devono condividere lo stesso database una versione secondaria.
  8. Nella sezione Scegli una regione e una disponibilità a livello di 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 la Zona principale e la Zona secondaria per la replica di RE.
  9. Nella sezione Personalizza l'istanza della pagina, puoi aggiornare le impostazioni per la tua replica RE. Per ulteriori dettagli su ogni impostazione, consulta pagina Informazioni sulle impostazioni dell'istanza.
  10. Per Forme di macchine, seleziona lo stesso tipo di macchina della tua macchina principale in esecuzione in un'istanza Compute Engine.
  11. Per Flag, configura tutti i flag richiesti per il tuo database.
  12. Fai clic su Crea replica.

Cloud SQL crea un backup dell'istanza principale e crea replica. Tornerai alla pagina dell'istanza per l'istanza principale.

gcloud

Per creare una replica che soddisfi i requisiti di una replica di RE, esegui questo 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 di RE.
  • PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
  • REPLICA_REGION_NAME: specifica una regione diversa da la regione dell'istanza principale.
  • DATABASE_VERSION: specifica la stringa di versione che corrisponde alla principale e secondaria dell'istanza principale, ad esempio MYSQL_8_0_31.

    Le versioni principali e secondarie del database devono essere le stesse sia per la replica principale che per RE.

  • MACHINE_TYPE: specifica lo stesso tipo di macchina dell'istanza principale. Consigliamo che il tipo di macchina corrisponda a quello dell'istanza principale.
  • AVAILABILITY_TYPE: se l'istanza principale è configurata per livello elevato per la disponibilità, ti consigliamo di specificare REGIONAL per abilitare l'alta disponibilità.
  • EDITION: specifica ENTERPRISE_PLUS.

REST v1

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
  • PROJECT_ID: l'ID o il numero del progetto Google Cloud del principale e la replica di RE.
  • Stringa di versione DATABASE_VERSION: che corrisponde alle istanze principali e minore dell'istanza principale, ad esempio MYSQL_8_0_31. La la versione principale e quella secondaria del database devono essere uguali sia per Replica di RE.
  • REPLICA_NAME: il nome dell'istanza di replica di RE che stai creando.
  • REPLICA_REGION: la regione dell'istanza di replica di RE. La regione di replica deve essere diversa dalla regione dell'istanza principale.
  • MACHINE_TYPE: specifica lo stesso tipo di macchina dell'istanza principale. Me ti consigliamo di selezionare lo stesso tipo di macchina dell'istanza principale.
  • AVAILABILITY_TYPE: se l'istanza principale è configurata per livello elevato la disponibilità, ti consigliamo di specificare REGIONAL per attivare la disponibilità del servizio.

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 delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
  • PROJECT_ID: l'ID o il numero del progetto Google Cloud del principale e la replica di RE.
  • Stringa di versione DATABASE_VERSION: che corrisponde alle istanze principali e minore dell'istanza principale, ad esempio MYSQL_8_0_31. La la versione principale e quella secondaria del database devono essere uguali sia per Replica di RE.
  • REPLICA_NAME: il nome dell'istanza di replica di RE che stai creando.
  • REPLICA_REGION: la regione dell'istanza di replica di RE. La regione di replica deve essere diversa dalla regione dell'istanza principale.
  • MACHINE_TYPE: specifica lo stesso tipo di macchina dell'istanza principale. Me consiglia che le dimensioni del disco corrispondano a quelle dell'istanza principale.
  • AVAILABILITY_TYPE: se l'istanza principale è configurata per livello elevato la disponibilità, ti consigliamo di specificare REGIONAL per attivare la disponibilità del servizio.

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 delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Specifica la replica di RE per l'istanza principale

Le seguenti procedure descrivono come designare uno dei di un'istanza principale come replica di RE per il cambio o la replica di failover.

Console

Per designare una replica di RE per un'istanza principale:

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Trova e seleziona l'istanza principale. Nella pagina Panoramica relativa e l'istanza principale.
  3. Nel menu di navigazione, fai clic su Repliche.
  4. Nell'elenco delle repliche di lettura, trova la replica di lettura tra regioni designare come replica di RE.
  5. Per la replica, fai clic sul pulsante more_vert Azioni e seleziona Definisci come replica RE.
  6. Fai clic su Conferma.

gcloud

Per designare una replica di RE per un'istanza principale, utilizza il seguente comando:

gcloud beta 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 di RE.

REST v1

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
  • REPLICA_NAME: il nome della replica di 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 delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
  • REPLICA_NAME: il nome della replica di RE.

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/PRIMARY_INSTANCE_NAME

Corpo JSON della richiesta:

{
  "replicationCluster": {
     "failoverDrReplicaName": "REPLICA_NAME"
   }
}

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Modifica la designazione della replica RE

Se la replica soddisfa i requisiti, puoi designare come replica di RE. La replica RE precedente perde la replica RE designazione.

Console

Per modificare la replica di RE per un'istanza principale:

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Trova e seleziona l'istanza principale. Nella pagina Panoramica relativa e l'istanza principale.
  3. Nel menu di navigazione, fai clic su Repliche.
  4. Nell'elenco delle repliche di lettura, trova la replica di lettura tra regioni designare come nuova replica di RE.
  5. Per la replica, fai clic sul pulsante more_vert Azioni e seleziona Definisci come replica RE.

gcloud

Per modificare la replica di RE, esegui di nuovo il comando designato, e specificare una replica di RE diversa.

REST

Per modificare la replica RE, effettua la richiesta API designata e specificare un valore diversa replica di RE.

Visualizza la designazione di replica RE

Puoi verificare quale replica di RE è assegnata all'istanza principale utilizzando il metodo gcloud CLI o l'API Cloud SQL Admin. Puoi anche verificare se una replica è designata come replica RE.

Per scoprire quale replica di RE è designata per un'istanza principale, utilizza la procedura seguente.

Console

Per scoprire quale replica di lettura è la replica designata per RE per un'istanza procedi nel seguente modo:

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Trova e seleziona l'istanza principale. Nella pagina Panoramica relativa e l'istanza principale.
  3. Nel menu di navigazione, fai clic su Repliche.
  4. Nell'elenco delle repliche di lettura, verifica che MySQL disaster recovery replica appare in Colonna Tipo per la replica di RE designata.

gcloud

Per scoprire quale istanza è la replica designata di RE di un'istanza principale, utilizza questo comando:

gcloud beta 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 denominato failoverDrReplica che identifica la replica designata per RE.

REST v1

Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Per verificare se una replica è di RE, utilizza una delle seguenti procedure.

Console

Per verificare se un'istanza di replica è una replica RE, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Trova l'istanza di replica.
  3. Verifica che MySQL disaster recovery replica appare in Colonna Tipo per la replica di RE designata.

gcloud

Per verificare se un'istanza di replica è una replica RE, esegui questo comando:

gcloud beta sql instances describe REPLICA_NAME

Sostituisci la seguente variabile:

  • REPLICA_NAME: il nome della replica di lettura che vuoi verifica

Se la replica è una replica RE, l'output del comando contiene campo drReplica=true.

REST v1

Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

Prima di utilizzare i dati della richiesta, effettua 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/v1beta4/projects/PROJECT_ID/instances/REPLICA_NAME

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Rimuovi la replica RE

Puoi cancellare la designazione della replica RE da un'istanza principale. Tuttavia, se a un'istanza principale non è assegnata alcuna replica RE, quindi non puoi il cambio o il failover della replica.

Console

Per rimuovere una replica designata di RE da un'istanza principale:

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Trova e seleziona l'istanza principale. Nella pagina Panoramica relativa e l'istanza principale.
  3. Nel menu di navigazione, fai clic su Repliche.
  4. Nell'elenco delle repliche di lettura, trova la replica di lettura tra regioni da rimuovere.
  5. Per la replica, fai clic sul pulsante more_vert Azioni e seleziona Rimuovi come replica RE.
  6. Fai clic su Conferma.

gcloud

Per rimuovere la designazione di replica RE, esegui questo comando sull'istanza principale istanza:

gcloud beta 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 designata di RE

REST v1

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID o il numero del progetto Google Cloud del principale e la replica di RE.
  • PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
  • Imposta una stringa vuota per il campo failoverDrReplicaName.

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 delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID o il numero del progetto Google Cloud del principale e la replica di RE.
  • PRIMARY_INSTANCE_NAME: il nome dell'istanza principale.
  • Imposta una stringa vuota per il campo failoverDrReplicaName.

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/PRIMARY_INSTANCE_NAME

Corpo JSON della richiesta:

{
  "replicationCluster": {
     "failoverDrReplicaName": ""
   }
}

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Esegui il cambio

Dopo aver designato una replica di RE, puoi eseguire l'operazione di cambio. Tuttavia, come best practice, evita di eseguire l'operazione di cambio nel le seguenti circostanze:

  • L'istanza principale è in uso attivamente.
  • Sono in corso le operazioni amministrative, come il backup automatico o l'abilitazione o la disabilitazione dell'alta disponibilità (HA).

Per evitare un timeout, valuta la possibilità di eseguire il cambio quando il volume delle transazioni è basso.

Al termine del cambio, l'operazione esegue un backup della nuova istanza principale (la precedente replica di RE) non appena la nuova istanza principale viene promosso. Una volta completato il backup, il recupero point-in-time (PITR) completamente abilitato sulla nuova istanza principale. Questo backup può richiedere da 5 a 15 minuti per il completamento, a seconda delle dimensioni del disco. La copertura PITR inizia solo dopo il giorno è stato completato il backup. Per ulteriori informazioni sulle considerazioni utilizzando il PITR con RE avanzata, Usa il PITR con RE avanzato.

Terminata l'operazione di commutazione, noterai che la direzione la replica è invertita.

Prima di iniziare

Prima di eseguire il cambio, segui questi passaggi:

  • Specificare una replica RE. Puoi effettuare il cambio solo tra l'istanza principale e designata come replica RE.
  • Verifica che l'istanza principale e la replica di RE siano online.
  • Esegui un backup on demand dell'istanza principale. Questo backup è un nel caso in cui sia necessario ripristinare gli account in seguito a errori imprevisti.

Esegui l'operazione di cambio

Console

Per eseguire il cambio, procedi nel seguente modo:

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Trova la replica di RE designata dell'istanza principale.
  3. Fai clic sull'istanza della replica di RE. Nella pagina Panoramica relativa viene visualizzata la replica RE.
  4. Fai clic sul pulsante Cambia.
  5. Nella sezione Esegui il cambio tra la replica di lettura principale e quella designata. inserisci il nome dell'istanza principale nel campo ID istanza.
  6. Fai clic su Cambia.

gcloud

Per effettuare il cambio, esegui questo comando:

gcloud beta sql instances switchover REPLICA_NAME
   [--db-timeout=TIMEOUT_DURATION ]

Sostituisci le seguenti variabili:

  • REPLICA_NAME: il nome della replica di RE designata con cui vuoi che l'istanza principale cambi ruolo.
  • TIMEOUT_DURATION: facoltativo. il periodo di timeout per consentire delle operazioni di database sull'istanza.
  • Se non specifichi questo parametro, il cambio include un timeout di 10 minuti.

    Puoi aumentare il valore di questo timeout specificando la variabile Parametro --db-timeout. Sostituisci TIMEOUT_DURATION con un periodo di tempo di massimo 24 ore, inclusa una notazione iniziale per il valore formato. Ad esempio, per 30 secondi, specifica 30s. Per 24 ore, specifica 24h. Puoi anche specificare unità frazionarie di periodo di tempo con utilizzando decimali fino a 9 cifre. Ad esempio, per 30,5 minuti, specificare 30.5m.

    Se non ci sono operazioni in attesa, puoi diminuire il valore questo timeout.

REST v1

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID o il numero del progetto Google Cloud del principale e la replica di RE.
  • REPLICA_NAME: il nome della replica di RE.

Metodo HTTP e URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_NAME/switchover

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID o il numero del progetto Google Cloud del principale e la replica di RE.
  • REPLICA_NAME: il nome della replica di RE.

Metodo HTTP e URL:

POST https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/REPLICA_NAME/switchover

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Esegui RE richiamando un failover della replica

In caso di errore a livello di regione o di emergenza, puoi eseguire RE di richiamare un'operazione di failover della replica sulla replica di RE designata. Per eseguire di un failover della replica, promuovi la replica di RE designata. In contrasto con il cambio, la promozione della replica di RE è immediata.

Poiché la replica di RE tra regioni assume il ruolo di istanza principale immediatamente, è possibile che la replica non abbia tutti i dati a causa del ritardo della replica. Per questo motivo, un failover della replica possono verificarsi perdite di dati.

Nell'ambito del processo di promozione, il failover della replica esegue un backup del nuovo principale (l'ex replica RE) subito dopo che la replica di RE diventa nuova istanza principale. Al termine del backup, il recupero point-in-time (PITR) è completamente abilitato sulla nuova istanza principale. Questo backup può richiedere tra i 5 e i 15 minuti, a seconda delle dimensioni del disco nuovo (e precedente) dell'istanza principale. Durante questo periodo di backup, il PITR non è disponibile.

Quando la vecchia istanza principale torna online, il processo di failover della replica esegue un backup. Una volta eseguito il backup, la vecchia istanza principale viene viene ricreata come replica di lettura della nuova istanza principale. In questo processo, la vecchia istanza principale perde i log delle transazioni PITR precedenti che non erano ancora stati salvati in Cloud Storage. Di conseguenza, il failover della replica non garantisce che tutte le transazioni i log utilizzati per PITR nell'istanza principale precedente vengono conservati.

Per ulteriori informazioni sulle considerazioni sull'uso del PITR con RE avanzata, vedi Usa il PITR con RE avanzato.

Prima di iniziare

Prima di eseguire il failover della replica, segui questi passaggi:

  • Se non l'hai già fatto, designare una replica RE. Puoi eseguire un failover della replica solo tra l'istanza principale e designata come replica di RE.
  • Assicurati che la replica di RE sia online e integro.

Esegui l'operazione di failover della replica

Console

Per eseguire l'operazione di failover della replica:

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Trova la replica di RE designata dell'istanza principale.
  3. Fai clic sull'istanza della replica di RE. Nella pagina Panoramica relativa viene visualizzata la replica RE.
  4. Fai clic sul pulsante Failover della replica.
  5. Nella pagina Esegui il failover della replica tra la replica di lettura principale e quella designata, inserisci il nome dell'istanza principale nel campo ID istanza per confermare che vuoi continuare con l'operazione.
  6. Per avviare il failover della replica, fai clic su Failover della replica.

gcloud

Per richiamare un failover della replica nella replica di RE, utilizza il seguente comando:

gcloud beta sql instances promote-replica \
   REPLICA_NAME --failover

Sostituisci la seguente variabile:

  • REPLICA_NAME: il nome della replica di RE

REST v1

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID o il numero del progetto Google Cloud del principale e la replica di RE.
  • REPLICA_NAME: il nome della replica di RE.
  • ENABLE_REPLICA_FAILOVER: imposta su true per utilizzare il failover della replica. Se imposti false, l'API utilizza il normale valore promoteReplica senza 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 delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID o il numero del progetto Google Cloud del principale e la replica di RE.
  • REPLICA_NAME: il nome della replica di RE.
  • ENABLE_REPLICA_FAILOVER: imposta su true per utilizzare il failover della replica. Se imposti false, l'API utilizza il normale valore promoteReplica senza failover della replica.

Metodo HTTP e URL:

POST https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/REPLICA_NAME/promoteReplica?failover=ENABLE_REPLICA_FAILOVER

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Controllare lo stato di un failover della replica

Il failover della replica avviene in due fasi. La prima fase è la promozione della replica di RE. La seconda fase è la ricreazione la vecchia istanza principale come replica di lettura.

Per controllare lo stato del failover della replica, controlla lo stato di ogni durante la fase di sviluppo.

  1. Controlla lo stato della prima fase.

    Console

    Per verificare se la replica designata di RE è stata promossa a istanza autonoma:

    1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

      Vai a Istanze Cloud SQL

    2. Trova il nome della replica di RE che hai promosso.
    3. Verifica che MySQL 8.0appare in Colonna Tipo per la nuova istanza principale.

    gcloud

    Puoi verificare lo stato eseguendo questo comando:

    gcloud sql instances describe DR_REPLICA_NAME
    

    Sostituisci la seguente variabile:

    • DR_REPLICA_NAME: il nome della replica di RE promossa

    Nell'output, verifica che venga visualizzato il seguente campo e è diventata un'istanza Cloud SQL principale autonoma:

    instanceType: CLOUD_SQL_INSTANCE
    

  2. Per verificare il completamento della seconda fase, controlla log delle operazioni sull'istanza per il messaggio RECONFIGURE_OLD_PRIMARY.

    L'aspetto di questo messaggio dipende da quando il vecchio principale restituisce online, il che può richiedere minuti giorni in caso di disastro.

    Per saperne di più su come controllare i log delle operazioni su un'istanza, consulta Visualizzare i log delle istanze.

Usa PITR con RE avanzata

Con il cambio e il failover della replica, non appena la replica di RE viene promosso a istanza principale, vengono apportate le seguenti modifiche per supportare il backup e PITR:

  • La configurazione del backup, inclusa la pianificazione automatica del backup, è dalla precedente istanza principale alla nuova istanza principale.
  • Se disabilitato, il flag di configurazione binlog viene attivato per abilitare PITR.
  • Viene utilizzato un nuovo backup per supportare PITR sulla nuova istanza principale.
  • Il criterio di conservazione del log delle transazioni è stato copiato dalla precedente istanza principale alla nuova istanza principale.

Sia per la configurazione del backup che per i criteri di conservazione dei log delle transazioni, ti consigliamo di verificare che le impostazioni ereditate dalla precedente sono corretti per la nuova istanza principale.

Inizio della copertura PITR

Al termine dell'operazione di cambio, Cloud SQL pianifica backup automatici ed esegue il primo backup della nuova istanza principale. Se vuoi che la copertura PITR inizi prima del previsto, ti consigliamo di verificare che il primo backup sia riuscito. L'istanza principale appena promossa ha la copertura PITR solo dopo il primo backup automatico è stato completato correttamente.

Per ulteriori informazioni su come visualizzare i backup disponibili per un consulta l'istanza Visualizza un elenco dei backup.

Copertura PITR per le istanze durante il cambio e il failover della replica

Quando un'istanza partecipa a un'operazione di cambio o failover della replica, l'istanza trascorre del tempo come replica di lettura. Il PITR e il ripristino di un backup vengono supportata durante il periodo di tempo trascorso dall'istanza come replica di lettura. Se vuoi eseguire il PITR in un momento precedente all'evento di cambio (quando l'istanza era primaria), puoi inviare il comando clone avere come target il momento in cui l'istanza è stata un'istanza principale. Non puoi richiedere PITR su un momento in cui l'istanza era una replica di lettura.

Se non riesci a eseguire il PITR perché l'istanza principale era una lettura replica al momento desiderato, dovrai tentare la richiesta PITR sulla che era come istanza principale attiva al momento dell'interesse.

Analogamente, puoi ripristinare un backup eseguito in un momento in cui la replica era un'istanza principale. Mentre l'istanza è una replica, il comando di ripristino deve scegliere come target un'istanza autonoma diversa e non può essere ripristinato replicare.

Per determinare quale istanza usare per la richiesta PITR, utilizza le operazioni dall'elenco di lettura. L'elenco delle operazioni per un'istanza può aiutare a determinare quando un'istanza sono state sottoposte a operazioni di cambio o failover della replica.

Split-Brain durante il failover della replica

È possibile che si verifichi " split-brain" quando l'istanza principale continua accettare scritture mentre una replica viene promossa utilizzando il failover della replica. Dopo il viene promossa, quando la vecchia istanza principale sarà di nuovo disponibile, viene ricreata come replica dell'istanza promossa e viene eseguito il backup finale. Questo il backup può essere usato per recuperare dati di tipo split-brain che non sono stati scritti replica promossa.

Eliminazione di backup e log delle transazioni sulle repliche

Se un'istanza principale che è stata abilitata con PITR e i backup diventa una risorsa automaticamente la replica, l'ultimo backup e criterio di conservazione PITR del periodo mentre l'istanza principale viene conservata e applicata durante il periodo come replica. Uniforme anche se la nuova istanza principale non sta eseguendo backup, i backup precedenti i log delle transazioni utilizzati per il PITR vengono eliminati nella replica di lettura in base l'ultimo criterio configurato.

Ad esempio, se l'istanza è configurata in modo da avere backup automatici giornalieri conserva 7 backup con 7 giorni di log PITR, poi quando questa istanza diventa un'istanza replica, tutti gli elementi più vecchi di 7 giorni vengono eliminati una volta al giorno.

Se devi eliminare i backup prima, puoi rimuoverli manualmente. Per ulteriori informazioni, vedi Eliminare un backup.

Limitazioni

  • La RE avanzata non è supportata per le istanze Cloud SQL che utilizzano Private Service Connect.
  • Non puoi specificare una replica di lettura per la versione Cloud SQL Enterprise Plus istanza come replica RE se l'istanza principale archivia i propri log delle transazioni per il recupero point-in-time (PITR) su disco. Per verificare dove si trova un'istanza archivia i propri log per PITR, Controlla la posizione di archiviazione dei log delle transazioni utilizzati per il PITR.
  • Non puoi designare una replica esterna come replica di RE.

Risoluzione dei problemi

Problema Risoluzione dei problemi
Operazione di cambio non riuscita.
  • Assicurati che l'istanza soddisfi tutti i requisiti di replica per RE dichiarati.
  • Controlla il volume delle transazioni nel database. Cambia protegge i log binari dell'istanza principale in Cloud Storage prima che esegue il cambio. Se il volume delle transazioni è elevato, l'operazione potrebbe scadere. Valuta la possibilità di riprovare l'operazione quando il carico della transazione in basso.
Il cambio non è riuscito e l'istanza principale è bloccata modalità di sola lettura. Esegui un riavvio del database per ripristinare l'istanza principale modalità di scrittura.
L'operazione di cambio è stata completata, ma la console Google Cloud non mostra nuovi ruoli invertiti per le istanze. Aggiorna il browser per visualizzare la topologia aggiornata.
Failover della replica non riuscito.
  • Assicurati che sia designata una replica di RE per l'istanza principale ed è online.
  • Se il failover alla replica RE non è riuscito, promuovi a un di lettura standard (non RE).
Impossibile capire se la replica non è in corso Connettiti alla replica e digita:
show slave status;
  • Se è in corso la replica, viene utilizzata la prima colonna "Slave_IO_State" mostra "Waiting for master to send event" e "Last_IO_Error" è vuoto.
  • Se la replica non viene eseguita, la prima colonna "Slave_IO_State" mostra "Connecting to master". e il campo "Last_IO_Error" mostra un errore simile a "error connecting to master 'cloudsqlreplica@x.x.x.x:3306".

Puoi anche visualizzare lo stato della replica delle repliche nel Dashboard di monitoraggio di Cloud SQL. Per saperne di più, consulta Monitorare le istanze Cloud SQL.

Hai ricevuto il seguente messaggio di errore:

"Instance was converted into a replica between the target PITR time and the last available base backup. PITR logs are not available for the period instance was a replica. Please clone from the instance that was primary at time %s"

Non puoi eseguire il PITR per un periodo di tempo in cui un'istanza è stata sottoposta il passaggio a una replica. I log PITR non sono disponibili per il momento in cui l'istanza era una replica.

  • Esamina l'elenco delle operazioni per l'istanza per determinare se l'istanza era una replica in quel momento
  • Utilizza l'elenco delle operazioni per determinare quale istanza era principale in quel momento.
  • Clonare l'istanza per eseguire il PITR.

Hai ricevuto il seguente messaggio di errore:

"You can only designate a disaster recovery (DR) replica for primary instances that are storing their PITR logs in Cloud Storage. PITR logs of the instance %s are not stored in Cloud Storage"

L'istanza principale non ha cambiato la posizione di archiviazione dell'istanza dei log delle transazioni in Cloud Storage. Puoi riprovare una volta modificata la posizione di archiviazione dei log delle transazioni, oppure puoi provare a designare una replica di RE per un'istanza principale diversa.

Per ulteriori informazioni sullo spostamento della posizione di archiviazione log delle transazioni utilizzati per il PITR, consulta Utilizzare recupero point-in-time (PITR).

Hai ricevuto il seguente messaggio di errore:

"The specified failover dr replica name REPLICA_NAME must be one of the replicas of the primary instance INSTANCE_NAME".

Per ulteriori informazioni su come designare una replica di RE e la sintassi del comando corretta, vedi Specifica la replica di RE per l'istanza principale.

Passaggi successivi