Gerenciar a replicação assíncrona do disco permanente


Neste documento, descrevemos como iniciar e interromper a replicação assíncrona do disco permanente (DP).

A replicação assíncrona de DP é útil para recuperação de desastres de baixo RPO e RTO. Para saber mais sobre replicação assíncrona, consulte Sobre replicação assíncrona de disco permanente.

Limitações

  • Um disco principal só pode ser replicado para um disco secundário por vez.
  • Após a interrupção da replicação, não será possível retomar a replicação para o mesmo disco. Crie um novo disco secundário e reinicie a replicação.
  • Não é possível anexar, excluir ou criar snapshots dos discos secundários enquanto eles estão no processo de replicação.
  • Se você usar um disco regional como disco secundário e ocorrer uma falha temporária zonal em uma das zonas do disco secundário, a replicação do disco primário para o disco secundário falhará.

Antes de começar

  • Se você precisar alinhar a replicação em vários discos, crie um grupo de consistência.
  • Crie um disco principal.
  • Crie um disco secundário.
  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine da seguinte maneira.

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init
    2. Defina uma região e uma zona padrão.

    REST

    Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init

Iniciar replicação

Inicie a replicação usando o console do Google Cloud, o Google Cloud CLI ou o REST.

Console

  1. No console do Google Cloud, acesse a página Replicação assíncrona.

    Acessar "Replicação assíncrona"

  2. Clique no nome do disco secundário em que você quer iniciar a replicação.

  3. Clique em Iniciar replicação. A janela Start replicação é aberta.

  4. Clique em Iniciar replicação.

gcloud

Inicie a replicação usando o comando gcloud compute disks start-async-replication:

gcloud compute disks start-async-replication PRIMARY_DISK_NAME \
    --PRIMARY_LOCATION_FLAG=PRIMARY_LOCATION \
    --secondary-disk=SECONDARY_DISK_NAME \
    --SECONDARY_LOCATION_FLAG=SECONDARY_LOCATION \
    --secondary-disk-project=SECONDARY_PROJECT

Substitua:

  • PRIMARY_DISK_NAME: o nome do disco principal.
  • PRIMARY_LOCATION_FLAG: a sinalização de localização do disco principal. Para discos regionais, use --region. Para discos zonais, use --zone.
  • PRIMARY_LOCATION: a região ou zona do disco principal. Para discos regionais, use a região. Para discos zonais, use a zona.
  • SECONDARY_DISK_NAME: o nome do disco secundário.
  • SECONDARY_LOCATION_FLAG: a sinalização de localização do disco secundário. Para discos regionais, use --secondary-disk-region. Para discos zonais, use --secondary-disk-zone.
  • SECONDARY_LOCATION: a região ou zona do disco secundário. Para discos regionais, use a região. Para discos zonais, use a zona.
  • SECONDARY_PROJECT: o projeto que contém o disco secundário.

REST

Inicie a replicação usando um dos seguintes métodos:

  • Inicie a replicação para discos zonais usando o método disks.startAsyncReplication:

    POST https://compute.googleapis.com/compute/v1/projects/PRIMARY_DISK_PROJECT/zones/PRIMARY_LOCATION/disks/PRIMARY_DISK_NAME/startAsyncReplication
    
    {
    "asyncSecondaryDisk": "projects/SECONDARY_DISK_PROJECT/SECONDARY_LOCATION_PARAMETER/SECONDARY_LOCATION/disks/SECONDARY_DISK_NAME"
    }
    
  • Inicie a replicação para discos regionais usando o método regionDisks.startAsyncReplication:

    POST https://compute.googleapis.com/compute/v1/projects/PRIMARY_DISK_PROJECT/regions/PRIMARY_LOCATION/regionDisks/PRIMARY_DISK_NAME/startAsyncReplication
    
    {
    "asyncSecondaryDisk": "projects/SECONDARY_DISK_PROJECT/SECONDARY_LOCATION_PARAMETER/SECONDARY_LOCATION/disks/SECONDARY_DISK_NAME"
    }
    

Substitua:

  • PRIMARY_DISK_PROJECT: o projeto que contém o disco principal.
  • PRIMARY_LOCATION: a região ou zona do disco principal. Para discos regionais, use a região. Para discos zonais, use a zona.
  • PRIMARY_DISK_NAME: o nome do disco principal.
  • SECONDARY_DISK_PROJECT: o projeto que contém o disco secundário.
  • SECONDARY_LOCATION_PARAMETER: o parâmetro de localização do disco secundário. Para discos regionais, use regions. Para discos zonais, use zones.
  • SECONDARY_LOCATION: a região ou zona do disco secundário. Para discos regionais, use a região. Para discos zonais, use a zona.
  • SECONDARY_DISK_NAME: o nome do disco secundário.

Parar replicação

É possível interromper a replicação para um único disco primário ou secundário ou para todos os discos em um grupo de consistência. Se você interromper a replicação de um único disco em um grupo de consistência, o tempo de replicação desse disco vai ficar dessincronizado com os outros discos no grupo de consistência.

A interrupção da replicação é realizada nos cenários failover e failback. Se você interromper a replicação, não será possível reiniciá-la no mesmo disco secundário. Se você quiser reiniciar a replicação, crie um novo disco secundário e comece novamente.

Quando você interrompe a replicação em um disco, o estado de replicação do disco muda para STOPPED. O estado de replicação do outro disco no par de replicações do disco (o disco principal ou secundário correspondente) é atualizado para STOPPED posteriormente. Se você quiser evitar a lacuna de tempo e atualizar o estado de replicação do outro disco imediatamente para STOPPED, também será necessário interromper a replicação manualmente no outro disco. A interrupção da replicação nos dois discos não afeta o momento em que a replicação é interrompida, apenas os estados de replicação dos discos.

Parar a replicação para um único disco

Interrompa a replicação de um único disco usando o console do Google Cloud, a Google Cloud CLI ou o REST.

Console

Para interromper a replicação, faça o seguinte:

  1. No console do Google Cloud, acesse a página Replicação assíncrona.

    Acessar "Replicação assíncrona"

  2. Clique no nome do disco primário ou secundário em que você quer interromper a replicação. A página Gerenciar disco é aberta.

  3. Clique em Encerrar replicação. A janela Encerrar replicação é aberta.

  4. Clique em Encerrar replicação.

gcloud

Interrompa a replicação usando o comando gcloud compute disks stop-async-replication:

gcloud compute disks stop-async-replication DISK_NAME \
    --LOCATION_FLAG=LOCATION

Substitua:

  • DISK_NAME: o nome do disco.
  • LOCATION_FLAG: a sinalização de localização do disco. Para um disco regional, use --region. Para um disco zonal, use --zone.
  • LOCATION: a região ou zona do disco. Para discos regionais, use a região. Para discos zonais, use a zona.

REST

Pare a replicação usando um dos seguintes métodos:

  • Interrompa a replicação para discos zonais usando o método disks.stopAsyncReplication:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/DISK_NAME/stopAsyncReplication
    {
    }
    
  • Interrompa a replicação para discos regionais usando o método regionDisks.stopAsyncReplication:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/regionDisks/DISK_NAME/stopAsyncReplication
    {
    }
    

Substitua:

  • PROJECT: o projeto que contém o disco.
  • DISK_NAME: o nome do disco.
  • LOCATION: a zona ou região do disco. Para discos zonais, use a zona. Para discos regionais, use a região.

Parar a replicação para um grupo de consistência

Interrompa a replicação de todos os discos em um grupo de consistência usando o console do Google Cloud, a Google Cloud CLI ou o REST.

Console

Para interromper a replicação para todos os discos em um grupo de consistência, faça o seguinte:

  1. No console do Google Cloud, acesse a página Replicação assíncrona.

    Acessar "Replicação assíncrona"

  2. Clique na guia Grupos de consistência.

  3. Clique no nome do grupo de consistência para interromper a replicação. A página Gerenciar grupo de consistência é aberta.

  4. Clique em Encerrar replicação. A janela Encerrar replicação é aberta.

  5. Clique em Encerrar replicação.

gcloud

Interrompa a replicação para todos os discos em um grupo de consistência usando o comando gcloud compute disks stop-group-async-replication:

gcloud compute disks stop-group-async-replication CONSISTENCY_GROUP \
--LOCATION_FLAG=LOCATION

Substitua:

  • CONSISTENCY_GROUP: o URL do grupo de consistência. Por exemplo, projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME.
  • LOCATION_FLAG: a sinalização de localização dos discos no grupo de consistência. Para discos regionais, use --region. Para discos zonais, use --zone.
  • LOCATION: a região ou zona do disco. Para discos regionais, use a região. Para discos zonais, use a zona.

REST

Pare a replicação para todos os discos em um grupo de consistência usando um dos seguintes métodos:

  • Interrompa a replicação para discos zonais usando o método disks.stopGroupAsyncReplication:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/stopGroupAsyncReplication
    {
    "resourcePolicy": "CONSISTENCY_GROUP"
    }
    
  • Interrompa a replicação para discos regionais usando o método regionDisks.stopGroupAsyncReplication:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/regionDisks/DISK_NAME/stopAsyncReplication
    {
    "resourcePolicy": "CONSISTENCY_GROUP"
    }
    

Substitua:

  • DISK_NAME: o nome do disco.
  • LOCATION: a zona ou região do disco. Para discos zonais, use a zona. Para discos regionais, use a região.
  • CONSISTENCY_GROUP: o URL do grupo de consistência. Por exemplo, projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME.

A seguir