Práticas recomendadas para instantâneos de disco permanente

Crie instantâneos de disco permanente a qualquer momento, mas crie instantâneos mais rapidamente e com mais confiabilidade usando as práticas recomendadas a seguir.

Antes de começar

Preparar o disco permanente para a melhor consistência de instantâneo

Na maioria das situações, você cria um instantâneo de discos permanentes, mesmo que os aplicativos estejam gravando dados neles, e ainda espera que o instantâneo tenha boa consistência. A qualidade do instantâneo depende da capacidade dos aplicativos de se recuperar dos instantâneos que você cria durante intensas cargas de trabalho de gravação.

Se os aplicativos exigirem consistência rigorosa, siga etapas adicionais para garantir que um instantâneo seja consistente com o estado pretendido do disco permanente.

Como esvaziar os buffers do disco antes de um instantâneo

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

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

Para preparar o disco permanente antes de criar um instantâneo, siga estas etapas:

  1. Conecte-se à instância usando SSH.
  2. Execute um esvaziamento do aplicativo para o 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 esvaziados para o disco pelo aplicativo serão incluídos no instantâneo. 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 instantâneo. 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 instantâneo. Isso costuma ser desnecessário, mas melhora a consistência do instantâneo.

  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 instantâneo:

    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 capturar um instantâneo, reative o disco permanente. Consulte Como formatar e ativar um disco permanente para mais informações.

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 instantâneos desses discos antes de retomar os aplicativos. O Compute Engine não garante a consistência entre instantâneos simultâneos em execução em vários discos permanentes.

Use sistemas de arquivos de registro em 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 instantâneos VSS para ajudar a preservar a integridade dos dados.

Use instantâneos atuais como referência para instantâneos posteriores

Se você tiver instantâneos em um disco permanente, o sistema os usará automaticamente como referência para qualquer instantâneo posterior que você criar a partir desse mesmo disco.

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

  • Aguarde a finalização dos novos instantâneos antes de tirar instantâneos subsequentes do mesmo disco permanente. Se você executar dois instantâneos simultaneamente no mesmo disco permanente, ambos partirão da mesma referência e duplicarão o esforço. Se você aguardar a conclusão do novo instantâneo, todos os instantâneos subsequentes serão executados mais rapidamente porque só precisam receber os dados que mudaram desde a finalização do último instantâneo.

Programe instantâneos fora do horário de pico

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

  • Programe instantâneos automatizados durante o dia útil na zona em que o disco permanente está localizado. A criação de instantâneos costuma ocorrer ao fim do dia útil.
  • Programe instantâneos 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 instantâneos costuma ocorrer à meia-noite.

Organize dados em discos permanentes separados

Se você criar um instantâneo de um disco permanente, todos os dados armazenados no disco serão incluídos no instantâneo. Maiores quantidades de dados criam instantâneos maiores, o que custa mais e leva mais tempo. Para garantir que seja feito o instantâneo apenas dos dados necessários, organize os 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 instantâneo dos discos de inicialização somente quando necessário ou com menos frequência.
  • Se você criar instantâneos 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 partições mudam com frequência, e o processo de instantâneo provavelmente os identifica como dados alterados que precisam ser incluídos em um instantâneo incremental.
  • Para reduzir o número de instantâneos 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 do instantâneo, mas não é preciso distribuir os dados críticos em vários discos permanentes, como você faria em uma máquina física. 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 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 instantâneo. O comando remove os blocos de que o sistema de arquivos não precisa mais, para que o sistema possa criar o instantâneo 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