Práticas recomendadas para snapshots de disco permanente

Crie snapshots de disco permanente a qualquer momento, mas crie snapshots mais rapidamente e com mais segurança usando as práticas recomendadas a seguir.

Antes de começar

Como preparar snapshots consistentes

Na maioria das situações, é possível criar um snapshot a partir de discos permanentes e, mesmo que seus aplicativos gravem dados nesses discos, o snapshot ainda terá boa consistência. A qualidade do snapshot depende da capacidade dos aplicativos de se recuperarem dos snapshots que você cria durante intensas cargas de trabalho de gravação.

Se seus aplicativos exigirem consistência rigorosa, siga as etapas a seguir para garantir que um snapshot seja consistente com o estado desejado do disco permanente.

Esvaziar os buffers do disco antes de um snapshot

É possível criar um snapshot de um disco permanente mesmo enquanto seus aplicativos gravam dados no disco. No entanto, você melhorará a consistência do snapshot se esvaziar os buffers do disco e sincronizar o sistema de arquivos antes de criar um snapshot.

Pause aplicativos ou processos do sistema operacional que gravam dados nesse disco permanente. Em seguida, esvazie os buffers de disco antes de criar o snapshot.

Para preparar o disco permanente antes de criar um snapshot, siga estas etapas:

  1. Conecte-se à instância usando SSH.
  2. Esvazie o aplicativo no disco. Por exemplo, o MySQL tem uma instrução FLUSH. Use a ferramenta que estiver disponível para o aplicativo.
  3. Interrompa a gravação de dados dos aplicativos no disco permanente.
  4. Execute sudo sync.

Se você pular essa etapa, somente os dados que foram esvaziados do disco pelo aplicativo serão incluídos no snapshot. Para o aplicativo, esse cenário é semelhante a uma queda de energia.

Congelar e desconectar o sistema de arquivos

Uma alternativa é congelar ou desconectar o sistema de arquivos antes de capturar um snapshot. Essa é a maneira mais confiável de garantir que os buffers de disco sejam limpos, mas não é tão prática quanto esvaziá-los.

Desconecte completamente o disco permanente para garantir que os dados não sejam gravados nele enquanto você cria o snapshot. Isso costuma ser desnecessário, mas melhora a consistência do snapshot.

  1. Conecte-se à instância usando SSH.
  2. Interrompa os aplicativos que estejam lendo ou gravando dados no disco permanente.
  3. Congele ou desconecte o sistema de arquivos.

    1. Congelar: sudo fsfreeze -f [example-disk_location]
    2. Desconectar: sudo umount [example-disk_location]

    Descongele ou ative o sistema de arquivos após concluir o snapshot:

    1. Descongelar: sudo fsfreeze -u [example-disk_location]
    2. Ativar: sudo mount [example-disk_location mount_location]

Usuários do Linux

Se o disco estiver conectado a uma instância do Linux, desconecte o disco da instância conectando-se à instância e usando a ferramenta umount:

sudo umount /dev/disk/by-id/google-[DISK_NAME]

em que [DISK_NAME] é o nome do disco permanente.

Usuários do Windows

Se o disco estiver conectado a uma instância do Windows, desconecte o disco da instância conectando-se à instância e usando a ferramenta Gerenciamento de discos.

Reativar o disco permanente

Depois de criar um snapshot, reative o disco permanente. Para mais informações, consulte Como formatar e ativar um disco permanente.

Se os aplicativos exigirem consistência entre vários discos permanentes, é preciso congelar ou desconectar todos os sistemas de arquivos em cada disco e concluir todos os snapshots desses discos antes de retomar os aplicativos. O Compute Engine não garante a consistência entre snapshots simultâneos em execução em vários discos permanentes.

Use sistemas de arquivos com registro de diário, como ext4, para reduzir o risco de armazenar os dados em cache sem que sejam de fato gravados no disco permanente.

Discos permanentes usando instâncias do Windows Server

Para discos permanentes anexados a instâncias do Windows Server, use snapshots VSS para ajudar a preservar a integridade dos dados.

Como sempre criar snapshots com eficiência

Use snapshots para gerenciar seus dados com eficiência.

  • Crie um snapshot de seus dados regularmente para minimizar a perda de dados devido a uma falha inesperada.

  • Melhore o desempenho eliminando o excesso de downloads de snapshots e criando e reutilizando uma imagem.

  • Defina a programação do snapshot para horários que não sejam de pico para reduzir o tempo do snapshot.

Criar uma imagem de um snapshot usado com frequência

Se você usar repetidamente um snapshot na mesma zona para criar um disco permanente, economize custos de rede usando o snapshot uma vez e criando uma imagem desse snapshot. Armazene essa imagem e use-a para criar o disco e iniciar uma instância da VM. Para mais instruções, consulte Como criar uma imagem personalizada.

Como prática recomendada, tire um snapshot do disco uma vez a cada hora. Evite tirar snapshots com mais frequência do que isso. A maneira mais fácil de fazer isso é configurar uma programação de snapshot.

Usar snapshots atuais como valor de referência para snapshots posteriores

Se você tiver snapshots em um disco permanente, o sistema os usará automaticamente como valor de referência para qualquer snapshot posterior que você criar a partir desse mesmo disco.

  • Crie um novo snapshot a partir de um disco permanente antes de excluir o anterior desse mesmo disco permanente. O sistema poderá criar o novo instantâneo mais rapidamente se puder usar o anterior e lerá apenas os dados novos ou alterados do disco permanente.

  • Aguarde a finalização dos novos snapshots antes de criar os subsequentes do mesmo disco permanente. Se você executar dois snapshots simultaneamente no mesmo disco permanente, ambos partirão do mesmo valor de referência e esforços duplicados. Se você esperar que o novo snapshot seja concluído, todos os subsequentes serão executados mais rapidamente, pois eles só precisarão receber os dados que foram alterados desde o último snapshot.

Programar snapshots fora do horário de pico

Se você programar snapshots regulares para os discos permanentes, poderá reduzir o tempo necessário para completar cada snapshot, criando-os fora do horário de pico, quando possível.

  • Programe snapshots automatizados durante o dia útil na zona em que o disco permanente está localizado. A criação de snapshots costuma ocorrer ao fim do dia útil.
  • Programe snapshots automatizados no início da manhã na zona em que o disco permanente está localizado, em vez de imediatamente à meia-noite. A criação de snapshots costuma ocorrer à meia-noite.

Organizar dados em discos permanentes separados

Se você criar um snapshot de um disco permanente, os dados armazenados no disco serão incluídos no snapshot. Maiores quantidades de dados criam snapshots maiores, o que custa mais e é mais demorado. Para garantir a criação de um snapshot somente dos dados necessários, organize seus dados em discos permanentes separados.

  • Armazene dados críticos em um disco permanente secundário, não no disco de inicialização. Isso permite criar um snapshot dos seus discos de inicialização somente quando necessário ou com uma programação menos frequente.
  • Se você criar snapshots dos discos de inicialização, armazene partições de troca, arquivos de página, arquivos de cache e registros não críticos em um disco permanente separado. Esses arquivos e essas partições mudam com frequência, e o processo do snapshot provavelmente os identifica como dados alterados que precisam ser incluídos em um snapshot incremental.
  • Para reduzir o número de snapshots que você precisa criar, mantenha dados similares reunidos em um único disco permanente. Mantenha o sistema operacional e os dados voláteis separados dos dados que quer tirar o snapshot, mas não distribua os dados essenciais entre vários discos permanentes como faria com máquinas físicas. Um disco permanente grande é capaz de atingir o mesmo desempenho que vários discos permanentes menores com o mesmo tamanho total.

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

Nas instâncias do Linux, se você não formatou e ativou o disco permanente com a opção discard, execute o comando fstrim na instância antes de criar um snapshot. O comando remove os blocos de que o sistema de arquivos não precisa mais, para que o sistema possa criar o snapshot mais rapidamente e com um tamanho menor. Consulte o artigo sobre como formatar e ativar um disco permanente para saber como configurar a opção discard nos discos permanentes.

A seguir

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

Enviar comentários sobre…

Documentação do Compute Engine