O Persistent Disk regional é uma opção de armazenamento que permite implementar serviços de alta disponibilidade (HA, na sigla em inglês) no Compute Engine. O Persistent Disk regional replica de maneira síncrona dados entre duas zonas na mesma região e garante alta disponibilidade para dados de disco em até uma falha zonal. É possível usar o Persistent Disk regional com sua máquina virtual (VM) de uma das seguintes maneiras:
- Criar uma nova VM com disco permanente regional.
- Criar volumes regionais de discos permanentes e anexá-los às VMs atuais
Neste documento, explicamos como fazer as seguintes tarefas no Persistent Disk regional:
- Criar e gerenciar volumes do Persistent Disk regional
- Adicionar um Persistent Disk regional às VMs
Antes de começar
- Revise as diferenças entre os diferentes tipos de disco permanente.
- Revise os conceitos básicos do Persistent Disk regional.
- Leia sobre failover de disco permanente regional.
-
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
-
Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:
gcloud init
- Defina uma região e uma zona padrão.
Terraform
Para usar as amostras de Terraform nesta página de um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure o Application Default Credentials com as credenciais de usuário.
- Instale a CLI do Google Cloud.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
Crie as credenciais de autenticação para sua Conta do Google:
gcloud auth application-default login
Veja mais informações em: Configurar a autenticação para um ambiente de desenvolvimento local.
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
-
Limitações
- Só é possível anexar Persistent Disk regionais a VMs que usam tipos de máquina E2, N1, N2 e N2D.
- Não é possível criar um Persistent Disk regional com base em uma imagem.
- Ao usar o modo somente leitura, é possível anexar um Persistent Disk equilibrado regional a, no máximo, 10 instâncias de VM.
- O tamanho mínimo de um disco permanente regional padrão é 200 GB.
- Só é possível aumentar o tamanho de um volume do Persistent Disk regional. Não é possível diminuir o tamanho dele.
- Os volumes de disco permanente regional têm características de desempenho diferentes dos volumes zonais. Para mais informações, consulte Desempenho do armazenamento em blocos.
- Se você criar um disco permanente regional clonando um disco zonal, as duas réplicas zonais não estarão totalmente sincronizadas no momento da criação. Após a criação, é possível usar o clone de disco regional em média em até três minutos. No entanto, talvez seja necessário aguardar diversos minutos até que o disco atinja um estado totalmente replicado e o objetivo de ponto de recuperação (RPO) esteja próximo de zero. Saiba como verificar se o Persistent Disk regional está totalmente replicado.
Criar uma nova VM com disco permanente regional
Ao criar uma VM, você tem a opção de incluir volumes regionais de discos permanentes como discos adicionais.
Para criar e anexar um volume regional de disco permanente a uma VM durante a criação da VM, consulteCriar uma instância de VM com discos extras que não sejam de inicialização ou Criar um novo modelo de instância do Google Analytics.
Adicione um Persistent Disk regional à VM
Crie um Persistent Disk regional e o anexe a uma VM. A VM precisa estar na mesma região dos discos.
Se você criar um disco no Console do Google Cloud, o tipo de disco
padrão será pd-balanced
. Se você criar um disco usando a CLI gcloud ou
REST, o tipo de disco padrão será pd-standard
.
Console
Primeiro, é preciso criar o volume regional de discos permanentes e, em seguida, anexá-lo a uma instância de VM atual. Não é possível criar discos permanentes regionais como discos de inicialização porque eles não podem ser anexados à força durante um failover.
Criar um volume regional de discos permanentes
No console do Google Cloud, acesse a página Discos.
Selecione o projeto necessário.
Clique em Criar disco.
Especifique um Nome para o disco.
Em Local, escolha Regional.
Selecione a Região e a Zona. É preciso selecionar a mesma região ao criar a VM.
Selecione a Zona de réplica na mesma região. Anote as zonas selecionadas porque você precisa anexar o disco à VM em uma delas.
Selecione o Tipo de origem do disco.
Selecione o Tipo de disco e o Tamanho. O padrão é um disco permanente equilibrado de 100 GiB.
Clique em Criar para concluir a criação do disco.
Anexar o volume regional do disco permanente à VM
Para anexar um disco a uma VM, acesse a página Instâncias de VM.
Na coluna Nome, clique no nome da VM.
Clique em Editar
.Clique em Anexar disco atual.
Escolha o Persistent Disk regional para adicionar à VM.
Se você vir um aviso indicando que o disco selecionado já está anexado a outra instância, marque a caixa Forçar anexação de disco para forçar a anexação do disco à VM em que você está editando.
Para mais informações sobre casos de uso da anexação forçada de volumes de disco permanente regional, consulte Failover de disco permanente regional.
Clique em Save.
Na página Editar VM, clique em Salvar.
gcloud
Crie e anexe um disco permanente regional usando a Google Cloud CLI:
Crie um volume de disco permanente regional usando o comando
compute disks create
. Se você precisar de um disco permanente SSD regional para ter capacidade ou IOPS extras, inclua a sinalização--type
e especifiquepd-ssd
.gcloud compute disks create DISK_NAME \ --size=DISK_SIZE \ --type=DISK_TYPE \ --region=REGION \ --replica-zones=ZONE1,ZONE2
Substitua:
DISK_NAME
: o nome do novo discoDISK_SIZE
: o tamanho do novo disco em GB.DISK_TYPE
: o tipo do disco permanente O valor padrão épd-standard
.REGION
: a região do disco regional, por exemplo,europe-west1
.ZONE1
,ZONE2
: as zonas dentro da região em que as duas réplicas de disco estão localizadas, por exemplo:europe-west1-b,europe-west1-c
Anexe o disco a uma VM em execução ou parada usando o comando
compute instances attach-disk
com a sinalização--disk-scope
definida comoregional
.gcloud compute instances attach-disk VM_NAME \ --disk=DISK_NAME \ --disk-scope=regional
Substitua:
VM_NAME
: o nome da VM a que você está adicionando os novos volumes regionais de disco permanente.DISK_NAME
: o nome do novo disco que você está anexando à VM.
Terraform
Para criar um disco permanente regional, use o
recurso google_compute_region_disk
.
REST
Para criar um volume regional de disco permanente, crie uma solicitação
POST
para o métodocompute.regionDisks.insert
. Para criar um disco vazio, não especifique nenhuma fonte de imagem ou de snapshot.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks { "name": "DISK_NAME", "region": "projects/PROJECT_ID/regions/REGION", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE1", "projects/PROJECT_ID/zones/ZONE2" ], "sizeGb": "DISK_SIZE", "type": "projects/PROJECT_ID/regions/REGION/diskTypes/DISK_TYPE" }
Substitua:
PROJECT_ID
: ID do projetoREGION
: a região do disco regional, por exemplo,europe-west1
.DISK_NAME
: o nome do novo discoZONE1
,ZONE2
: as zonas em que as réplicas do novo disco precisam estar localizadas.DISK_SIZE
: o tamanho do novo disco em GB.DISK_TYPE
: o tipo do disco permanente O valor padrão épd-standard
.
Para anexar o disco, crie uma solicitação
POST
para o métodocompute.instances.attachDisk
e inclua o URL no disco permanente que você criou.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk { "source": "/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME" }
Substitua:
PROJECT_ID
: o ID do projetoZONE
: o local da VM.VM_NAME
: nome da VM a que você está adicionando o volume do novo disco permanente.REGION
: a região em que o disco está localizadoDISK_NAME
: o nome do novo disco
Depois de criar e anexar um novo disco a uma VM, é preciso formatá-lo e ativá-lo para que o sistema operacional possa usar o espaço de armazenamento disponível.
Usar o Persistent Disk regional como um disco de inicialização da VM
Anexe um Persistent Disk regional como um disco de inicialização para cargas de trabalho com estado provisionadas com antecedência, antes de provisionar uma carga de trabalho de produção. O Persistent Disk regional não é destinado a espera ativa, porque os discos de inicialização regionais não podem ser anexados simultaneamente a duas VMs.
Só é possível criar um Persistent Disk regional com base em snapshots. não é possível criar um Persistent Disk regional usando uma imagem.
Para usar um Persistent Disk regional como um disco de inicialização de VM:
- Crie um disco regional com base em um snapshot.
- Anexe o disco como um de inicialização usando as instruções a seguir.
Criar uma nova VM com discos de inicialização de Persistent Disk regionais
Ao configurar uma VM altamente disponível, é possível criar a VM principal com discos de inicialização regionais do Persistent Disk. Isso permite que você reinicie a VM em caso de uma interrupção zonal.
Em uma configuração de alta disponibilidade, em que o dispositivo de inicialização é um Persistent Disk regional,
o Google recomenda não pré-criar e pré-executar a instância de espera.
Em vez disso, no estágio de failover, anexe o disco regional atual ao
criar a instância de espera usando a opção forceAttach
.
Para criar uma VM com um disco de inicialização que seja um Persistent Disk regional:
gcloud
gcloud compute instances create PRIMARY_INSTANCE_NAME \ --zone=ZONE \ --create-disk=^:^name=REPD_DISK_NAME:scope=regional:boot=true:source-snapshot=SNAPSHOT_NAME:replica-zones=ZONE,REMOTE_ZONE
Ao especificar os parâmetros de disco, os caracteres ^:^
definem que o caractere de separação entre os parâmetros é dois-pontos (:
). Isso
permite usar uma vírgula (,
) ao especificar o parâmetro "replica-zones".
Substitua:
- PRIMARY_INSTANCE_NAME por um nome para a VM
- ZONE pelo nome da zona em que você quer criar a VM.
- REPD_DISK_NAME por um nome para o Persistent Disk regional
- SNAPSHOT_NAME pelo nome do snapshot que você criou para o disco de inicialização
- REMOTE_ZONE pela zona alternativa do Persistent Disk regional
REST
Para criar uma nova VM com disco regional durante a
criação da VM, especifique
boot: 'true'
e replicaZones
. Exemplo:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "disks": [{ "boot": true, "initializeParams": { "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE", "projects/PROJECT_ID/zones/REMOTE_ZONE"] } }], }
Substitua:
PROJECT_ID
: ID do projeto;ZONE
: o nome da zona em que você quer criar a VMVM_NAME
: um nome para a VMBOOT_SNAPSHOT_NAME
: o nome do snapshot do disco de inicializaçãoREMOTE_ZONE
: a zona remota do Persistent Disk regional
Para criar uma segunda VM na zona de failover e recuperar uma VM principal que use o Persistent Disk regional para o disco de inicialização, faça o seguinte:
gcloud
gcloud compute instances create STANDBY_VM_NAME \ --zone=ZONE \ --disk=boot=yes,name=DISK_NAME,scope=regional,force-attach=true
Substitua:
STANDBY_VM_NAME
pelo nome da VM em esperaZONE
pelo nome da zona em que o Persistent Disk regional é replicadoDISK_NAME
pelo nome do Persistent Disk regional que você quer anexar
Opcional: se não for possível remover o disco de inicialização do Persistent Disk regional
da VM à qual ele foi originalmente anexado devido a uma interrupção ou falha,
inclua force-attach=true
.
Anexar um Persistent Disk regional como um disco de inicialização a uma VM atual
Use as etapas a seguir para fazer o failover para uma VM secundária que esteja em execução na zona de backup. Para isso, anexe o disco permanente regional à VM como o disco de inicialização. Para estas etapas, supomos que você já tenha criado o Persistent Disk regional a partir de um snapshot padrão.
gcloud
- Pare a VM.
gcloud compute instances stop STANDBY_VM_NAME --zone=ZONE
- Remova o disco de inicialização atual da VM.
gcloud compute instances detach-disk STANDBY_VM_NAME
--zone=ZONE --disk=CURRENT_BOOT_DEVICE_NAME - Anexe o Persistent Disk regional à VM.
gcloud compute instances attach-disk STANDBY_VM_NAME
--zone=ZONE
--disk=REPD_DISK_NAME
--disk-scope=regional --force-attach Reinicie a VM.
gcloud compute instances start STANDBY_VM_NAME
Substitua as variáveis nos comandos anteriores pelas seguintes:
STANDBY_VM_NAME
: o nome da VM a que você quer anexar o Persistent Disk regional.ZONE
: a zona em que a VM está localizadaCURRENT_BOOT_DEVICE_NAME
: o nome do disco de inicialização que está sendo usado pela VM. Geralmente, é igual ao nome da VM.REPD_DISK_NAME
: o nome do Persistent Disk regional que você quer anexar à VM como um disco de inicialização.
Opcional: se não for possível remover o disco de inicialização do Persistent Disk regional
da VM que foi originalmente anexado devido a uma interrupção ou falha,
inclua a sinalização --force-attach
.
REST
Pare a VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/STANDBY_VM_NAME/stop
Remova o disco de inicialização atual da VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/STANDBY_VM_NAME/detachDisk?deviceName=CURRENT_BOOT_DEVICE_NAME
Anexe o Persistent Disk regional à VM.
Crie uma solicitação
POST
para o métodocompute.instances.attachDisk
e inclua o URL do volume disco permanente regional:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/STANDBY_VM_NAME/attachDisk { "source": "compute/v1/projects/PROJECT_ID/regions/REGION/disks/REPD_DISK_NAME", "boot": true }
Reinicie a VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/STANDBY_VM_NAME/start
Substitua as variáveis nos comandos anteriores pelas seguintes:
PROJECT_ID
: ID do projetoSTANDBY_VM_NAME
: o nome da VM a que você quer anexar o Persistent Disk regional.ZONE
: a zona em que a VM está localizadaCURRENT_BOOT_DEVICE_NAME
: o nome do disco de inicialização que está sendo usado pela VM. Geralmente, é igual ao nome da VM.REGION
: a região em que o Persistent Disk regional está localizado.REPD_DISK_NAME
: o nome do Persistent Disk regional que você quer anexar à VM como um disco de inicialização.
Opcional: se não for possível remover o disco de inicialização do Persistent Disk regional
da VM que foi originalmente anexada devido a uma interrupção ou falha,
inclua "forceAttach": true
no corpo da solicitação.
Liste e descreva os volumes regionais do Persistent Disk
É possível conferir uma lista de todos os volumes de disco permanente regionais configurados e informações sobre as propriedades, incluindo o seguinte:
- ID do disco
- Nome do disco
- Tamanho
- Tipo de disco
- Região
- Réplicas zonais
Para ver informações detalhadas sobre os volumes de Persistent Disk regionais, use uma das seguintes opções: REST e CLI gcloud.
- Para conferir os detalhes de todos os volumes de disco permanente regional em
uma região e um projeto específicos, use o
método
compute.regionDisks.list
. - Para conferir os detalhes de um volume específico de Persistent Disk regional, execute o
comando
gcloud compute disks describe
com a sinalização--region
e especifique o nome do seu disco e a região dele (em inglês).
Redimensionar um disco permanente regional
É possível redimensionar os discos quando as VMs com discos regionais permanentes precisam de mais espaço de armazenamento, IOPS ou capacidade. Se precisar separar seus dados em volumes exclusivos, crie vários discos secundários para a VM. Você pode reescalonar discos a qualquer momento, independentemente do disco estar anexado a uma VM 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.
É possível apenas aumentar, e não diminuir, o tamanho do disco. Para diminuir o tamanho do disco, crie um novo com um tamanho menor. Até excluir o disco maior e original, haverá cobrança pelos dois discos.
Console
Redimensionar um disco permanente regional
No console do Google Cloud, acesse a página Discos.
Selecione o disco que você quer redimensionar.
Clique em Editar no topo da página.
Digite o tamanho do disco em GB.
Clique em Salvar para concluir o redimensionamento do disco.
O novo tamanho do disco é exibido na lista de discos.
gcloud
Na CLI gcloud, redimensione o disco permanente regional usando o
comando compute disks resize
.
gcloud compute disks resize DISK_NAME \
--region=REGION \
--size=DISK_SIZE
Substitua:
DISK_NAME
: o nome do disco que você está redimensionandoREGION
: a região onde o disco está localizado.DISK_SIZE
: o novo tamanho do disco em GB.
Terraform
Para alterar o tamanho de um disco permanente regional,
use o recurso google_compute_region_disk
e o parâmetro
size
.
Se você incluir o parâmetro size
com o parâmetro image
ou snapshot
,
o valor size
precisa ser igual ou maior que o tamanho da
imagem ou do snapshot.
Se você omitir os parâmetros image
e snapshot
, poderá definir o parâmetro size
como menor que o tamanho do disco atual. Se você fizer isso,
o Terraform destruirá o disco e criará um novo disco permanente vazio. Durante a recriação,
o Terraform não copia outros dados que também não
estejam incluídos na configuração do Terraform, como rótulos ou programações
de snapshot. Para impedir que o Terraform destrua e recrie um disco, adicione
a configuração lifecycle.prevent_destroy = true
à configuração do Terraform.
REST
Para redimensionar o Persistent Disk regional, crie uma solicitação POST
para o
método compute.regionDisks.resize
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/resize { "sizeGb": "DISK_SIZE" }
Substitua:
PROJECT_ID
: o ID do projetoREGION
: a região onde seu disco está localizado.DISK_NAME
: o nome do disco que você está redimensionandoDISK_SIZE
: o novo tamanho do disco em GB.
Depois de redimensionar o disco, é preciso redimensionar o sistema de arquivos para que o sistema operacional possa acessar o espaço extra.
Compartilhar um disco permanente somente leitura entre várias VMs
É possível anexar um disco permanente que não seja de inicialização a mais de uma VM no modo somente leitura. Isso permite o compartilhamento de dados estáticos entre várias VMs. O compartilhamento de dados estáticos entre várias VMs de um disco permanente é mais barato do que replicar os dados em discos únicos para VMs individuais.
Se for necessário compartilhar espaço de armazenamento dinâmico entre várias VMs, use uma das seguintes opções:
- Conecte as VMs ao Cloud Storage.
- Conecte suas VMs ao Filestore.
- Criar um servidor de arquivos de rede no Compute Engine
Se o disco permanente tiver dados que você quer compartilhar entre múltiplas VMs, remova-o de todas as VMs de leitura/gravação e o anexe a uma ou mais VMs no modo somente leitura.
Console
Compartilhar um disco permanente somente leitura entre várias VMs
No console do Google Cloud, acesse a página Instâncias de VMs.
Clique no nome da VM em que você quer anexar o disco. A página de detalhes da instância de VM será aberta.
Na parte superior da página, clique em Editar.
Na seção Discos extras, clique em Anexar disco.
Selecione o disco permanente regional na lista.
Na seção Modo, selecione Somente leitura.
Clique em Concluído.
Na parte inferior da página, clique em Salvar para aplicar as alterações à VM.
gcloud
Na CLI gcloud, compartilhe um disco permanente somente leitura entre várias VMs usando o comando compute instances attach-disk
com a sinalização--disk-scope
definida como regional
e a sinalização --mode
definida como ro
gcloud beta compute instances attach-disk /VM_NAME \
--disk=DISK_NAME \
--disk-scope=regional \
--mode=ro
Substitua:
VM_NAME
: o nome da VM à qual você quer anexar o disco permanente.DISK_NAME
: o nome do disco que você quer anexar.
REST
Para compartilhar um disco permanente somente leitura entre várias VMs, crie uma solicitação POST
para o método compute.instances.attachDisk
.
No corpo da solicitação, especifique o parâmetro mode
como READ_ONLY
.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk { "source": "regions/REGION/disks/DISK_NAME", "mode": "READ_ONLY" }
Substitua:
PROJECT_ID
: o ID do projetoZONE
: a zona da VMVM_NAME
: o nome da VM à qual você quer anexar o disco permanente.REGION
: a região onde seu disco está localizado.DISK_NAME
: o nome do disco que você está anexando
Depois de anexar o disco, conecte-se a cada VM à qual quer anexar o disco no modo somente leitura e ative o disco.
Migrar um disco permanente zonal para regional
Para converter seu disco permanente zonal atual em um disco permanente regional, crie um novo disco regional clonando um disco zonal existente. Para mais informações, consulte Como criar um clone de disco regional a partir de um disco zonal.
A seguir
- Saiba mais sobre preços de discos permanentes
- Crie um instantâneo de um disco permanente.
- Saiba mais sobre grupos de instâncias ou grupos de instâncias de VM.
- Crie aplicativos da Web escalonáveis e resilientes no Google Cloud.
- Consulte o livro de receitas de recuperação de desastres do Google Cloud.
- Saiba como monitorar os estados da réplica de volumes regionais de disco permanente.
- Saiba como determinar o estado de replicação do disco permanente regional.