Modificare il quorum a due regioni

Questa pagina descrive come controllare lo stato di integrità del quorum dual-region di Spanner e come modificare manualmente il quorum in caso di interruzioni del servizio.

Per saperne di più sulle istanze a due regioni, consulta Configurazioni di istanze a due regioni di Spanner.

Controllare lo stato del quorum a due regioni

Puoi controllare lo stato del quorum a doppia regione nei seguenti modi:

Nella pagina Panoramica del database

  1. Vai alla pagina Istanze Spanner nella console Google Cloud .

    Vai alla pagina Istanze

  2. Fai clic sul nome dell'istanza che si trova in una configurazione multiregionale.

  3. Fai clic sul nome del database.

  4. In Panoramica, cerca la riga Quorum, che mostra lo stato del quorum della tua istanza nelle due regioni:

    • Se il quorum viene raggiunto in entrambe le regioni, lo stato mostra Doppia regione.

    • Se è stato eseguito un failover manuale o gestito da Google, viene visualizzato il nome della regione di pubblicazione (ad esempio asia-south1).

Utilizzare la dashboard Approfondimenti di sistema

Dopo aver creato una configurazione multiregionale, puoi visualizzare la metrica Cronologia dell'integrità del quorum multiregionale nel dashboard Approfondimenti di sistema a livello di istanza.

Per saperne di più, consulta Visualizzare la dashboard degli approfondimenti del sistema.

Utilizza l'API REST di Monitoring o gcloud CLI

Puoi utilizzare l'API REST di Monitoring o gcloud CLI per controllare l'integrità del quorum a doppia regione.

API REST di Monitoring

Utilizza l'API Monitoring projects.timeSeries.list per eseguire query sulla sequenza temporale dell'integrità del quorum a due regioni per verificare se una regione è integra in un determinato momento.

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

  • PROJECT_ID: il tuo ID progetto.
  • DUAL_REGION_LOCATION: la posizione della regione nella regione doppia che vuoi controllare.
  • START_TIME: l'ora di inizio della query. Ti consigliamo di utilizzare 5 minuti prima dell'ora attuale.
  • END_TIME: l'ora di fine della query. Ti consigliamo di utilizzare l'ora attuale.

Metodo HTTP e URL:

GET https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries

Corpo JSON della richiesta:

{
  "name": "PROJECT_ID",
  "aggregation.alignmentPeriod": "60s",
  "aggregation.crossSeriesReducer": "REDUCE_FRACTION_TRUE",
  "aggregation.groupByFields": "resource.labels.location",
  "aggregation.perSeriesAligner": "ALIGN_NEXT_OLDER",
  "filter": "metric.labels.quorum_availability = "Healthy" AND metric.type = "spanner.googleapis.com/instance/dual_region_quorum_availability" AND resource.labels.location = "DUAL_REGION_LOCATION"",
  "interval.startTime": "START_TIME",
  "interval.endTime": "END_TIME"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "timeSeries": [
    {
      "metric": {
        "type": "spanner.googleapis.com/instance/dual_region_quorum_availability"
      },
      "resource": {
        "type": "spanner_instance",
        "labels": {
          "project_id": "spanner-project",
          "location": "australia-southeast1"
        }
      },
      "metricKind": "GAUGE",
      "valueType": "DOUBLE",
      "points": [
        {
          "interval": {
            "startTime": "2024-07-11T05:41:23Z",
            "endTime": "2024-07-11T05:41:23Z"
          },
          "value": {
            "doubleValue": 1
          }
        }
      ]
    }
  ],
  "unit": "10^2.%"
}

Se non vedi una risposta simile, la tua regione potrebbe non essere integra e potrebbe essere necessario modificare il quorum a due regioni da due regioni a una regione singola.

Interfaccia a riga di comando gcloud

  1. Scarica il file dual-region-quorum-health-check-script.sh.

    Questo script bash controlla l'integrità della regione singola. Se la regione è integra, lo script esegue il comando gcloud spanner databases change-quorum per eseguire manualmente il failover del quorum a due regioni da due regioni a una sola regione.

  2. Sostituisci le seguenti variabili nello script:

    • PROJECT: il tuo ID progetto.
    • INSTANCE: il tuo ID istanza.
    • DATABASE: il tuo ID database.
    • SERVING_LOCATION: la posizione della regione nella regione doppia che vuoi controllare.
  3. Esegui lo script nell'ambiente di sviluppo che preferisci. Per saperne di più, vedi Installare gcloud CLI e configurare l'API Spanner.

  4. Esegui manualmente il failback se la tua regione non era integra ed è stato eseguito un failover.

Modificare il quorum a due regioni da due regioni a una regione singola (failover)

Per eseguire il failover manualmente in caso di interruzione regionale o problema di partizionamento della rete:

Console Google Cloud

  1. Vai alla pagina Istanze Spanner nella console Google Cloud .

    Vai alla pagina Istanze

  2. Fai clic sul nome dell'istanza che si trova in una configurazione a due regioni.

  3. Fai clic su Approfondimenti di sistema nel menu di navigazione.

  4. Trova la metrica Sequenza temporale dell'integrità del quorum a due regioni.

  5. Se la sequenza temporale dell'integrità del quorum a due regioni mostra un'interruzione in una regione, fai clic su Modifica quorum regione.

    Si apre Cloud Shell.

  6. Per modificare il quorum a doppia regione da doppia regione a una singola regione, inserisci il seguente comando riportato nella scheda gcloud CLI: gcloud spanner databases change-quorum. Per istruzioni dettagliate, consulta la scheda gcloud.

Interfaccia a riga di comando gcloud

Utilizza il comando gcloud spanner databases change-quorum per modificare il quorum a due regioni da due regioni a una singola regione.

gcloud spanner databases change-quorum
    DATABASE_ID --instance=INSTANCE_ID
    --single-region --serving-location=SERVING_LOCATION
    [--etag=ETAG]

Sostituisci quanto segue:

  • DATABASE_ID: l'identificatore permanente del database.

  • INSTANCE_ID: l'identificatore permanente dell'istanza.

  • SERVING_LOCATION: La configurazione dell'istanza regionale a cui vuoi eseguire il failover. Ad esempio, se asia-south1 (Mumbai) non è integro e vuoi eseguire il failover su asia-south2 (Delhi), inserisci asia-south2. Assicurati che SERVING_LOCATION sia la regione integra. La scelta di una regione errata per il failover comporta l'indisponibilità del database, che non è recuperabile prima che la regione torni online.

Flag facoltativi:

  • --etag=ETAG: l'argomento ETAG può essere utilizzato per la protezione dalla riproduzione.

Per controllare lo stato dell'operazione di modifica del quorum, esegui il comando gcloud spanner databases describe. Il campo quorumInfo fornisce informazioni sull'operazione.

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

Modificare il quorum a due regioni da una singola regione a due regioni (failback)

Per eseguire manualmente il failback dopo che la regione interrotta è integra o dopo che il problema di partizione di rete è stato risolto:

Console Google Cloud

  1. Vai alla pagina Istanze Spanner nella console Google Cloud .

    Vai alla pagina Istanze

  2. Fai clic sul nome dell'istanza che si trova in una configurazione a due regioni.

  3. Fai clic su Approfondimenti di sistema nel menu di navigazione.

  4. Trova la metrica Sequenza temporale dell'integrità del quorum a due regioni.

  5. Nella sequenza temporale dell'integrità del quorum a due regioni, fai clic su Modifica quorum regione.

    Si apre Cloud Shell.

  6. Per modificare il quorum a doppia regione da una singola regione a una doppia regione, inserisci il seguente comando riportato nella scheda gcloud CLI: gcloud spanner databases change-quorum. Per istruzioni dettagliate, consulta la scheda gcloud.

Interfaccia a riga di comando gcloud

Utilizza il comando gcloud spanner databases change-quorum per modificare il quorum a due regioni da una singola regione a una regione doppia.

gcloud spanner databases change-quorum
    DATABASE_ID --instance=INSTANCE_ID
    --dual-region
    [--etag=ETAG]

Sostituisci quanto segue:

  • DATABASE_ID: l'identificatore permanente del database.

  • INSTANCE_ID: l'identificatore permanente dell'istanza.

Flag facoltativi:

  • --etag=ETAG: l'argomento ETAG può essere utilizzato per controllo della contemporaneità ottimistico.

Per controllare lo stato dell'operazione di modifica del quorum, esegui il comando gcloud spanner databases describe. Il campo quorumInfo fornisce informazioni sull'operazione.

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

Passaggi successivi