No Compute Engine, é possível usar snapshots para fazer backup dos dados de discos. Como os snapshots são incrementais, é possível criá-los com maior desempenho e menor carga total de armazenamento em comparação à criação de imagens de discos completas.
Os snapshots consistentes do aplicativo capturam o estado dos dados do aplicativo no momento do backup, com todas as transações do aplicativo concluídas e todas as gravações pendentes liberadas para o disco. Nas VMs do Windows, use o serviço de cópia de sombra de volume (VSS, na sigla em inglês) para criar snapshots consistentes de aplicativos sem primeiro interromper a instância ou desconectar o disco da VM.
Antes de começar
- Crie uma instância do Windows.
- Revise as práticas recomendadas de criação de snapshots.
-
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 selecionando uma das seguintes opções:
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.
- Os snapshots do VSS funcionam apenas em instâncias do Windows com a versão de imagem
v20160810
e mais recentes. Para instâncias com imagens mais antigas, crie um snapshot sem usar o VSS. - É preciso que o disco anexado use o sistema de arquivos NTFS, exFAT ou ReFS.
- Os snapshots do VSS ajudam a preservar seus dados apenas quando você executa aplicativos compatíveis com VSS que se coordenam para criar um backup consistente de seus dados.
- Se a operação de snapshot do VSS não for concluída em 300 segundos, o snapshot falhará com um erro de tempo limite.
Acesse a página Criar um snapshot no console do Google Cloud.
Acessar a página "Criar um snapshot"- Digite um Nome de snapshot.
-
Selecione um Tipo de snapshot. O snapshot padrão é
STANDARD
, que é a melhor opção para backup de longo prazo e recuperação de desastres.Escolha Snapshot do arquivo para uma retenção de dados mais econômica.
- Opcional: insira uma Descrição sobre o snapshot.
- Em Disco de origem, selecione o disco do qual você quer criar um snapshot.
Na seção Local, escolha o local de armazenamento dos snapshots.
O local padrão predefinido ou personalizado definido nas configurações de snapshot é selecionado automaticamente. Se preferir, modifique as configurações dos snapshots e os armazene em um local de armazenamento personalizado da seguinte forma:
Escolha o tipo de local de armazenamento que você quer para os snapshots.
- Escolha Multirregional para maior disponibilidade por um custo mais alto.
- Escolha Snapshots regionais para ter mais controle sobre a localização física dos dados por um custo menor.
- No campo Selecionar local, escolha a região ou multirregião específica que você quer usar. Para usar a região ou multirregião mais próxima do disco de origem, selecione Com base no local do disco.
- Marque a opção Ativar snapshot consistente do aplicativo.
- Clique em Criar para criar o snapshot.
Para criar um snapshot no local padrão predefinido ou personalizado definido nas configurações do snapshot, use o comando
gcloud compute snapshots create
.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --guest-flush
-
Como alternativa, para substituir as configurações de snapshot e criar um snapshot em um local de armazenamento personalizado, inclua a flag
--storage-location
para indicar onde ele deve ser armazenado:gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --storage-location=STORAGE_LOCATION \ --guest-flush
Substitua:
- SNAPSHOT_NAME: um nome para o snapshot.
- SOURCE_ZONE: a zona do disco de origem.
- SOURCE_DISK_NAME: o nome do volume de disco a partir do qual você quer criar um snapshot.
- SNAPSHOT_TYPE: o tipo de snapshot, que é STANDARD ou
ARCHIVE.
Se um tipo de snapshot não for especificado, um snapshot
STANDARD
será criado. -
STORAGE_LOCATION (opcional): a multirregião do Cloud Storage ou a região do Cloud Storage onde você quer armazenar o snapshot. É possível especificar apenas um local de armazenamento.
Use o parâmetro
--storage-location
somente quando quiser substituir o local de armazenamento padrão predefinido ou personalizado que está definido nas configurações de snapshot.
Para criar um snapshot do VSS de um Persistent Disk regional, nos exemplos anteriores, substitua
--source-disk-zone=
por--source-disk-region=
e especifique a região em que o Persistent Disk regional está localizado.A CLI do Google Cloud aguarda até que um status
READY
ouFAILED
seja retornado ou retorna os últimos detalhes conhecidos do snapshot após o tempo limite máximo ter se esgotado. -
Para criar o snapshot no local padrão predefinido ou personalizado configurado nas configurações de snapshot, faça uma solicitação
POST
para o métodosnapshots.insert
.POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "guestFlush": true, }
-
Como alternativa, para substituir as configurações de snapshot e criar um snapshot em um local de armazenamento personalizado, faça uma solicitação
POST
ao métodosnapshots.insert
e inclua nela a propriedadestorageLocations
:POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "storageLocations": [ "STORAGE_LOCATION" ], "guestFlush": true, }
- DESTINATION_PROJECT_ID: o ID do projeto em que você quer criar o snapshot.
- SNAPSHOT_NAME: um nome para o snapshot.
- SOURCE_PROJECT_ID: o ID do projeto de disco de origem.
- SOURCE_ZONE: a zona do disco de origem.
- SOURCE_DISK_NAME: o nome do disco a partir do qual você quer criar um snapshot.
- SNAPSHOT_TYPE: o tipo de snapshot, que é STANDARD ou
ARCHIVE.
Se um tipo de snapshot não for especificado, um snapshot
STANDARD
será criado. -
STORAGE_LOCATION (opcional): a multirregião do Cloud Storage ou a região do Cloud Storage onde você quer armazenar o snapshot. É possível especificar apenas um local de armazenamento.
Use o parâmetro
storageLocations
somente quando quiser substituir o local de armazenamento padrão predefinido ou personalizado que está definido nas configurações de snapshot. Verifique se o disco está anexado a uma VM.
- Se o disco criado com base no snapshot do VSS for um disco de dados que não é de inicialização, conecte-o a qualquer VM nova ou existente.
- Se o disco criado a partir do snapshot do VSS for um disco de inicialização e você quiser usá-lo para inicializar uma VM, anexe temporariamente o disco a uma VM separada já existente. Depois de concluir as etapas a seguir, remova o disco dessa VM e use-o para inicializar uma nova instância de VM.
Faça login na VM do Windows à qual o disco está anexado.
Abra um prompt de comando do PowerShell e execute a ferramenta
diskpart
.PS C:\> diskpart
Identifique o disco que você quer ativar.
DISKPART> list disk
Use o comando
select disk
para selecionar o disco.DISKPART> select disk DISK_NUMBER
Substitua
DISK_NUMBER
pelo número do disco que você quer ativar.Monte o disco.
DISKPART> online disk
Liste todos os volumes no disco.
DISKPART> list volume
Selecione o novo volume.
DISKPART> select volume VOLUME_NUMBER
Substitua
VOLUME_NUMBER
pelo número do volume a ser configurado como leitura e gravação.Limpe a flag "Somente leitura".
DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopy
Saia da ferramenta
diskpart
.DISKPART> exit
Se for um disco de inicialização de outra VM, sincronize os arquivos dele com a nova assinatura do disco.
PS C:\> bcdboot DRIVE_LETTERWindows /s DRIVE_LETTER
Substitua
DRIVE_LETTER
pela letra da unidade do volume que você quer sincronizar. Por exemplo,F
paraF:\
.- Prepare o sistema para um snapshot limpo.
- Crie o snapshot
- remontar o disco.
- Marque o disco como disponível para leitura/gravação
- Faça login na VM do Windows.
- Faça o download e instale a ferramenta Sync da Microsoft.
- Interrompa a gravação dos aplicativos no disco.
- Abra uma janela elevada do prompt de comando.
Na janela da linha de comando, execute:
PS C:\> sync DRIVE_LETTER
Substitua
DRIVE_LETTER
pela letra da unidade do volume que você quer sincronizar. Por exemplo,F
paraF:\
.Faça login na VM do Windows.
Abra um prompt de comando do PowerShell e execute a ferramenta
diskpart
.PS C:\> diskpart
Identifique o disco que você quer desconectar e criar um snapshot dele.
DISKPART> list disk
Depois selecione o disco usando o número que acabou de encontrar.
DISKPART> select disk DISK_NUMBER
Substitua
DISK_NUMBER
pelo número do disco que você quer reativar.Desconecte o disco.
DISKPART> offline disk
- Se o disco estiver localizado em uma única zona (Persistent Disk zonal ou Hyperdisk), siga as etapas em Criar um snapshot de um volume de Persistent Disk zonal.
- Como alternativa, se o Persistent Disk estiver localizado em várias zonas, siga as etapas em Criar um snapshot de um volume de Persistent Disk regional.
Faça login na VM do Windows.
Abra um prompt de comando do PowerShell e execute a ferramenta
diskpart
.PS C:\> diskpart
Identifique o disco que você quer ativar.
DISKPART> list disk
Use o comando
select disk
para selecionar o disco.DISKPART> select disk DISK_NUMBER
Substitua
DISK_NUMBER
pelo número do disco que você quer ativar.Monte o disco.
DISKPART> online disk
Se necessário, siga estas etapas:
Faça login na VM do Windows.
Abra um prompt de comando do PowerShell e execute a ferramenta
diskpart
.PS C:\> diskpart
Liste todos os volumes no disco.
DISKPART> list volume
Selecione o novo volume.
DISKPART> select volume VOLUME_NUMBER
Substitua
VOLUME_NUMBER
pelo número do volume que você quer configurar para leitura e gravação.Limpe a flag "Somente leitura".
DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopy
Saia da ferramenta
diskpart
.DISKPART> exit
Se o disco for de inicialização de outra instância de VM, sincronize os arquivos do disco de inicialização no prompt de comando do PowerShell com a nova assinatura do disco.
PS C:\> bcdboot DRIVE_LETTER:\Windows /s DRIVE_LETTER
Substitua
DRIVE_LETTER
pela letra da unidade do volume que você quer sincronizar. Por exemplo,F
paraF:\
.- Se você criou um snapshot de um disco de inicialização, é possível criar uma VM a partir de um snapshot.
- Para saber como configurar o Windows Server para que você possa usá-lo na criação de imagens personalizadas do Windows Server para VMs ou modelos de instâncias, leia Criar imagens personalizadas do Windows Server.
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.
Limitações
Os snapshots de disco no Windows têm as seguintes limitações:
Criar um snapshot do VSS do Windows
É possível criar snapshots do Serviço de cópia de sombra de volume (VSS, na sigla em inglês) sem ter que interromper a instância ou desconectar o disco da sua VM. Os snapshots do VSS destinam-se a backup e recuperação de sistemas com apps compatíveis com VSS.
O valor cobrado pelos snapshots do VSS é igual ao dos snapshots de Persistent Disk ou Hyperdisk comuns e corresponde somente ao tamanho total do snapshot.
Criar o snapshot
Console
gcloud
Para criar um snapshot do VSS, use o comando
gcloud compute snapshots create
e inclua a flag--guest-flush
.Crie o snapshot na política de local de armazenamento definida pelas configurações do snapshot ou usando um local de armazenamento alternativo de sua escolha. Para mais informações, consulte Escolher o local de armazenamento dos snapshots.
REST
Ao criar um snapshot, para indicar que você quer criar um snapshot do VSS, inclua a propriedade
guestFlush
no corpo da solicitaçãoPOST
paracompute.snapshots.insert
.Crie o snapshot na política de local de armazenamento definida pelas configurações do snapshot ou usando um local de armazenamento alternativo de sua escolha. Para mais informações, consulte Escolher o local de armazenamento dos snapshots.
Substitua:
Para criar um snapshot do VSS de um Persistent Disk regional, substitua a linha a seguir nas solicitações
POST
mostradas anteriormente: Use esta linha ao criar um snapshot de um Persistent Disk regional:"sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
"sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME",
Opcional: marque o disco como disponível para leitura e gravação
Quando você cria um snapshot do VSS, o Windows Server marca o volume no snapshot como "Somente leitura". Quando você cria um novo disco a partir do snapshot do VSS, ele também é definido para o modo somente leitura.
Isso pode causar problemas. Por exemplo, se você criar uma instância de VM com um novo disco de inicialização com base em um snapshot do VSS de um disco de inicialização existente, a sinalização "Somente leitura" no novo disco de inicialização impedirá que a VM seja inicializada corretamente.
Para contornar esse problema, remova a flag "Somente leitura" de qualquer disco novo criado com base em um snapshot do VSS seguindo as seguintes etapas:
Criar um snapshot sem usar VSS
Em algumas situações, pode ser útil criar snapshots de discos anexados a VMs do Windows sem usar VSS.
Para criar um snapshot de disco em uma VM do Windows sem usar o VSS, faça o seguinte:
Preparar o sistema para criar um snapshot limpo
Antes de criar um snapshot do disco, verifique se essa ação é consistente com o estado pretendido para o disco. Se você captura um snapshot de um disco em estado "com erros", isso pode provocar uma verificação de disco e possível perda de dados. Sincronize e desconecte o sistema de arquivos.
Sincronizar o sistema de arquivos
Em cenários em que não é possível desmontar o disco, por exemplo, quando um aplicativo está gravando dados no disco, sincronize o sistema de arquivos para transferir os buffers do disco. Para fazer isso, siga estas etapas:
Desconectar o disco
Criar um snapshot
remontar o disco.
Remover a sinalização "Somente leitura" do disco
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-12-22 UTC.
-