Persistent Disk regional e Hyperdisk Balanced High Availability são opções de armazenamento que permitem implementar serviços de alta disponibilidade (HA) no Compute Engine. O Persistent Disk regional e Hyperdisk Balanced High Availability replicam dados de maneira síncrona entre duas zonas na mesma região e garantem a alta disponibilidade para dados de disco de até uma falha na zona. O disco replicado de forma síncrona pode ser um disco de inicialização ou um disco não de inicialização.
Neste documento, explicamos como fazer as seguintes tarefas em discos replicados:
- Criar discos replicados.
- Anexar um disco replicado à VM.
- Mudar um disco zonal para um disco replicado.
- Criar uma VM com discos replicados.
- Usar um disco replicado como um disco de inicialização para uma nova VM.
- Anexar um disco de inicialização replicado a uma VM
- Listar e descrever os discos replicados.
- Redimensionar um disco replicado.
Antes de começar
- Analise as diferenças entre os diferentes tipos de opções de armazenamento em disco.
- Revise os conceitos básicos da replicação síncrona de discos.
- Leia sobre o failover de disco replicado.
-
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.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
Administrador da instância da computação (v1) (
roles/compute.instanceAdmin.v1
) -
Para se conectar a uma VM que pode ser executada como uma conta de serviço:
Usuário da conta de serviço (v1) (
roles/iam.serviceAccountUser
) -
compute.disks.create
-
compute.instances.attachDisk
-
compute.disks.use
-
Crie um snapshot de um disco:
compute.disks.createSnapshot
-
Confira os detalhes de um disco:
compute.disks.get
-
Receba uma lista de discos:
compute.disks.list
-
Mudar o tamanho de um disco:
compute.disks.update
- Só é possível anexar Persistent Disk regionais a VMs que usam tipos de máquina E2, N1, N2 e N2D.
- Você pode anexar o Hyperdisk Balanced High Availability somente a arquivos tipos de máquina compatíveis.
- Não é possível criar um Persistent Disk regional a partir de uma imagem ou de um disco criado a partir de 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 do volume do Disco permanente regional ou do Hyperdisk Balanced High Availability; não é possível diminuir o tamanho.
- Os volumes do Disco permanente regional e do Hyperdisk Balanced High Availability têm desempenhos diferentes do que os discos zonais correspondentes. Para mais informações, consulte Desempenho do armazenamento em blocos.
- Não é possível usar um volume do Hyperdisk Balanced High Availability que esteja no modo de vários gravadores como um disco de inicialização.
- Se você criar um disco replicado 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 disco replicado foi totalmente replicado.
- Crie uma VM com um disco de inicialização replicado.
- Crie um disco de inicialização replicado e anexe-o a uma VM:
- Crie um disco replicado com base em um snapshot de um disco de inicialização.
- Anexar um disco de inicialização replicado a uma VM
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.
Clique em Criar para concluir a criação do disco.
DISK_NAME
: o nome do novo discoDISK_SIZE
: o tamanho do novo disco em GB.DISK_TYPE
: Para o Persistent Disk regional, esse é o tipo do disco replicado. O valor padrão épd-standard
. Para o Hyperdisk, especifique o valorhyperdisk-balanced-high-availability
.REGION
: a região do disco replicado, 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
DISK_ACCESS_MODE
: opcional: como as VMs podem acessar os dados no disco. Os valores aceitos são:READ_WRITE_SINGLE
, para acesso de leitura e gravação de uma VM. Esse é o padrão.READ_WRITE_MANY
, para acesso de leitura e gravação de várias VMs.
Só é possível definir o modo de acesso para discos do Hyperdisk Balanced High Availability.
PROJECT_ID
: ID do projeto;REGION
: a região do disco replicado, por exemplo,europe-west1
.DISK_NAME
: o nome do novo disco.ZONE1
,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
: Para o Hyperdisk Balanced regional, este é o tipo de Hyperdisk Balanced. Para o Hyperdisk, especifique o valorhyperdisk-balanced-high-availability
.DISK_ACCESS_MODE
: como as VMs podem acessar os dados no disco. Os valores aceitos são:READ_WRITE_SINGLE
, para acesso de leitura e gravação de uma VM. Esse é o padrão.READ_WRITE_MANY
, para acesso de leitura e gravação de várias VMs.
Só é possível definir o modo de acesso para discos do Hyperdisk Balanced High Availability.
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 disco replicado criado anteriormente 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.
Confira os casos de uso para anexação forçada de discos replicados em Failover de disco replicado.
Clique em Salvar.
Na página Editar VM, clique em Salvar.
VM_NAME
: o nome da VM a que você está adicionando o disco replicado.DISK_NAME
: o nome do novo disco que você está anexando à VM.PROJECT_ID
: o ID do projetoZONE
: o local da VM.VM_NAME
: o nome da VM a que você está adicionando o novo disco replicado.REGION
: a região do disco replicado.DISK_NAME
: o nome do disco replicado- Criar uma instância de VM com discos extras que não são de inicialização
- Criar um modelo de instância
- PRIMARY_INSTANCE_NAME: um nome para a VM
- ZONE: o nome da zona em que você quer criar a VM
- REPLICATED_DISK_NAME: um nome para o disco replicado
- DISK_TYPE: o tipo de disco a ser criado, por exemplo,
hyperdisk-balanced-high-availability
(Pré-lançamento) oupd-balanced
. - SNAPSHOT_NAME: o nome do snapshot que você criou para o disco de inicialização
- REMOTE_ZONE: a zona alternativa para o disco replicado
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 disco replicadoDISK_TYPE
: o tipo de disco a ser criado, por exemplo,hyperdisk-balanced-high-availability
(Pré-lançamento) oupd-balanced
- Substitua o disco de inicialização de uma VM atual por um disco de inicialização replicado.
- Faça failover de um disco de inicialização replicado para uma VM de espera ativa em execução na zona de backup. Para fazer isso, anexe o disco replicado à VM como o disco de inicialização.
- Pare a VM.
gcloud compute instances stop VM_NAME --zone=ZONE
- Remova o disco de inicialização atual da VM.
gcloud compute instances detach-disk VM_NAME \ --zone=ZONE --disk=CURRENT_BOOT_DEVICE_NAME
- Anexe o disco de inicialização replicado à VM.
gcloud compute instances attach-disk VM_NAME \ --zone=ZONE \ --disk=REPLICATED_DISK_NAME \ --disk-scope=regional --force-attach
Reinicie a VM.
gcloud compute instances start VM_NAME
VM_NAME
: o nome da VM a que você quer anexar o disco de inicialização replicado.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.REPLICATED_DISK_NAME
: o nome do disco reproduzido que você quer anexar à VM como um disco de inicialização.Pare a VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/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/VM_NAME/detachDisk?deviceName=CURRENT_BOOT_DEVICE_NAME
Anexe o disco de inicialização replicado à VM.
Crie uma solicitação
POST
para o métodocompute.instances.attachDisk
e inclua o URL do disco de inicialização replicado:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk { "source": "compute/v1/projects/PROJECT_ID/regions/REGION/disks/REPLICATED_DISK_NAME", "boot": true }
Reinicie a VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
PROJECT_ID
: ID do projeto;VM_NAME
: o nome da VM a que você quer anexar o disco replicado.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 disco replicado está localizado.REPLICATED_DISK_NAME
: o nome do disco reproduzido que você quer anexar à VM como um disco de inicialização.- ID do disco
- Nome do disco
- Tamanho
- Tipo de disco
- Região
- Réplicas zonais
- Para conferir os detalhes de todos os discos replicados em
uma região e um projeto específicos:
- Crie uma solicitação
GET
para o métodocompute.regionDisks.list
. - Use o comando
gcloud compute disks list
e filtre os resultados por região.
- Crie uma solicitação
- Para conferir os detalhes de um disco replicado específico:
- Execute o comando
gcloud compute disks describe
com a flag--region
e especifique o nome do disco e a região. - Crie uma solicitação
GET
para o métodocompute.regionDisks.get
.
- Execute o comando
- Persistent Disk regional: aumentar o tamanho de um disco permanente
- Hyperdisk Balanced High Availability: modificar um volume do Hyperdisk
- Saiba mais sobre preços de discos.
- Saiba como monitorar os estados replicados dos discos.
- Saiba como determinar o estado de replicação de um disco replicado.
- Consulte Compartilhar volumes de Persistent Disk entre VMs como uma alternativa aos Persistent Disks regionais para dados somente leitura.
- Crie um snapshot de um disco.
- Saiba mais sobre grupos de instâncias para instâncias de VM.
- Saiba como criar aplicativos da Web escalonáveis e resilientes no Google Cloud.
- Consulte o guia de planejamento de recuperação de desastres do Google Cloud.
Terraform
Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a gcloud CLI e, em seguida, configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Papéis e permissões necessárias
Para receber as permissões necessárias e criar um disco replicado de maneira síncrona, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para criar um disco replicado de maneira síncrona. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para criar um disco replicado de maneira síncrona:
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Limitações
Sobre o uso de um disco replicado como um disco de inicialização para uma VM
É possível anexar um Persistent Disk regional ou um Hyperdisk Balanced High Availability (Pré-lançamento) 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. Os discos de inicialização replicados não são destinados a espera ativa, porque não podem ser anexados simultaneamente a duas VMs.
Só é possível criar Persistent Disk regional ou volumes do Hyperdisk Balanced High Availability a partir de snapshots. Não é possível criar um disco replicado usando uma imagem.
Para usar um disco replicado como um disco de inicialização da VM, use um dos seguintes métodos:
Se você precisar fazer o failover de um disco de inicialização replicado para uma VM em espera em execução na zona de réplica, siga as etapas descritas em Anexar um disco de inicialização replicado a uma VM.
Criar um disco replicado de forma síncrona
Crie um volume do Persistent Disk regional ou do Hyperdisk Balanced High Availability (Pré-lançamento). O disco precisa estar na mesma região da VM a que você planeja anexá-lo.
Se você criar um volume do Hyperdisk Balanced High Availability, também poderá permitir que diferentes VMs acessem o disco simultaneamente definindo o modo de acesso ao disco. Para mais informações, consulte Compartilhar um disco entre VMs.
Para o Persistent Disk regional, 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 gcloud CLI ou REST, o tipo de disco padrão serápd-standard
.Console
gcloud
Crie um disco replicado de forma síncrona usando o comando
compute disks create
.Se você precisar de um disco permanente SSD regional para ter capacidade de processamento 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 --access-mode=DISK_ACCESS_MODE
Substitua:
Terraform
Para criar um disco permanente regional ou um volume do Hyperdisk Balanced High Availability, use o recurso
google_compute_region_disk
.REST
Para criar um Disco permanente regional ou volume do Hyperdisk Balanced High Availability, crie uma solicitação
POST
para o métodocompute.regionDisks.insert
.Para criar um disco vazio, não especifique uma origem 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", "accessMode": "DISK_ACCESS_MODE" }
Substitua:
Anexar um disco replicado à VM
Para discos que não são de inicialização, depois de criar um Persistent Disk regional ou um volume do Hyperdisk Balanced High Availability (Pré-lançamento), é possível anexá-lo a uma VM. A VM precisa estar na mesma região que o disco.
Para anexar um disco de inicialização replicado a uma VM, consulte Anexar um disco de inicialização replicado a uma VM.
Para anexar um disco a várias VMs, repita o procedimento desta seção para cada VM.
Console
gcloud
Para anexar um disco replicado a uma VM em execução ou parada, use o comando
compute instances attach-disk
com a flag--disk-scope
definida comoregional
.gcloud compute instances attach-disk VM_NAME \ --disk=DISK_NAME \ --disk-scope=regional
Substitua:
Terraform
Para anexar um disco permanente regional ou um volume do Hyperdisk Balanced High Availability a uma VM, use o recurso
google_compute_attached_disk
.REST
Para anexar um disco replicado a uma VM em execução ou interrompida, crie uma solicitação
POST
para o métodocompute.instances.attachDisk
e inclua o URL do disco replicado 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:
Para discos não inicializáveis, depois de criar e anexar um disco replicado em branco a uma VM, é necessário formatar e montar o disco, para que o sistema operacional possa usar o espaço de armazenamento disponível.
Mudar um disco zonal para um disco replicado
Para converter seu Persistent Disk zonal atual em um Persistent Disk regional, crie um novo disco clonando um disco zonal existente. Para mais informações, consulte Como criar um clone de disco regional a partir de um disco zonal.Para converter um Hyperdisk em um disco replicado de forma síncrona, crie um novo disco do Hyperdisk Balanced High Availability com base em um snapshot do disco atual, conforme descrito em Mudar o tipo de disco.
Criar uma VM com discos replicados
Ao criar uma VM, você pode incluir volumes regionais de Persistent Disk ou Hyperdisk Balanced High Availability (Pré-lançamento) como discos adicionais.
Para criar e anexar um Persistent Disk regional ou um volume do Hyperdisk Balanced High Availability a uma VM durante a criação da VM, consulte uma destas opções:
Criar uma VM com um disco de inicialização replicado
Ao configurar uma instância de VM altamente disponível, é possível criar a VM principal com um disco de inicialização replicado. Se ocorrer uma interrupção zonal, você poderá reiniciar a VM na zona secundária em vez de criar uma nova.
Em uma configuração de alta disponibilidade, em que o dispositivo de inicialização é um disco replicado, o Google recomenda não pré-criar e iniciar a instância de espera. Em vez disso, no estágio de failover, anexe o disco replicado atual ao criar a instância de espera usando a opção
forceAttach
.Para criar uma VM com um disco de inicialização replicado, use um destes métodos:
gcloud
Use o comando
gcloud compute instances create
para criar uma VM e a flag--create-disk
para especificar o disco replicado.gcloud compute instances create PRIMARY_INSTANCE_NAME \ --zone=ZONE \ --create-disk=^:^name=REPLICATED_DISK_NAME:scope=regional:boot=true:type=DISK_TYPE: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:
REST
Crie uma solicitação
POST
para o métodoinstances.insert
e especifique as propriedadesboot: 'true'
ereplicaZones
. Por 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" ], "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE" } }], "networkInterfaces": [ { "network": "global/networks/default" } ] }
Substitua:
Anexar um disco de inicialização replicado a uma VM
Siga estas etapas:
Estas etapas pressupõem que o disco replicado e a VM já existem.
gcloud
Substitua as variáveis nos comandos anteriores pelas seguintes:
Opcional: se não for possível remover o disco de inicialização replicado da VM principal devido a uma interrupção ou falha, inclua a flag
--force-attach
.REST
Substitua as variáveis nos comandos anteriores pelas seguintes:
Opcional: se não for possível remover o disco de inicialização replicado da VM que foi originalmente anexado devido a uma interrupção ou falha, inclua
"forceAttach": true
no corpo da solicitação.Listar e descrever seus discos replicados
É possível conferir uma lista de todos os discos replicados configurados e informações sobre as propriedades, incluindo o seguinte:
Para conferir informações detalhadas sobre os discos replicados, use o seguinte:
Redimensionar um disco replicado
Se as VMs com discos replicados de forma síncrona precisarem de mais espaço de armazenamento, redimensione os discos. Você pode reescalonar discos a qualquer momento, independentemente do disco estar anexado a uma VM em execução. Se precisar separar seus dados em volumes exclusivos, crie vários discos secundários para a VM. No Hyperdisk Balanced High Availability, também é possível aumentar os limites de IOPS e de capacidade de processamento do disco.
O comando para redimensionar um disco replicado é muito semelhante ao comando para redimensionar um disco não replicado. No entanto, é necessário especificar uma região em vez de uma zona para o local do disco.
É 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.
Para instruções sobre como modificar um disco replicado, consulte:
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-11-23 UTC.
-