Altere o quórum de duas regiões

Esta página descreve como verificar o estado de funcionamento do quórum de duas regiões do Spanner e como alterar manualmente o quórum em caso de interrupções do serviço.

Para mais informações sobre as regiões duplas, consulte o artigo Configurações de instâncias de regiões duplas do Spanner.

Verifique o estado do quórum de dupla região

Pode verificar o estado do seu quórum de duas regiões das seguintes formas:

Na página de vista geral da base de dados

  1. Aceda à página Instâncias do Spanner na Google Cloud consola.

    Aceda à página Instâncias

  2. Clique no nome da instância que está numa configuração de duas regiões.

  3. Clique no nome da base de dados.

  4. Em Vista geral, procure a linha Quorum, que mostra o estado do quórum de duas regiões da sua instância:

    • Se o quórum for atingido em ambas as regiões, o estado mostra Região dupla.

    • Se tiver sido feita uma comutação por falha manual ou gerida pela Google, é apresentado o nome da região de publicação (por exemplo, asia-south1).

Use o painel de controlo de estatísticas do sistema

Depois de criar uma configuração de dupla região, pode ver a métrica Linha cronológica do estado do quórum de dupla região no painel de controlo Estatísticas do sistema ao nível da instância.

Para mais informações, consulte o artigo Veja o painel de controlo de estatísticas do sistema.

Use a API REST Monitoring ou a CLI gcloud

Pode usar a API REST Monitoring ou a CLI gcloud para verificar o estado do seu quorum de duas regiões.

API REST do Monitoring

Use a API Monitoring projects.timeSeries.list para consultar a cronologia do estado do quórum de duas regiões para verificar se uma região está em bom estado num determinado momento.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do seu projeto.
  • DUAL_REGION_LOCATION: a localização da região na região dupla que quer verificar.
  • START_TIME: a hora de início da consulta. Recomendamos que use 5 minutos antes da hora atual.
  • END_TIME: a hora de fim da consulta. Recomendamos que use a hora atual.

Método HTTP e URL:

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

Corpo JSON do pedido:

{
  "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"
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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 não vir uma resposta semelhante, a sua região pode não estar em bom estado e pode ter de alterar o quórum de duas regiões de duas regiões para uma única região.

CLI gcloud

  1. Transfira o ficheiro dual-region-quorum-health-check-script.sh.

    Este script bash verifica o estado de funcionamento da região da sua única região. Se a região estiver em bom estado, o script executa o comando gcloud spanner databases change-quorum para fazer manualmente a comutação por falha do quórum de duas regiões de duas regiões para uma única região.

  2. Substitua as seguintes variáveis no script:

    • PROJECT: o ID do seu projeto.
    • INSTANCE: o ID da instância.
    • DATABASE: o ID da base de dados.
    • SERVING_LOCATION: a localização da região na região dupla que quer verificar.
  3. Execute o script no ambiente de programação à sua escolha. Para mais informações, consulte Instale a CLI Google Cloud e configure a API Spanner.

  4. Regresse manualmente se a sua região estiver em mau estado e tiver ocorrido uma comutação por falha.

Altere o quórum de duas regiões de duas regiões para uma única região (failover)

Para fazer a comutação por falha manualmente se houver uma falha regional ou um problema de partição de rede:

Google Cloud consola

  1. Aceda à página Instâncias do Spanner na Google Cloud consola.

    Aceda à página Instâncias

  2. Clique no nome da instância que está numa configuração de duas regiões.

  3. Clique em Estatísticas do sistema no menu de navegação.

  4. Encontre a métrica Linha cronológica de saúde do quórum de duas regiões.

  5. Se a cronologia de estado do quórum de dupla região mostrar que existe uma interrupção numa região, clique em Alterar quórum de região.

    O Cloud Shell é aberto.

  6. Para alterar o quórum de duas regiões de duas regiões para uma única região, introduza o seguinte comando encontrado no separador da CLI gcloud: gcloud spanner databases change-quorum. Para obter instruções detalhadas, consulte o separador gcloud.

CLI gcloud

Use o comando gcloud spanner databases change-quorum para alterar o quórum de duas regiões de duas regiões para uma única região.

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

Substitua o seguinte:

  • DATABASE_ID: o identificador permanente da base de dados.

  • INSTANCE_ID: o identificador permanente da instância.

  • SERVING_LOCATION: a configuração da instância regional para a qual quer fazer failover. Por exemplo, se asia-south1(Mumbai) não estiver em bom estado e quiser fazer failover para asia-south2 (Deli), introduza asia-south2. Certifique-se de que SERVING_LOCATION é a região saudável. A escolha de uma região errada para a comutação por falha resulta na indisponibilidade da base de dados, que é irrecuperável antes de a região voltar a estar online.

Sinalizadores opcionais:

  • --etag=ETAG: o argumento ETAG pode ser usado para proteção contra repetição.

Para verificar o estado da operação de alteração do quórum, execute o comando gcloud spanner databases describe. O campo quorumInfo fornece informações sobre a operação.

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

Altere o quórum de região dupla de região única para região dupla (recuperação)

Para fazer o failback manualmente depois de a região interrompida estar em bom estado ou depois de o problema de partição de rede estar resolvido:

Google Cloud consola

  1. Aceda à página Instâncias do Spanner na Google Cloud consola.

    Aceda à página Instâncias

  2. Clique no nome da instância que está numa configuração de duas regiões.

  3. Clique em Estatísticas do sistema no menu de navegação.

  4. Encontre a métrica Linha cronológica de saúde do quórum de duas regiões.

  5. Na cronologia do estado do quórum de duas regiões, clique em Alterar quórum de regiões.

    O Cloud Shell é aberto.

  6. Para alterar o quórum de região dupla de uma única região para uma região dupla, introduza o seguinte comando encontrado no separador da CLI gcloud: gcloud spanner databases change-quorum. Para obter instruções detalhadas, consulte o separador gcloud.

CLI gcloud

Use o comando gcloud spanner databases change-quorum para alterar o quórum de região dupla de região única para uma região dupla.

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

Substitua o seguinte:

  • DATABASE_ID: o identificador permanente da base de dados.

  • INSTANCE_ID: o identificador permanente da instância.

Sinalizadores opcionais:

  • --etag=ETAG: o argumento ETAG pode ser usado para o controlo de concorrência otimista.

Para verificar o estado da operação de alteração do quórum, execute o comando gcloud spanner databases describe. O campo quorumInfo fornece informações sobre a operação.

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

O que se segue?