Mudar o quórum de regiões duplas

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

Para mais informações sobre locais birregionais, consulte Configurações de instâncias birregionais do Spanner.

Verificar o status do quórum birregional

É possível verificar o status do quórum de duas regiões da seguinte maneira:

Na página "Visão geral do banco de dados"

  1. Acesse a página Instâncias do Spanner no console do Google Cloud .

    Acessar a página "Instâncias"

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

  3. Clique no nome do banco de dados.

  4. Em "Visão geral", procure a linha Quórum, que mostra o status de quórum de região dupla da sua instância:

    • Se o quórum for atendido em ambas as regiões, o status será Birregional.

    • Se um failover manual ou gerenciado pelo Google tiver sido realizado, o nome da região de exibição vai aparecer (por exemplo, asia-south1).

Usar o painel "Insights do sistema"

Depois de criar uma configuração de duas regiões, você pode conferir a métrica Cronologia de integridade do quórum de duas regiões no painel "Insights do sistema no nível da instância".

Para mais informações, consulte Acessar o painel de insights do sistema.

Usar a API REST do Monitoring ou a CLI gcloud

É possível usar a API REST do Monitoring ou a CLI gcloud para verificar a integridade do quórum de duas regiões.

API REST de monitoramento

Use a API projects.timeSeries.list de monitoramento para consultar o cronograma de integridade do quórum birregional e verificar se uma região está em bom estado em um determinado momento.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto.
  • DUAL_REGION_LOCATION: o local da região na região dupla que você quer verificar.
  • START_TIME: o horário de início da consulta. Recomendamos usar 5 minutos antes do horário atual.
  • END_TIME: o horário de término da consulta. Recomendamos usar o horário atual.

Método HTTP e URL:

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

Corpo JSON da solicitação:

{
  "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 a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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 você não encontrar uma resposta semelhante, sua região pode não estar em bom estado e pode ser necessário mudar o quórum de região dupla para região única.

CLI da gcloud

  1. Faça o download do arquivo dual-region-quorum-health-check-script.sh.

    Esse script do Bash verifica a integridade da região. Se a região estiver íntegra, o script vai executar o comando gcloud spanner databases change-quorum para fazer o failover manual do quórum de duas regiões para uma única região.

  2. Substitua as seguintes variáveis no script:

    • PROJECT: o ID do projeto.
    • INSTANCE: o ID da sua instância.
    • DATABASE: o ID do seu banco de dados.
    • SERVING_LOCATION: o local da região na região dupla que você quer verificar.
  3. Execute o script no ambiente de desenvolvimento que você escolher. Para mais informações, consulte Instalar a Google Cloud CLI e configurar a API Spanner.

  4. Failback manual se a região não estiver íntegra e houver um failover.

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

Para fazer o failover manualmente se houver uma falha temporária regional ou um problema de partição de rede:

Google Cloud console

  1. Acesse a página Instâncias do Spanner no console do Google Cloud .

    Acessar a página "Instâncias"

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

  3. Clique em Insights do sistema no menu de navegação.

  4. Encontre a métrica Cronograma de integridade do quórum birregional.

  5. Se o cronograma de integridade do quórum birregional mostrar que há uma interrupção em uma região, clique em Mudar quórum da região.

    O Cloud Shell é aberto.

  6. Para mudar o quórum de duas regiões para uma única região, digite o comando abaixo na guia da CLI gcloud: gcloud spanner databases change-quorum. Para instruções detalhadas, consulte a guia gcloud.

CLI da gcloud

Use o comando gcloud spanner databases change-quorum para mudar o quórum 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:

  • DATABASE_ID: o identificador permanente do banco de dados.

  • INSTANCE_ID: identificador permanente da instância.

  • SERVING_LOCATION: a configuração de instância regional para a qual você quer fazer failover. Por exemplo, se asia-south1 (Mumbai) estiver inoperante e você quiser fazer failover para asia-south2 (Delhi), digite asia-south2. Verifique se o SERVING_LOCATION é a região íntegra. A escolha de uma região errada para o failover resulta na indisponibilidade do banco de dados, que não pode ser recuperada antes que a região volte a ficar on-line.

Sinalizações opcionais:

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

Para verificar o status da operação de mudança de 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

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

Para fazer o failback manualmente depois que a região interrompida estiver íntegra ou depois que o problema de partição de rede for resolvido:

Google Cloud console

  1. Acesse a página Instâncias do Spanner no console do Google Cloud .

    Acessar a página "Instâncias"

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

  3. Clique em Insights do sistema no menu de navegação.

  4. Encontre a métrica Cronograma de integridade do quórum birregional.

  5. No cronograma de integridade do quórum birregional, clique em Mudar quórum da região.

    O Cloud Shell é aberto.

  6. Para mudar o quórum de duas regiões para uma única região, digite o comando abaixo na guia da CLI gcloud: gcloud spanner databases change-quorum. Para instruções detalhadas, consulte a guia gcloud.

CLI da gcloud

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

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

Substitua:

  • DATABASE_ID: o identificador permanente do banco de dados.

  • INSTANCE_ID: identificador permanente da instância.

Sinalizações opcionais:

  • --etag=ETAG: o argumento ETAG pode ser usado para controle de simultaneidade otimista.

Para verificar o status da operação de mudança de 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

A seguir