Mudar o quórum birregional

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

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

Verificar o status do quórum birregional

É possível verificar o status do quórum birregional das seguintes maneiras:

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

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

    Acessar a página "Instâncias"

  2. Clique no nome da instância que está em uma configuração birregional.

  3. Clique no nome do banco de dados.

  4. Em "Visão geral", procure a linha Quorum, que mostra o status do quórum birregional da instância:

    • Se o quórum for atendido nas duas regiões, o status mostrará Birregional.

    • Se um failover manual ou gerenciado pelo Google tiver sido realizado, você verá o nome da região de serviço (por exemplo, asia-south1).

Usar o painel de insights do sistema

Depois de criar uma configuração birregional, é possível conferir a métrica Cronograma de integridade do quórum birregional no painel de insights do sistema no nível da instância.

Para mais informações, consulte Conferir 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 birregional.

API REST do Monitoring

Use a API projects.timeSeries.list do Monitoring para consultar o Cronograma de integridade do quórum birregional e verificar se uma região está íntegra 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 birregional 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 receber uma resposta semelhante, sua região poderá não estar íntegra e talvez seja necessário mudar o quórum birregional para uma região única.

CLI gcloud

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

    Esse script bash verifica a integridade da região única. Se a região estiver íntegra, o script executará o gcloud spanner databases change-quorum comando para fazer o failover manual do quórum birregional para uma região única.

  2. Substitua as seguintes variáveis no script:

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

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

Mudar o quórum birregional para uma região única (failover)

Para fazer o failover manual em caso de interrupção regional ou problema de particionamento de rede:

Google Cloud Console do

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

    Acessar a página "Instâncias"

  2. Clique no nome da instância que está em uma configuração birregional.

  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 o quórum da região.

    O Cloud Shell será aberto.

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

CLI gcloud

Use o gcloud spanner databases change-quorum comando para mudar o quórum birregional para uma região única.

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: o identificador permanente da instância.

  • SERVING_LOCATION: a configuração da instância regional para a qual você quer fazer o failover. Por exemplo, se asia-south1 (Mumbai) não estiver íntegra e você quiser fazer o failover para asia-south2 (Delhi), insira asia-south2. Verifique se 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 ETAG argumento pode ser usado para proteção de reprodução.

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

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

Mudar o quórum birregional de uma região única para uma região birregional (failback)

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

Google Cloud Console do

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

    Acessar a página "Instâncias"

  2. Clique no nome da instância que está em uma configuração birregional.

  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 o quórum da região.

    O Cloud Shell será aberto.

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

CLI gcloud

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

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: o identificador permanente da instância.

Sinalizações opcionais:

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

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

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

A seguir

  • Saiba mais sobre as configurações de instâncias birregionais .