Crie snapshots para fazer backup periódico de dados dos discos permanentes zonais ou regionais.
É possível criar snapshots com base em discos, mesmo quando estão anexados a instâncias em execução. Snapshots são recursos globais, portanto você pode usá-los para restaurar dados em um novo disco ou instância no mesmo projeto. Também é possível compartilhar snapshots entre projetos.
Antes de começar
- Para usar os exemplos de linha de comando deste guia, siga estas etapas:
- Instale ou atualize a ferramenta de linha de comando gcloud para a versão mais recente.
- Defina uma região e uma zona padrão.
- Para usar os exemplos da API deste guia, configure o acesso a ela.
Como criar snapshots
Para se preparar para a criação de snapshots de discos permanentes, faça o seguinte:
Consulte as Práticas recomendadas para snapshots de discos permanentes para preparar o disco para a criação do snapshot.
Leia Como criar uma programação de instantâneos de discos permanentes para aprender a criar uma programação de instantâneos e a anexá-la aos discos. Fazer backup dos discos regularmente com snapshots programados pode reduzir o risco de perda inesperada de dados.
Como criar um snapshot de um disco permanente zonal
Console
- Acesse a página Criar um snapshot no Console do Google Cloud.
Acesse a página "Criar um snapshot" - Digite um Nome de snapshot.
- Como opção, digite uma Descrição para o snapshot.
- Selecione o Disco de origem no menu suspenso.
Determine o local de armazenamento de snapshots. Use o local de armazenamento padrão ou um local de armazenamento personalizado.
- Em Local, selecione se quer armazenar seu instantâneo em um local Multirregional ou em um local Regional.
- Selecione qual região ou multirregião específica você quer usar. Para usar a região ou a multirregião mais próxima de seu disco de origem, selecione Com base no local do disco (padrão).
Clique em Criar para criar o snapshot.
gcloud
Crie o snapshot no local de armazenamento padrão ou
selecionado. Se preferir, especifique um nome de snapshot com a
sinalização --snapshot-names
. O nome do snapshot padrão é uma string alfanumérica aleatória
de 12 caracteres que começa com uma letra.
Para criar um snapshot de um disco permanente zonal no local de armazenamento padrão, use o comando
gcloud compute disks snapshot
:gcloud compute disks snapshot DISK_NAME
onde:
- DISK_NAME é o nome do disco permanente zonal do qual você quer criar um snapshot.
Se preferir, para criar um snapshot em um local de armazenamento personalizado, use a sinalização
--storage-location
para indicar o local a armazenar o snapshot:gcloud compute disks snapshot DISK_NAME \ --storage-location STORAGE_LOCATION
onde:
- DISK_NAME é o nome do disco permanente zonal a partir do qual você quer criar um instantâneo;
- STORAGE_LOCATION é a multirregião do Cloud Storage ou a região do Cloud Storage em que você quer armazenar o snapshot. É possível especificar apenas um local de armazenamento.
A ferramenta gcloud
aguarda até que um status READY
ou FAILED
seja retornado ou retorna os últimos detalhes conhecidos do snapshot após o tempo limite máximo ter se esgotado.
API
Crie o snapshot no local de armazenamento padrão ou
selecionado. Se preferir, especifique um nome de snapshot com o
campo name
. O nome do snapshot padrão é uma string alfanumérica aleatória
de 12 caracteres que começa com uma letra.
Para criar um snapshot no local de armazenamento padrão, crie uma solicitação
POST
para o métododisks.createSnapshot
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/createSnapshot
onde:
- PROJECT_ID é o ID do projeto;
- ZONE é a zona onde sua instância e o disco estão localizados;
- DISK_NAME é o nome do disco permanente zonal a partir do qual você quer criar um instantâneo;
Se preferir, crie um snapshot em um local de armazenamento personalizado fazendo uma solicitação
POST
para o métododisks.createSnapshot
e especifique o local de armazenamento:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/createSnapshot { "storageLocations": STORAGE_LOCATION }
onde:
- PROJECT_ID é o ID do projeto;
- ZONE é a zona onde sua instância e o disco estão localizados;
- DISK_NAME é o nome do disco permanente zonal a partir do qual você quer criar um instantâneo;
- STORAGE_LOCATION é a multirregião do Cloud Storage ou a região do Cloud Storage em que você quer armazenar o snapshot. É possível especificar apenas um local de armazenamento.
Como criar um snapshot de um disco permanente regional
Depois de preparar o disco, você pode criar um instantâneo. Ao criar um instantâneo de um disco permanente regional, você precisa indicar a região onde o disco está localizado.
Console
- Acesse a página Criar um snapshot no Console do Google Cloud.
Acesse a página "Criar um snapshot" - Digite um Nome de snapshot.
- Como opção, digite uma Descrição para o snapshot.
- Em Disco de origem, selecione um disco atual a partir do qual você quer criar um snapshot.
Como opção, é possível especificar um local de armazenamento personalizado:
- Em Local, selecione se quer armazenar seu snapshot em um local Multirregional ou Regional.
- Selecione qual região ou multirregião específica você quer usar. Para usar a região ou a multirregião mais próxima de seu disco de origem, selecione Com base no local do disco.
Clique em Criar para criar o snapshot.
gcloud
Crie o snapshot no local de armazenamento padrão ou selecionado.
Para criar um snapshot de um disco permanente regional no local de armazenamento padrão, use o comando
gcloud compute disks snapshot
:gcloud compute disks snapshot DISK_NAME \ --region REGION
onde:
- DISK_NAME é o nome do disco permanente regional a partir do qual você quer criar um snapshot.
- REGION é a região em que o disco permanente regional está localizado.
Como opção, é possível especificar um local de armazenamento personalizado:
gcloud compute disks snapshot DISK_NAME --region REGION --storage-location STORAGE_LOCATION
em que:
- DISK_NAME é o nome do disco permanente regional a partir do qual você quer criar um snapshot.
- REGION é a região em que o disco permanente regional está localizado.
- STORAGE_LOCATION é a multirregião do Cloud Storage ou a região do Cloud Storage em que você quer armazenar o snapshot. É possível especificar apenas um local de armazenamento.
A ferramenta de linha de comando
gcloud
aguarda até que um statusREADY
ouFAILED
seja retornado ou retorna os últimos detalhes conhecidos do snapshot após o tempo limite máximo ter se esgotado.
API
Para criar um snapshot no local de armazenamento padrão, crie uma solicitação
POST
para o métodoregionDisk.createSnapshot
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/createSnapshot
onde:
- PROJECT_ID é o ID do projeto.
- REGION é a região em que o disco permanente regional está localizado.
- DISK_NAME é o nome do disco que terá o snapshot criado.
Se preferir, crie um snapshot em um local de armazenamento personalizado fazendo uma solicitação
POST
para o métodoregionDisk.createSnapshot
e especifique o local de armazenamento:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/VAR/disks/DISK_NAME/createSnapshot { "storageLocations": STORAGE_LOCATION }
onde:
- PROJECT_ID é o ID do projeto;
- REGION é a região em que seu disco permanente regional está localizado;
- DISK_NAME é o nome do disco permanente regional a partir do qual você quer criar um snapshot.
- STORAGE_LOCATION é a multirregião do Cloud Storage ou a região do Cloud Storage em que você quer armazenar o snapshot. É possível especificar apenas um local de armazenamento.
Como compartilhar snapshots entre projetos
Para mover dados de disco entre projetos, compartilhe um snapshot do disco com usuários em
outros projetos. Por exemplo, para mover os dados do disco disk-1
em
project-a
para um novo disco disk-2
em project-b
, execute as etapas a seguir. Neste
exemplo, disk-1
está localizado na zona us-west2-a
e instance-1
está
localizado na zona us-west2-b
.
gcloud
Crie um snapshot de
disk-1
:gcloud compute disks snapshot disk-1 --project project-a --snapshot-names snapshot-1
Crie um disco novo em
project-b
com base no snapshot:gcloud compute disks create disk-2 --project project-b --source-snapshot projects/project-a/global/snapshots/snapshot-1
Anexe o disco novo à instância
instance-1
emproject-b
.gcloud compute instances attach-disk instance-1 --project project-b --disk disk-2
Monte o disco. Consulte as etapas de 5 a 7 do tópico Como formatar e montar um disco permanente.
API
Para criar um snapshot de
disk-1
, faça uma solicitaçãoPOST
ao métododisks.createSnapshot
.POST https://compute.googleapis.com/compute/v1/projects/project-a/zones/us-west2-a/disks/disk-1/createSnapshot { "name": "snapshot-1" }
Crie um novo disco
disk-2
emproject-b
com base no snapshot. Elabore uma solicitaçãoPOST
para criar um disco permanente zonal usando o métododisks.insert
.POST https://compute.googleapis.com/compute/v1/projects/project-b/zones/us-west2-b/disks { "name": "disk-2", "type": "zones/us-west2-b/diskTypes/DISK_TYPE" "sourceSnapshot": "projects/project-a/global/snapshots/snapshot-1" }
Substitua:
- DISK_TYPE: o tipo de disco permanente,
pd-standard
,pd-ssd
oupd-balanced
- DISK_TYPE: o tipo de disco permanente,
Anexe o disco novo à instância
instance-1
emproject-b
. O disco precisa estar na mesma zona da instância. Elabore uma solicitaçãoPOST
para o métodoinstances.attachDisk
e inclua o URL do disco permanente zonal que você acabou de criar.POST https://compute.googleapis.com/compute/v1/projects/project-b/zones/us-west2-b/instances/instance-1/attachDisk { "source": "/compute/v1/projects/project-b/zones/us-west2-b/disks/disk-2" }
Monte o disco. Consulte as etapas de 5 a 7 do tópico Como formatar e montar um disco permanente.
Para ver uma lista dos snapshots disponíveis, consulte Como listar snapshots.
Como restaurar snapshots
Para restaurar o conteúdo de um snapshot em um novo disco, você tem as seguintes opções:
Criar um novo disco permanente a partir de um snapshot: crie um novo disco e selecione-o como Origem.
Criar uma nova instância a partir de um snapshot: ao criar uma nova instância, use snapshots para criar discos de inicialização e discos de dados para a instância. No caso de interrupção, é possível recuperar seus dados rapidamente. Basta restaurar um ou mais snapshots para os novos discos permanentes em uma nova instância. Para mais informações, consulte Como criar uma instância a partir de snapshots.
Como criar um novo disco permanente a partir de um snapshot
O novo disco permanente precisa ter pelo menos o mesmo tamanho do disco de origem para aceitar o snapshot. Se você criar um disco permanente maior que o disco de origem do snapshot, será preciso redimensionar o sistema de arquivos nesse disco permanente para incluir o espaço em disco adicional.
É possível criar um novo disco permanente zonal a partir de um determinado snapshot uma vez a cada 10 minutos, no máximo. Se você quiser emitir uma sequência de solicitações para capturar snapshots dos discos, é possível enviar 6 solicitações, no máximo, em 60 minutos. Esse limite não se aplica ao criar discos permanentes regionais a partir de um snapshot. Para mais informações, consulte Limites de frequência de snapshots.
Dependendo do sistema operacional e do tipo de sistema de arquivos, talvez seja preciso usar uma ferramenta de redimensionamento de sistema de arquivos diferente. Para mais informações, consulte a documentação do sistema operacional.
Console
No Console do Google Cloud, acesse a página Snapshots.
Encontre o nome do snapshot que você quer restaurar.
Acessar a página Discos.
Clique em Criar novo disco.
Especifique os seguintes parâmetros de configuração:
- Um nome para o disco.
- Um tipo para o disco.
- Opcionalmente, é possível modificar a seleção de região e zona padrão. É possível selecionar qualquer região e zona, independentemente do local de armazenamento do snapshot de origem.
Em Tipo de origem, clique em Snapshot.
Selecione o nome do snapshot que será restaurado.
Opcional: selecione um tamanho em gigabytes para o disco. Esse número precisa ser igual ou maior que o disco de origem do snapshot. Se você não especificar esse valor, o novo disco terá o mesmo tamanho que o disco de origem do snapshot.
Clique em Criar para criar o disco.
gcloud
Use o comando
gcloud compute snapshots list
para encontrar o nome do snapshot que você quer restaurar:gcloud compute snapshots list
Use o comando
gcloud compute snapshots describe
para encontrar o tamanho do snapshot que você quer restaurar:gcloud compute snapshots describe SNAPSHOT_NAME
Substitua SNAPSHOT_NAME pelo nome do snapshot que está sendo restaurado.
Use o comando
gcloud compute disks create
para criar um novo disco permanente regional ou zonas do snapshot. Se você precisar de um disco permanente SSD para aumentar a capacidade ou IOPS, inclua a sinalização--type
e especifiquepd-ssd
.gcloud compute disks create DISK_NAME \ --size=DISK_SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE
Substitua:
- DISK_NAME: o nome do novo disco.
- DISK_SIZE: o tamanho, em gigabytes, do novo disco. Esse número precisa ser igual ou maior que o disco de origem do snapshot.
- SNAPSHOT_NAME: o nome do snapshot que está sendo restaurado.
- DISK_TYPE: o tipo
do disco permanente Por exemplo,
pd-ssd
.
API
Crie uma solicitação
GET
parasnapshots.list
para exibir a lista de snapshots no projeto.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots
Substitua PROJECT_ID pela ID do seu projeto.
Crie uma solicitação
POST
para criar um disco permanente zonal usando o métododisks.insert
. Inclua as propriedadesname
,sizeGb
etype
. Para restaurar um disco usando um snapshot, é preciso incluir a propriedadesourceSnapshot
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sizeGb": "DISK_SIZE", "type": "zones/ZONE/diskTypes/DISK_TYPE" "sourceSnapshot": "SNAPSHOT_NAME" }
Substitua:
- PROJECT_ID: o ID do projeto.
- ZONE a zona em que a instância e o novo disco estão localizados.
- DISK_NAME: o nome do novo disco.
- DISK_SIZE: o tamanho, em gigabytes, do novo disco.
- DISK_TYPE: o tipo
do disco permanente Por exemplo,
pd-ssd
. - SNAPSHOT_NAME: o snapshot de origem do disco que você está restaurando.
Como alternativa, anexe o novo disco a uma instância atual.
Console
- Acesse a página Instâncias da VM.
- Clique no nome da instância em que você quer restaurar o disco não inicializável.
- No início da página, clique em Editar.
- Em Discos extras, clique em Anexar disco atual.
- Selecione o nome do novo disco criado a partir do snapshot.
- Clique em Concluído para anexar o disco.
- Na parte inferior da página de detalhes da instância, clique em Salvar para aplicar as alterações à instância.
gcloud
Use o comando
gcloud compute instances attach-disk
para anexar o disco permanente a uma instância:gcloud compute instances attach-disk INSTANCE_NAME \ --disk DISK_NAME
onde:
- INSTANCE_NAME é o nome da instância;
- DISK_NAME é o nome do disco criado a partir do snapshot.
API
Crie uma solicitação
POST
para o métodoinstances.attachDisk
e inclua o URL para o disco permanente por zona que você acabou de criar a partir do snapshot.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME" }
onde:
- PROJECT_ID é o ID do projeto;
- ZONE é a zona 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 criar e anexar um novo disco a uma instância, é necessário ativar o disco para que o sistema operacional possa usar o espaço de armazenamento disponível.
Excluir um snapshot
O Compute Engine usa snapshots incrementais para que cada snapshot contenha apenas os dados que mudaram desde o snapshot anterior. Como os snapshots subsequentes talvez precisem de informações armazenadas em um snapshot anterior, lembre-se de que excluir um snapshot não necessariamente exclui todos os dados dele. Para saber mais sobre a exclusão de snapshots, consulte Exclusão de snapshot.
Para excluir um snapshot:
Console
- Acesse a página Snapshots no Console do Google Cloud.
- Selecione um ou mais snapshots que você quer excluir.
- Na parte superior da página Instantâneos, clique em Excluir.
gcloud
Para excluir um snapshot, use o comando gcloud compute snapshots delete
:
gcloud compute snapshots delete SNAPSHOT_NAME
em que SNAPSHOT_NAME é o nome do snapshot que está sendo excluído.
API
Faça uma solicitação DELETE
para o método compute.snapshots.delete
para excluir snapshots.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME
onde:
- PROJECT_ID é o nome do projeto;
- SNAPSHOT_NAME é o nome do snapshot a ser excluído.
Como listar snapshots
gcloud
Para ver uma lista de snapshots disponíveis em um projeto específico, use o comando gcloud compute snapshots list
.
gcloud compute snapshots list --project PROJECT_ID
em que PROJECT_ID é o ID do projeto.
API
Para ver uma lista de snapshots disponíveis para você em um projeto específico, faça uma solicitação GET
para o método snapshots.list
:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots
em que PROJECT_ID é o ID do projeto.
Como visualizar informações sobre um snapshot
Para listar informações sobre um snapshot específico, como o horário de criação, o tamanho e o disco de origem, use o comando gcloud compute snapshots describe
:
gcloud compute snapshots describe SNAPSHOT_NAME
em que SNAPSHOT_NAME é o nome do snapshot.
A seguir
- Saiba como criar uma programação de instantâneos para discos permanentes.
- Saiba como criar uma imagem de disco com base no snapshot.