Modifica il quorum per due regioni

Questa pagina descrive come controllare lo stato di salute del quorum a due regioni di Spanner e come modificare manualmente il quorum in caso di interruzioni del servizio.

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

Verificare lo stato del quorum per due regioni

Puoi controllare lo stato del quorum a due regioni 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 in una configurazione a due regioni.

  3. Fai clic sul nome del database.

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

    • Se il quorum è soddisfatto in entrambe le regioni, lo stato mostra Doppia regione.

    • Se è stato eseguito un failover manuale o gestito da Google, vedrai nome della regione servita (ad es. asia-south1).

Utilizza la dashboard degli insight sul sistema

Dopo aver creato una configurazione a due regioni, puoi visualizzare la metrica Disponibilità quorum a due regioni nella dashboard Approfondimenti di sistema a livello di istanza.

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

Utilizza l'API REST di monitoraggio o gcloud CLI

Puoi utilizzare l'API REST di monitoraggio o gcloud CLI per controllare l'integrità del quorum a due regioni.

API REST di monitoraggio

Utilizzare Monitoring projects.timeSeries.list API per eseguire query sulla disponibilità del quorum a due regioni per verificare se una regione è integra in un determinato momento.

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

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

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 delle seguenti 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 in stato attivo e potrebbe essere necessario modificare il quorum a due regioni in modo che sia a una sola regione.

Interfaccia a riga di comando gcloud

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

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

  2. Sostituisci le seguenti variabili nello script:

    • PROJECT: il tuo ID progetto.
    • INSTANCE: il tuo ID istanza.
    • DATABASE: l'ID del tuo database.
    • SERVING_LOCATION: la località della regione a due regioni che che vuoi controllare.
  3. Esegui lo script nell'ambiente di sviluppo che preferisci. Per maggiori informazioni le informazioni, vedi Installa Google Cloud CLI e configura l'API Spanner.

  4. Esegui il failback manuale se la regione non era integro e presenta era un failover.

Modificare il quorum a due regioni in modo che sia a una regione (failover)

Eseguire il failover manualmente in caso di interruzione a livello di regione o partizionamento della rete problema:

Console Google Cloud

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

    Vai alla pagina Istanze

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

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

  4. Trova la metrica Disponibilità del quorum a due regioni.

  5. Se la metrica di disponibilità del quorum per due regioni mostra che esistono interruzioni in una regione, fai clic su Icona del pulsante Attiva Cloud Shell Attiva Cloud Shell nella parte superiore della console Google Cloud.

    Si apre Cloud Shell.

  6. Per modificare il quorum a due regioni in un quorum a una regione, invia il seguente comando disponibile nella scheda della CLI di gcloud: gcloud spanner databases change-quorum. Per istruzioni dettagliate, consulta la scheda gcloud.

Interfaccia a riga di comando gcloud

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

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 per l'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 a asia-south2 (Delhi), inserisci asia-south2. Assicurati che SERVING_LOCATION sia la regione sana. La scelta di una regione errata per il failover comporta l'interruzione del servizio del database, che non è recuperabile prima che la regione sia di nuovo online.

Flag facoltativi:

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

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 regione singola a due regioni (failback)

Per eseguire il failover manuale dopo che la regione interessata è integro o dopo la rete di partizione è 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 sul sistema nel menu di navigazione.

  4. Trova la metrica Disponibilità del quorum a due regioni.

  5. Nella metrica Disponibilità del quorum a due regioni, fai clic su Cambia quorum regione.

    Si apre Cloud Shell.

  6. Per cambiare il quorum di due regioni da due regioni a una singola regione, inserisci il comando seguente nella scheda gcloud CLI: gcloud spanner databases change-quorum. Per istruzioni dettagliate, consulta la scheda gcloud.

Interfaccia a riga di comando gcloud

Utilizza la gcloud spanner databases change-quorum per modificare il quorum a due regioni da una regione singola a una 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 per l'istanza.

Flag facoltativi:

  • --etag=ETAG: ETAG per un controllo ottimistico della contemporaneità.

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