Práticas recomendadas para instantâneos de discos do Compute Engine

Pode criar snapshots de discos persistentes e Hyperdisk do Google Cloud em qualquer altura, mas pode criar snapshots mais rapidamente e com maior fiabilidade se usar as seguintes práticas recomendadas.

Considerações de segurança

Para evitar a escalada de privilégios não intencional, certifique-se de que só concede autorizações do IAM relacionadas com instantâneos a principais nos quais confia para ler e restaurar dados de instantâneos ou instantâneos instantâneos. As seguintes autorizações permitem que os utilizadores leiam e restaurem dados de instantâneos ou instantâneos instantâneos:

  • compute.snapshots.useReadOnly
  • compute.instantSnapshots.useReadOnly

Qualquer principal que tenha uma das autorizações anteriores pode restaurar dados de cópias instantâneas ou cópias instantâneas instantâneas no seu projeto para um projeto que controla, incluindo um projeto que esteja numa organização diferente. Por exemplo, se um ator malicioso obtiver uma função do IAM de um instantâneo no seu projeto, pode restaurar o instantâneo no respetivo projeto pessoal e aceder aos dados contidos no instantâneo.

Para saber como verificar as autorizações que um principal tem, consulte o artigo Determine que principais têm determinadas funções ou autorizações.

Preparar-se para instantâneos consistentes

Se criar uma captura instantânea do seu Persistent Disk ou Hyperdisk enquanto a aplicação está em execução, a captura instantânea pode não capturar as gravações pendentes que estão em trânsito da memória para o disco. Devido a estas inconsistências, o instantâneo pode não refletir o estado exato da sua aplicação no momento em que o capturou. Neste cenário, a captura de ecrã é considerada consistente com falhas porque captura o estado da aplicação como se o computador tivesse falhado no momento em que a captura de ecrã foi feita.

Opcionalmente, pode pausar a aplicação para que todas as transações da aplicação sejam concluídas e o sistema possa limpar todas as escritas pendentes da memória para o disco antes de a captura de ecrã ser feita. Neste cenário, o instantâneo é considerado consistente com a aplicação.

Criar instantâneos consistentes em caso de falha do sistema

Quando tira uma captura instantânea de um disco persistente ou um Hyperdisk, não precisa de realizar passos adicionais para tornar a captura instantânea consistente em caso de falha do sistema. Em particular, não precisa de pausar a sua carga de trabalho.

Se a sua carga de trabalho não tolerar uma pausa temporária, considere o seguinte processo para criar instantâneos consistentes em caso de falha:

  1. Capturar um instantâneo enquanto as aplicações estão em execução, partindo do princípio de que haverá algumas inconsistências nos dados das aplicações.
  2. Verifique se consegue restaurar a sua carga de trabalho para um estado de aplicação aceitável a partir da captura instantânea.
  3. Com base no passo anterior, mantenha ou elimine a captura instantânea.

É provável que as imagens instantâneas consistentes com falhas de sistema exijam a repetição do sistema de ficheiros e dos registos ao nível da aplicação antes da utilização. Assim, a qualidade da sua captura instantânea depende da capacidade da sua aplicação de recuperar rapidamente de um estado consistente com falhas para voltar a servir.

Criar instantâneos consistentes com a aplicação

  • Utilizadores do Windows Server: para discos associados a instâncias do Windows Server, use cópias instantâneas de VSS.
  • Utilizadores do Linux: para alcançar a consistência das aplicações para instantâneos de discos associados a instâncias do Linux, crie scripts de shell pré e pós-instantâneo para preparar o seu sistema para a consistência das aplicações. Em seguida, crie uma captura de ecrã com a opção guest-flush ativada. Isto executa os scripts pré e pós antes e depois de a captura de ecrã ser feita. Para ver instruções, consulte o artigo Criar instantâneos consistentes de aplicações Linux.

Criar manualmente instantâneos consistentes da aplicação

Em alguns cenários, pode ter de pausar manualmente as suas aplicações para alcançar cópias instantâneas consistentes com as aplicações.

Por exemplo, use esta opção se precisar de consistência da aplicação entre vários volumes de disco persistente ou Hyperdisk. Neste caso, tem de congelar todos os sistemas de ficheiros em cada disco e concluir todas as capturas de ecrã desses discos antes de retomar as suas apps.

Não precisa de parar as VMs. A pausa da aplicação pode envolver, por exemplo, o congelamento e a desmontagem do seu sistema de ficheiros. Depois de pausar manualmente as aplicações, retome as cargas de trabalho apenas depois de o recurso de instantâneo atingir o estado UPLOADING.

Quando pede uma captura instantânea, verifique o estado da operação chamando o método globalOperations.get. A tabela seguinte mostra a relação entre o estado da operação de instantâneo e o estado do recurso de instantâneo.

Estado de funcionamento Estado do recurso de instantâneo
PENDING Ainda não existe um recurso de instantâneo.
RUNNING CREATING ou UPLOADING

CREATING: a criação do instantâneo ainda não está concluída.
UPLOADING: O instantâneo foi criado, mas ainda não foi guardado no Cloud Storage.
DONE FAILED ou READY.

Limites de frequência de resumos

Existem limites para a frequência com que pode tirar uma captura instantânea de um disco.

Criar instantâneos a partir de um Persistent Disk ou um Hyperdisk

Pode criar uma imagem instantânea de um disco individual, no máximo, 6 vezes a cada 60 minutos.

Se o limite for excedido, a operação falha e devolve o seguinte erro:

"code": "RESOURCE_OPERATION_RATE_EXCEEDED",
"message": "Operation rate exceeded for resource 'projects/project-id/zones/zone-id/disks/disk-name'.
Too frequent operations from the source resource."

Este limite aplica-se às seguintes operações:

Este limite não se aplica às seguintes operações:

Como prática recomendada, tire uma captura instantânea do disco uma vez por hora. Evite tirar capturas de ecrã com mais frequência. A forma mais fácil de o fazer é configurar uma programação de instantâneos.

Criar novos discos zonais a partir de instantâneos

Pode criar um novo disco persistente ou Hyperdisk zonal a partir de uma determinada imagem instantânea por zona de destino, no máximo, 6 vezes a cada 60 minutos. A zona de destino refere-se à localização de armazenamento do novo disco criado a partir do instantâneo. Google Cloud não garante que possa criar discos a partir de um instantâneo a uma taxa mais rápida, embora possa criar discos com mais frequência se não tiver criado discos a partir do instantâneo na última hora.

Tenha em atenção que várias capturas instantâneas dos mesmos discos são consideradas capturas instantâneas distintas relativamente a este limite de frequência.

Se este limite for excedido, a operação falha e devolve o seguinte erro:

"code": "RESOURCE_OPERATION_RATE_EXCEEDED",
"message": "Operation rate exceeded for resource 'projects/project-id/global/snapshots/snapshot-name'.
Too frequent operations from the source resource."

Este limite aplica-se às seguintes operações:

Este limite não se aplica às seguintes operações:

  • Criar novos discos persistentes regionais a partir de uma captura de ecrã.
  • Criar novos discos persistentes zonais ou regionais usando uma imagem como origem.

Para criar vários discos a partir de um instantâneo, use o instantâneo para criar uma imagem e, em seguida, crie os discos a partir da imagem:

  1. Crie uma imagem a partir do instantâneo.
  2. Crie discos a partir da imagem.

Para discos não de arranque, siga as instruções para criar discos persistentes a partir da imagem e use os seguintes passos:

  • Na Google Cloud consola, selecione Imagem como o Tipo de origem do disco.
  • Com a CLI gcloud, use a flag image.
  • Se usar REST, use o parâmetro sourceImage.

Use instantâneos existentes como base para instantâneos subsequentes

Se tiver instantâneos existentes de um disco (Persistent Disk ou Hyperdisk), o sistema usa-os automaticamente como base para todos os instantâneos subsequentes que criar a partir desse mesmo disco.

  • Crie um novo instantâneo a partir de um disco antes de eliminar o instantâneo anterior desse mesmo disco. O sistema pode criar o novo instantâneo mais rapidamente se puder usar o instantâneo anterior e ler apenas os dados novos ou alterados do disco.
  • Aguarde que os novos resumos terminem antes de tirar resumos subsequentes do mesmo disco. Se executar duas capturas instantâneas em simultâneo no mesmo disco, ambas começam a partir da mesma base e duplicam o esforço. Se aguardar que o novo instantâneo termine, todos os instantâneos subsequentes são executados mais rapidamente, porque só obtêm os dados que foram alterados desde que o último instantâneo terminou.

Agende instantâneos durante as horas de menor procura

Se programar instantâneos regulares para os seus discos (Persistent Disk ou Hyperdisk), pode reduzir o tempo necessário para concluir cada instantâneo criando-os durante as horas de menor atividade, quando possível.

  • Agende instantâneos automáticos durante o horário de expediente na zona onde o disco está localizado. Normalmente, a criação de instantâneos atinge o pico no final do dia útil.
  • Agende capturas de ecrã automáticas para o início da manhã na zona onde o disco se encontra, em vez de imediatamente à meia-noite. Normalmente, a criação de instantâneos atinge o pico à meia-noite.

Organize os seus dados em discos separados

Se criar um instantâneo de um disco (Persistent Disk ou Hyperdisk), todos os dados que armazenar no disco são incluídos no instantâneo. As quantidades maiores de dados criam instantâneos maiores, que custam mais e demoram mais tempo a criar. Para garantir que cria um instantâneo apenas dos dados de que precisa, organize os seus dados em discos separados.

  • Armazene dados críticos num disco secundário ou de dados, em vez de no disco de arranque. Isto permite-lhe criar uma captura instantânea dos discos de arranque apenas quando necessário ou com uma programação menos frequente.
  • Se criar instantâneos dos seus discos de arranque, armazene partições de troca, ficheiros de paginação, ficheiros de cache e registos não críticos num disco separado. Estes ficheiros e partições mudam frequentemente, e o processo de instantâneo tem probabilidade de os identificar como dados alterados que têm de ser incluídos num instantâneo incremental.
  • Reduza o número de instantâneos que tem de criar mantendo os dados semelhantes juntos num disco. Mantenha o sistema operativo e os dados voláteis separados dos dados dos quais quer criar uma imagem instantânea, mas não precisa de distribuir os dados críticos por vários discos como faria para uma máquina física. Um disco grande consegue o mesmo desempenho que vários discos mais pequenos do mesmo tamanho total.

Ative a opção discard ou execute fstrim no disco

Em instâncias do Linux, se não formatou nem montou os discos (disco persistente ou Hyperdisk) com a opção discard, execute o comando fstrim na instância antes de criar uma captura de ecrã. O comando remove os blocos de que o sistema de ficheiros já não precisa, para que o sistema possa criar a captura de ecrã mais rapidamente e com um tamanho mais pequeno. Para saber como configurar a opção de rejeição nos seus discos, consulte o artigo Formate e monte um disco não inicializável numa VM do Linux.

Cria uma imagem de um instantâneo usado com frequência

Se estiver a usar repetidamente um instantâneo na mesma zona para criar um disco (disco persistente ou Hyperdisk), poupe custos de rede usando o instantâneo uma vez e criando uma imagem desse instantâneo. Armazene esta imagem e use-a para criar o disco e iniciar uma instância de VM. Para ver instruções, consulte o artigo Criar uma imagem personalizada.

Como prática recomendada, tire uma captura instantânea do disco uma vez por hora. Evite tirar capturas de ecrã com mais frequência. A forma mais fácil de o fazer é configurar uma programação de instantâneos.

Outras práticas recomendadas

  • Use sistemas de ficheiros de registo, como o ext4, para reduzir o risco de os dados serem colocados em cache sem serem realmente escritos no disco persistente.
  • Crie um instantâneo dos seus dados de forma regular para minimizar a perda de dados devido a falhas inesperadas.

O que se segue?