Snapshots de discos permanentes

Os snapshots fazem backup incremental de dados dos discos permanentes. Depois de criar um snapshot para capturar o estado atual do disco, use-o para restaurar esses dados em um novo disco. O Compute Engine armazena várias cópias de cada snapshot em vários locais, com somas de verificação automáticas para garantir a integridade dos dados.

É possível criar snapshots a partir de discos, mesmo quando eles estiverem anexados a instâncias de máquina virtual (VM) em execução. O ciclo de vida de um snapshot criado a partir de um disco anexado a uma instância de VM em execução é independente do ciclo de vida da instância da VM.

Os snapshots são diferentes das imagens personalizadas e das imagens de máquina, que são úteis para criar discos de inicialização de instâncias. Para saber mais, consulte a tabela que compara o uso de imagens, snapshots e modelos de instâncias.

Como trabalhar com snapshots

  • Para saber como fazer backup de discos com snapshots, consulte Como criar um snapshot. Crie um snapshot de seu disco antes de tentar uma operação que possa ser perigosa, para reverter a alteração caso os resultados sejam diferentes dos esperados.

  • Para saber como restaurar o conteúdo de um snapshot em um novo disco, consulte Como restaurar snapshots.

  • Exclua os snapshots que não precisar mais para reduzir os custos de armazenamento.

  • Para reduzir o risco de perda inesperada de dados, considere a prática recomendada de configurar uma programação de snapshots. Isso garantir que o backup dos dados seja feito regularmente.

Como acessar snapshots

Restrições

  • Não é possível alterar o local de armazenamento de um snapshot existente. Consulte Como selecionar o local de armazenamento de um snapshot.

  • É possível capturar snapshots dos discos uma vez a cada 10 minutos, no máximo. Se você quiser emitir uma sequência de solicitações para capturar snapshots dos discos, pode enviar 6 solicitações, no máximo, em 60 minutos. Para mais informações, consulte Limites de frequência de snapshots (em inglês).

Como os snapshots incrementais funcionam

Por serem incrementais e compactados automaticamente, criar snapshots regulares em um disco permanente é mais rápido e tem um custo muito menor do que criar uma imagem completa do disco periodicamente.

Os snapshots incrementais funcionam da seguinte forma:

  • O primeiro snapshot bem-sucedido de um disco permanente é um snapshot completo que contém todos os dados do disco.
  • O segundo só contém dados novos ou modificados desde o primeiro snapshot. Dados inalterados desde o snapshot 1 não são incluídos. Em vez disso, o snapshot 2 contém referências aos dados não alterados do snapshot 1.
  • O snapshot 3 contém os dados novos ou alterados desde o snapshot 2, mas não contém os dados sem alterações dos snapshots 1 ou 2. Em vez disso, o instantâneo 3 contém referências aos dados não alterados de blocos dos instantâneos 1 e 2.

Isso se repete para todos os instantâneos subsequentes do disco permanente. Os snapshots são sempre criados com base no último snapshot bem-sucedido.

Como criar um snapshot

Exclusão de snapshots

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, caso ele tenha:

  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. Para excluir os dados completamente, é 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.

O diagrama a seguir mostra esse processo:

O processo de exclusão de um snapshot.

Tamanho do snapshot e blocos excluídos

Os snapshots capturam partes do disco que foram gravadas e não foram descartadas. Dependendo da configuração do sistema de arquivos do disco, às vezes, os arquivos excluídos não são descartados. Se isso acontecer, você poderá ver que o tamanho do snapshot é maior que o espaço usado no disco relatado pelo sistema de arquivos. Para evitar isso, é uma prática recomendada ativar a opção discard ou executar fstrim no disco.

Cadeias de snapshots

Usando a ferramenta gcloud ou a API Compute Engine, é possível criar snapshots em cadeias de snapshots distintas especificando um snapshot chainName: Quando você cria vários snapshots de um disco permanente usando um nome de cadeia, cada snapshot é baseado gradualmente no último snapshot bem-sucedido criado com esse nome de cadeia. Esse recurso está disponível na versão Beta. Use este campo apenas se você for um proprietário de serviço avançado que precise criar cadeias de snapshots separadas, por exemplo, para rastreamento de estorno.

Local de armazenamento de snapshots

Ao criar um snapshot, especifique um local de armazenamento. O local de um snapshot afeta a disponibilidade dele. Além disso, criar ou restaurar o snapshot em um novo disco pode gerar custos de rede.

Os snapshots podem ser armazenados em qualquer local multirregional do Cloud Storage, como asia ou um local regional do Cloud Storage, como asia-south1.

Um local de armazenamento multirregional oferece maior disponibilidade e pode reduzir os custos de rede ao criar ou restaurar um snapshot. Por exemplo, a criação de um disco a partir de um snapshot armazenado em um local multirregional não acarreta custos de rede, desde que o novo disco permanente seja criado em uma das regiões do grupo multirregional. Um local de armazenamento regional proporciona mais controle sobre o local físico dos dados porque você especifica uma única região.

Um snapshot pode ser usado para criar um novo disco em qualquer região e zona, independentemente do local de armazenamento do snapshot.

Se você tiver uma política da organização que inclua a restrição de locais de recursos, qualquer local de armazenamento de snapshot que for especificado tem que estar no conjunto de locais definido pela restrição. Consulte Locais de recursos do Compute Engine para mais informações.

Se você não especificar um local de armazenamento para o snapshot, o Google Cloud usará o local padrão, que armazena o snapshot em um local multirregional do Cloud Storage mais próximo da região do disco de origem. Se precisar escolher armazenamento regional ou se precisar especificar um local multirregional diferente, armazene seu snapshot em um local personalizado.

Local padrão

Se um local de armazenamento não for especificado, seu snapshot será armazenado na multirregião geograficamente mais próxima do local do disco permanente.

Por exemplo, se seu disco permanente estiver armazenado em us-central1, seu snapshot será armazenado na multirregião us por padrão.

No entanto, um local padrão como australia-southeast1 está fora de uma multirregião. A multirregião mais próxima é asia. A criação ou restauração de um snapshot gera custos de rede.

Veja abaixo alguns exemplos de casos de uso de escolha de um local padrão para armazenar snapshots:

  • O local multirregional padrão atende às políticas corporativas ou de colocação de dados do governo.
  • O disco permanente é armazenado em um local regional que faz parte de um local multirregional padrão. Por exemplo, seu disco permanente está na região us-central1, então a multirregião padrão é us. Nesse caso, maior disponibilidade do snapshot tem precedência sobre o risco de restauração mais lenta.
  • Você não espera que seus instantâneos sejam restaurados com frequência em discos localizados fora do local padrão de armazenamento de instantâneos.

Local personalizado

Selecione um local regional personalizado para armazenar seu snapshot ou se precisar especificar um local multirregional diferente.

Veja abaixo alguns exemplos de casos para seleção de um local de armazenamento personalizado para os instantâneos:

  • O local multirregional personalizado atende às políticas corporativas ou de colocação de dados do governo.
  • Seu aplicativo foi implantado em uma região que não está incluída em um dos locais multirregionais do Cloud Storage e você quer priorizar o desempenho da restauração de snapshots em vez da disponibilidade deles.
  • É possível restaurar os snapshots várias vezes de um disco fora do local padrão de armazenamento de snapshots.

Se for necessário estar em conformidade com as políticas corporativas e de colocação de dados governamentais, armazene o snapshot no local regional mais próximo que esteja em conformidade com essas políticas.

Se seu aplicativo não for implantado em parte de uma multirregião e você quiser priorizar custos baixos de rede em relação à alta disponibilidade de snapshots, armazene seu snapshot na região em que o disco de origem está localizado. O armazenamento de seu snapshot na região em que seu disco de origem está localizado minimiza os custos de rede para restaurar e criar snapshots daquele disco de origem.

No entanto, diferentemente de um armazenamento multirregional, um local de armazenamento regional não armazena seus dados de forma redundante em vários data centers. Desse modo, seus dados podem não ser acessíveis se ocorrer uma interrupção em grande escala. Para garantir a disponibilidade de seus dados, convém armazenar um snapshot redundante em um segundo local.

Custos de rede

A seleção do local de armazenamento de snapshots é essencial para minimizar os custos de rede. Se você armazenar seu snapshot na mesma região do disco de origem, não haverá cobrança de rede ao acessar esse snapshot da mesma região. Se você acessar o snapshot de uma região diferente, haverá custo de rede.

Se o local de armazenamento geográfico do disco de origem for o mesmo da sua região, não haverá cobrança de rede.

Por exemplo, se o disco de origem estiver em asia-east1-a é possível armazenar seu snapshot na região asia-east1 ou na multirregião asia. Não serão cobrados custos de rede quando você acessar os snapshots.

Há uma taxa de rede pelo acesso entre regiões. Por exemplo, se o disco de origem estiver em asia-east1 e você armazenar seus snapshots em asia-east2, serão cobrados custos de rede ao acessar o snapshot entre essas duas regiões.

Duas regiões, australia-southeast1 e southamerica-east1, têm um local de armazenamento de snapshots multirregional padrão que resultará em custos de rede, a menos que você substitua o padrão quando criar o snapshot.

  • Se o disco de origem estiver em australia-southeast1, o local de armazenamento do snapshot padrão será na multirregião asia. Para reduzir custos, substitua esse local padrão e armazene seus snapshots na região australia-southeast1.
  • Se o disco de origem estiver em southamerica-east1, o local de armazenamento do snapshot padrão será na multirregião us. Para reduzir custos, substitua esse local padrão e armazene seus snapshots na região southamerica-east1.

Se você restaurar um snapshot em um disco em uma região que não está incluída no local de armazenamento do snapshot, serão cobrados custos de rede. Por exemplo, se você criar um novo disco permanente regional em australia-southeast1 de um snapshot armazenado em asia, um local multirregional, serão cobrados custos de rede.

A seguir