Como restaurar e excluir snapshots de disco permanente

Use snapshots para fazer backup gradual de dados dos discos permanentes. Para aprender a criar snapshots, consulte Como criar snapshots de disco permanente. Depois de criar um snapshot, é possível usá-lo para restaurar o disco permanente, seja ele de inicialização ou não, para um estado anterior capturado por um snapshot pontual.

Fazer backup dos dados com uma programação de snapshot é uma prática recomendada eficaz para gerenciar cargas de trabalho e minimizar os efeitos da perda de dados.

Se não precisar mais de um snapshot específico, exclua-o para reduzir os custos de armazenamento.

Para ver uma lista de snapshots disponíveis em um projeto, use o comando gcloud compute snapshots list:

gcloud compute snapshots list

Para listar informações sobre um snapshot específico, use o comando gcloud compute snapshots describe:

gcloud compute snapshots describe [SNAPSHOT_NAME]

em que [SNAPSHOT_NAME] é o nome do snapshot que você quer descrever.

Antes de começar

Como criar um novo disco de inicialização da instância de VM a partir de um snapshot

No caso de interrupção, é possível recuperar seus dados com rapidez. Basta restaurar um ou mais snapshots de discos permanentes para os novos discos permanentes em uma nova instância. Ao criar essa instância, faça a restauração de um snapshot de disco de inicialização para esse disco, de snapshots que não sejam de inicialização para novos discos extras ou ambos.

Para mais informações, consulte Como criar uma instância a partir de snapshots de disco permanente.

Como criar um novo disco permanente a partir de um snapshot que não seja de inicialização

É possível restaurar um snapshot de um disco permanente que não seja de inicialização para um novo disco permanente. 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 do que o disco de origem do snapshot, será necessário executar mais comandos na instância para que as partições possam usar o espaço extra.

Dependendo do sistema operacional e do tipo de sistema de arquivos, talvez seja preciso usar uma ferramenta de redimensionamento de sistema de arquivos diferente. Consulte a documentação do sistema operacional para mais informações.

Para restaurar um snapshot de um disco permanente que não seja de inicialização para um novo disco em uma instância atual:

Console

  1. Acesse a página Snapshots no Console do Google Cloud Platform.

    Acessar a página "Snapshots"

  2. Encontre o nome do snapshot que você quer restaurar.
  3. Acesse a página Instâncias de VM.

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

  4. Clique no nome da instância em que você quer restaurar o disco não inicializável.
  5. Na parte superior da página de detalhes da instância, clique em Editar.
  6. Em Discos adicionais, clique em Adicionar novo disco.
  7. Especifique os parâmetros de configuração a seguir:
    • Um nome para o disco.
    • Um tipo para o disco. O tipo selecionado precisa corresponder ao usado no snapshot.
  8. Em Tipo de origem, clique em Snapshot.
  9. Selecione o nome do snapshot que será restaurado.
  10. Opcional: selecione um tamanho de disco em GB. 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.
  11. Clique em Concluído para criar o disco.
  12. Na parte inferior da página de detalhes da instância, clique em Salvar para aplicar as alterações à instância e anexar o disco novo.

gcloud

  1. Use o comando gcloud compute snapshots list para encontrar o nome do snapshot que você quer restaurar:

    gcloud compute snapshots list
    
  2. Use o comando gcloud compute snapshots describe para encontrar o tamanho do snapshot que você quer restaurar:

    gcloud compute snapshots describe [SNAPSHOT_NAME]
    

    em que [SNAPSHOT_NAME] é o nome do snapshot que está sendo restaurado.

  3. Use o comando gcloud compute disks create para criar um novo disco permanente regional ou disco permanente zonal a partir de um snapshot que não seja de inicialização. Se você precisar de um disco permanente SSD para aumentar a capacidade ou as IOPS, inclua a sinalização --type e especifique pd-ssd.

    gcloud compute disks create [DISK_NAME] \
        --size [DISK_SIZE] \
        --source-snapshot [SNAPSHOT_NAME] \
        --type [DISK_TYPE]
    

    em que:

    • [DISK_NAME] é o nome do novo disco;
    • [DISK_SIZE] é o tamanho do novo disco em GB. 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 de disco permanente, pd-standard ou pd-ssd.
  4. 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]
    

    em que:

    • [INSTANCE_NAME] é o nome da instância;
    • [DISK_NAME] é o nome do disco criado a partir do snapshot.

API

Use um snapshot para restaurar um disco permanente que não seja de inicialização.

  1. Crie uma solicitação GET para snapshots.list para exibir a lista de snapshots no projeto.

    GET https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/snapshots
    

    em que [PROJECT_ID] é o ID do projeto.

  2. Crie uma solicitação POST para criar um disco permanente zonal usando o método disks.insert. Inclua as propriedades name, sizeGb e type. Para restaurar um disco usando um snapshot, é preciso incluir a propriedade sourceSnapshot.

    POST https://www.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]"
    }
    

    em que:

    • [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 do novo disco em GB;
    • [DISK_TYPE] é o tipo de disco permanente. pd-standard ou pd-ssd;
    • [SNAPSHOT_NAME] é o snapshot de origem do disco que você está restaurando.
  3. Crie uma solicitação POST para o método instances.attachDisk e inclua o URL para o disco permanente zonal que você acabou de gerar.

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

    em que:

    • [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, é preciso formatar e ativar o disco para que o sistema operacional possa usar o espaço de armazenamento disponível.

Se o disco for maior que o tamanho do snapshot, será necessário redimensionar o sistema de arquivos nesse disco permanente para incluir o espaço em disco extra.

Já é possível usar a instância para acessar os dados restaurados e usar o espaço em disco permanente extra para armazenar novos dados.

Como excluir um snapshot

O Compute Engine usa snapshots incrementais para que cada snapshot contenha apenas os dados que mudaram desde o snapshot anterior. Para dados inalterados, os snapshots referenciam os dados em snapshots anteriores. Os custos de armazenamento de snapshots de disco permanente só são cobrados com base no tamanho total do snapshot.

Quando você exclui um snapshot, ele é imediatamente marcado como DELETED no Compute Engine. Se esse snapshot não tem itens subordinados, ele é excluído. Mas, se ele tiver:

  1. Os dados necessários para restaurar outros snapshots são movidos para o próximo snapshot, aumentando o tamanho dele.
  2. Os dados desnecessários para restaurar outros snapshots são excluídos. Isso diminui o tamanho total de todos os snapshots.
  3. O próximo snapshot já não faz mais referência ao snapshot marcado para exclusão, mas sim ao snapshot antes dele.

Como os snapshots posteriores 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. Se os dados em um snapshot que é marcado para exclusão forem necessários para restaurar os snapshots subsequentes, esses dados serão movidos para o próximo snapshot correspondente. Para excluir completamente os dados, é necessário excluir todos os snapshots.

Se seu disco tiver uma programação de snapshot, será preciso desanexá-la do disco antes de poder excluí-la. Remover a programação do snapshot do disco impede que ocorra mais atividade de snapshot. Não é possível excluir uma programação anexada a um disco. Você tem a opção de excluir snapshots manualmente a qualquer momento.

Veja no diagrama a seguir o processo descrito anteriormente:

O processo de exclusão de um snapshot.

Para excluir um snapshot:

Console

  1. Acesse a página Snapshots no Console do Google Cloud Platform.

    Acessar a página "Snapshots"

  2. Selecione um ou mais snapshots que você quer excluir.
  3. Na parte superior da página Snapshots, 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 compute.snapshots.delete para excluir snapshots.

DELETE https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/snapshots/[SNAPSHOT_NAME]

em que:

  • [PROJECT_ID] é o nome do projeto;
  • [SNAPSHOT_NAME] é o nome do snapshot a ser excluído.

A seguir

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

Enviar comentários sobre…

Documentação do Compute Engine