Como adicionar ou redimensionar discos permanentes regionais

Nesta página, explicamos como adicionar e gerenciar recursos de armazenamento do disco permanente regional. Ao redimensionar um disco permanente regional, é possível apenas aumentar o tamanho dele, mas não reduzir.

Os discos permanentes regionais têm qualidades semelhantes aos discos permanentes zonais, mas diferem de várias maneiras:

  • É preciso ativá-los no modo de leitura/gravação (RW, na sigla em inglês). Eles não são compatíveis com o modo somente leitura (RO, na sigla em inglês).
  • Eles não podem ser usados como discos de inicialização.
  • Eles dão suporte à anexação forçada para outra instância de VM no caso de uma falha de zona.
  • É possível criar um disco permanente regional com base em um instantâneo, mas não em uma imagem.
  • Existem diferenças de desempenho, descritas no documento Opções de armazenamento.

O disco permanente regional oferece replicação síncrona de dados entre duas zonas em uma região. No caso improvável de uma falha da zona, o disco replicado poderá ser anexado à força à outra instância de VM na mesma zona ou na secundária, em que residem as réplicas do disco permanente regional correspondente. O tempo de anexação forçada é previsto para ocorrer em menos de um minuto.

O disco permanente regional é uma opção adequada a ser considerada ao projetar sistemas robustos e para serviços de banco de dados com estado, como MySQL e Postgres, que exigem alta disponibilidade.

Leia Opções de armazenamento do Compute Engine para comparar os recursos e o desempenho deles.

Cada disco permanente criado tem um tamanho de bloco físico padrão de 4 KB. Se o aplicativo de banco de dados exigir um aumento no tamanho do bloco físico, selecione 16 KB ao criar o disco. Esse recurso não é compatível com discos de inicialização. Se você quiser alterar o tamanho do bloco físico de um disco atual, capture um instantâneo do disco e crie um novo. Não edite diretamente o tamanho do bloco físico do disco.

Antes de começar

Limitações

Discos permanentes regionais têm as seguintes limitações:

  • É preciso ativá-los no modo de leitura/gravação (RW, na sigla em inglês). Eles não são compatíveis com o modo somente leitura (RO, na sigla em inglês).
  • Eles não podem ser usados como discos de inicialização.
  • É possível criar um disco permanente regional a partir de um instantâneo, mas não de uma imagem.

Como adicionar um disco permanente regional à instância

Crie um disco permanente padrão regional ou um disco permanente SSD regional e anexe-o a uma instância. Se você não tem nenhuma instância, primeiro é necessário criar e iniciar uma instância nova. É preciso criar a instância na mesma região em que estão os seus discos.

Console

É preciso criar um disco permanente regional para anexá-lo a uma instância existente. Não é possível criar discos permanentes regionais como discos de inicialização. Eles não podem ser anexados à força durante um failover.

Crie um disco permanente regional.

  1. Acesse a página "Discos".

    Acessar a página "Discos"

  2. Selecione o projeto.
  3. Clique em Criar disco.
  4. Especifique um nome para o disco.
  5. Escolha um tipo de disco.
  6. Marque a caixa Replicar este disco dentro da região.
  7. Selecione a região.

    Anote a região. É preciso selecionar a mesma região ao criar sua instância.

  8. Selecione duas zonas nessa região e clique em OK.

    É preciso selecionar duas zonas. Anote as zonas selecionadas. Você precisa anexar o disco à sua instância em uma dessas zonas.

  9. Escolha o tipo de fonte.

  10. Opcionalmente, escolha o tamanho do bloco físico (KB). O tamanho padrão do disco é de 4 KB. No entanto, é possível selecionar 16 KB no menu suspenso para aumentar o tamanho do bloco físico do disco.

  11. Selecione a criptografia.

  12. Clique em Criar para concluir a criação do seu disco.

Depois de criar um disco permanente regional, anexe-o à instância.

Ao anexar um disco, você receberá uma mensagem de erro se o disco estiver conectado a outra instância. Talvez seja necessário forçar a anexação. Para isso, marque a caixa Anexar à força no menu suspenso Discos adicionais.

Depois de anexar um novo disco a uma instância, é preciso formatar e ativar o disco para que o sistema operacional possa usar o espaço de armazenamento disponível.

gcloud

Crie e anexe um disco permanente regional com a ferramenta gcloud:

  1. Use o comando create para criar novos discos permanentes regionais. Se você precisar de um disco SSD permanente regional para taxa de transferência extra ou IOPS, inclua a sinalização --type e especifique pd-ssd. Opcionalmente, adicione a sinalização --physical-block-size para definir o tamanho do bloco físico.

    gcloud beta compute disks create [DISK_NAME] --size [DISK_SIZE] \
        --type [DISK_TYPE] \
        --region [REGION] \
        --replica-zones [ZONE1,ZONE2] \
        --physical-block-size [BLOCK_SIZE]
    

    em que:

    • [DISK_NAME] é o nome do novo disco;
    • [DISK_SIZE] é o tamanho do novo disco em GB;
    • [DISK_TYPE] é o tipo de disco permanente. pd-standard ou pd-ssd;
    • [REGION] é a região em que o disco regional residirá. Exemplo: europe-west1.
    • [ZONE1,ZONE2] são as zonas na região em que os dois discos estão localizados;
      É preciso selecionar duas zonas. Exemplo: europe-west1-a,europe-west1-b.
    • [BLOCK_SIZE] tem 4096 (4 KB) ou 16384 (16 KB). 4 KB é o tamanho do bloco físico padrão. 16 KB é um tamanho de bloco físico aumentado.

  2. Depois de criar o disco, anexe-o a qualquer instância em execução ou parada. Use o comando gcloud beta compute instances attach-disk e inclua a sinalização --disk-scope regional para indicar que o disco é regional:

    gcloud beta compute instances attach-disk [INSTANCE_NAME] \
        --disk [DISK_NAME] \
        --disk-scope regional
    

    em que:

    • [INSTANCE_NAME] é o nome da instância em que você está adicionando os novos discos permanentes regionais;
    • [DISK_NAME] é o nome do novo disco que você está anexando à instância;
    • --disk-scope está definido como regional.

    Depois de criar e anexar um novo disco a uma instância, é preciso formatar e ativar o disco para que o sistema operacional possa usar o espaço de armazenamento disponível.

  3. Use o comando gcloud beta compute disks describe para ver uma descrição do disco. A resposta incluirá o tamanho do bloco físico do disco.

API

  1. Na API, crie uma solicitação POST para criar um disco permanente regional. No corpo da solicitação compute.regionDisks.insert, inicialize um novo disco com um name de disco e as propriedades replicaZones. Para criar um disco vazio, não especifique nenhuma fonte de imagem ou de instantâneo. Opcionalmente, inclua a propriedade physicalBlockSizeBytes para definir o tamanho do bloco físico.

    POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]
    
    {
     "name": "[DISK_NAME]",
     "physicalBlockSizeBytes": "[BLOCK_SIZE]",
     "replicaZones": [
       "projects/[PROJECT_ID]/zones/[ZONE1]",
       "projects/[PROJECT_ID]/zones/[ZONE2]"
       ],
     }
    

    em que:

    • [PROJECT_ID] é o código do projeto;
    • [DISK_NAME] é o nome do novo disco;
    • [BLOCK_SIZE] tem 4096 (4 KB) ou 16384 (16 KB). 4 KB é o tamanho do bloco físico padrão. 16 KB é um tamanho de bloco físico aumentado;
    • [ZONE1] é a zona em que o novo disco está localizado; Esta é a mesma zona em que o disco será anexado a uma instância;
    • [ZONE2] é o local do disco de réplica.

  2. Na API, construa uma solicitação POST para o método compute.instances.attachDisk e inclua o URL no disco permanente que você acabou de criar:

    POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk
    
    {
     "source": "/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]"
    }
    

    em que:

    • [PROJECT_ID] é o código do projeto;
    • [ZONE] é a zona em que sua instância e o novo disco estão localizados;
    • [INSTANCE_NAME] é o nome da instância em que você está adicionando o novo disco permanente;
    • [DISK_NAME] é o nome do novo disco.

Depois de criar e anexar um novo disco a uma instância, é preciso formatar e ativar o disco para que o sistema operacional possa usar o espaço de armazenamento disponível.

Como acessar um disco permanente regional durante uma falha de zona

No improvável caso de uma interrupção zonal, o disco permanente regional pode ser transferido para uma instância de VM em outra zona por meio do comando de anexação forçada.

Se uma zona em que a instância de VM está em execução ficar indisponível, talvez seja impossível desanexar um disco da instância porque ela não pode ser alcançada para executar a operação de desanexação. A anexação forçada permite anexar um disco permanente regional a uma instância de VM, mesmo que esse disco esteja atualmente conectado a outra instância.

Depois de concluir a operação de anexação forçada, o Compute Engine impedirá que a VM original grave no disco. O uso da anexação forçada permite que você recupere com segurança o serviço e o acesso aos seus dados.

Uma gravação é confirmada novamente em uma VM somente quando persiste de maneira durável nas duas réplicas. Se uma das réplicas não estiver disponível, o Compute Engine só gravará na réplica íntegra. Quando a réplica não íntegra é colocada em backup conforme determinado pelo Compute Engine, ela é sincronizada de maneira transparente com a réplica em bom estado, e o modo de operação totalmente síncrono é retomado. Essa operação é transparente para uma VM.

No caso raro de as duas réplicas ficarem indisponíveis ao mesmo tempo ou a réplica íntegra ficar indisponível enquanto outra está sendo colocada em sincronia, o disco correspondente ficará indisponível.

Você também tem a opção de encerrar manualmente a instância depois de realizar a etapa de anexação forçada.

Falha intrazona

Também é possível forçar a anexação do seu disco permanente regional a uma instância de VM na mesma zona. Essa opção de failover intrazona está disponível para lidar com interrupções causadas por configuração incorreta da VM, uma atualização de sistema operacional incorreta ou outros modos de falha.

Console

Crie uma instância de VM no modo de espera e force a anexação de um disco a uma instância.

  1. Acesse a página "Instâncias de VM".

    Acessar a página "Instâncias de VM"

  2. Selecione o projeto.
  3. Especifique um Nome para sua instância.
  4. Selecione a região em que seu disco permanente reside.
  5. Selecione a zona alternativa em que seu disco foi anexado à instância da VM original.

    Seus discos são listados na página Discos.

  6. Clique em Gerenciamento, discos, redes, chaves SSH.
  7. Clique em Discos.
  8. Em Discos adicionais, clique em + Anexar disco existente.
  9. Selecione o disco permanente regional no menu suspenso.
  10. Marque a caixa para forçar a anexação do disco.
  11. Clique em Concluir.
  12. Clique em Criar para concluir a criação dessa instância.

    A nova instância aparecerá na página de instâncias da VM.
    Quando a zona se recuperar de sua interrupção, execute essas mesmas etapas para forçar a anexação de um disco à instância original.

gcloud

Na ferramenta gcloud, use o comando attach-disk para anexar o disco de réplica a uma instância de VM. Inclua a sinalização --force-attach e defina-a como True.

gcloud beta compute instances attach-disk [INSTANCE_NAME] \
    --disk [DISK_NAME] \
    --disk-scope [REGIONAL] \
    --force-attach [TRUE]

em que:

  • [INSTANCE_NAME] é o nome da nova instância da VM na região;
  • [DISK_NAME] é o nome do disco;
  • --disk-scope está definido como regional.

Depois de forçar a anexação do disco, ative os sistemas de arquivos no disco, se necessário. A instância pode usar o disco de anexação forçada para continuar as operações de leitura e gravação.

API

Crie uma solicitação POST para o método compute.instances.attachDisk e inclua o URL do disco permanente que você acabou de criar. O parâmetro de consulta forceAttach=true é necessário para anexar o disco à nova instância de VM, mesmo que a instância primária ainda tenha o disco.

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk?forceAttach=true

{
 "source": "projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]"
}

em que:

  • [PROJECT_ID] é o código do projeto;
  • [REGION] é a região em que a instância e o novo disco estão localizados;
  • [INSTANCE_NAME] é o nome da instância em que você está adicionando o novo disco permanente;
  • [DISK_NAME] é o nome do novo disco.

Depois de anexar o disco de réplica, ative os sistemas de arquivos nos discos, se necessário. A instância pode usar o disco de réplica para continuar as operações de leitura e gravação.

Como reescalonar um disco permanente regional

Você poderá reescalonar os discos, se instâncias com discos regionais permanentes exigirem mais espaço de armazenamento, IOPS ou capacidade. Se precisar separar seus dados em volumes exclusivos, crie vários discos secundários para a instância. Você pode reescalonar discos a qualquer momento, independentemente de o disco estar anexado a uma instância em execução.

O comando para reescalonar um disco permanente regional é idêntico ao reescalonamento de um disco permanente padrão, no entanto, há uma sinalização adicional para a região.

Console

Como reescalonar um disco permanente regional.

  1. Acesse a página "Discos".

    Acessar a página "Discos"

  2. Selecione o disco que você quer reescalonar.
  3. Clique em Editar no topo da página.
  4. Digite o tamanho do disco em GB.

    É possível aumentar o tamanho de um disco. Não é possível diminuí-lo.

  5. Clique em Salvar.
  6. Depois de reescalonar o disco, é preciso reescalonar o sistema de arquivos para que o sistema operacional possa acessar o espaço adicional.

    O novo tamanho do disco é exibido na lista de discos.

gcloud

Na ferramenta gcloud, use o comando disks resize. Especifique a sinalização --size com o tamanho de disco desejado em GB e a sinalização --region com a região em que o disco está localizado.

gcloud beta compute disks resize [DISK_NAME] \
    --region [DISK REGION] \
    --size [DISK_SIZE]

em que:

  • [DISK_NAME] é o nome do disco que você está reescalonando;
  • [DISK REGION] é a região em que o disco está localizado;
  • [DISK_SIZE] é o novo tamanho do disco em GB.

Depois de reescalonar o disco, é preciso reescalonar o sistema de arquivos para que o sistema operacional possa acessar o espaço adicional.

API

Na API, crie uma solicitação POST para o método compute.regionDisks.resize. No corpo da solicitação, especifique o parâmetro sizeGb e defina-o com o tamanho de disco desejado em GB.

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]/resize

{
 "sizeGb": "[DISK_SIZE]"
}

em que:

  • [PROJECT_ID] é o código do projeto;
  • [REGION] é a região em que o disco está localizado;
  • [DISK_NAME] é o nome do disco que você está reescalonando;
  • [DISK_SIZE] é o novo tamanho do disco em GB.

Depois de reescalonar o disco, é preciso reescalonar o sistema de arquivos para que o sistema operacional possa acessar o espaço adicional.

Migrar um disco permanente zonal para um disco permanente regional

Para converter seus discos permanentes zonais existentes em discos persistentes regionais, faça um instantâneo do disco permanente atual e crie um regional a partir do instantâneo.

gcloud

Na ferramenta gcloud, use o comando disks snapshot e especifique as sinalizações --zone e --snapshot-name.

gcloud compute disks snapshot [DISK_NAME] /
    --zone [DISK_ZONE] /
    --snapshot-name [SNAPSHOT_DISK_NAME]

em que:

  • [DISK_NAME] é o nome do disco que terá o instantâneo capturado;
  • [DISK_ZONE] é a zona em que o disco reside;
  • [SNAPSHOT_DISK_NAME] é o nome do disco recém-criado.

Crie um disco regional a partir de um instantâneo do disco zonal usando gcloud beta compute disks create. Especifique o nome do disco e as sinalizações --region, --replica-zones e --source-snapshot.

gcloud beta compute disks create [DISK_NAME] \
    --region [DISK_REGION] \
    --replica-zones [ZONE1,ZONE2] \
    --source-snapshot [SNAPSHOT_DISK_NAME]

em que:

  • [DISK_NAME] é o nome do novo disco;
  • [DISK_REGION] é a região em que o disco residirá;
  • [ZONE1,ZONE2] são as zonas em que os discos replicados residirão;
  • [SNAPSHOT_DISK_NAME] é o nome do disco de instantâneo de origem.

Você pode usar o mesmo método e migrar discos regionais para discos zonais.

API

Na API, crie uma solicitação POST para o método compute.disk.createSnapshot a fim de gerar um instantâneo de um disco. No corpo da solicitação, especifique a zone em que o disco reside, o nome do disk que terá o instantâneo capturado e createSnapshot

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK]/createSnapshot

em que:

  • [PROJECT_ID] é o código do projeto;
  • [ZONE] é a zona em que o disco está localizado;
  • [DISK] é o nome do disco com o instantâneo sendo capturado.

Na API, crie uma solicitação POST para criar um disco permanente regional. No corpo da solicitação compute.regionDisks.insert, inicialize um novo disco e especifique o nome do disco e as propriedades das zonas de réplica. Como é um disco de dados, não inclua a propriedade sourceImage, que cria um disco vazio:

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]

{
 "name": "[DISK_NAME]",
 "replicaZones": [
 "projects/[PROJECT_ID]/zones/[ZONE1]",
 "projects/[PROJECT_ID]/zones/[ZONE2]"
 ],
}

em que:

  • [PROJECT_ID] é o código do projeto;
  • [DISK_NAME] é o nome do novo disco;
  • [ZONE1] é a zona em que sua instância e o novo disco estão localizados;
  • [ZONE2] é o local do disco replicado.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine