Visão geral dos backups

Nesta página, você verá o que é um backup, como ele funciona, alguns casos de uso comuns e práticas recomendadas para criar e usar backups. Para saber como criar e gerenciar backups e como restaurar uma instância do Filestore a partir de um backup, consulte Fazer backup de dados para recuperação de desastres.

O que é um backup?

Um backup do Filestore é uma cópia de um compartilhamento de arquivos que inclui todos os dados e metadados dele a partir do momento em que o backup é criado. Depois que o backup de um compartilhamento de arquivos é criado, o compartilhamento de arquivos original pode ser modificado ou excluído sem afetar o backup. Um compartilhamento de arquivos pode ser completamente restaurado a partir de um backup como uma nova instância do Filestore ou para um compartilhamento de arquivos existente.

Os backups são recursos regionais que permanecem na região especificada no momento da criação. É possível criar backups na mesma região da instância do Filestore ou em outra região para redundância entre regiões. Os backups são globalmente endereçáveis e podem ser usados para restaurar compartilhamentos de arquivo para qualquer região. No entanto, eles não podem ser compartilhados entre projetos.

Criação do backup

Os backups de uma região são criados gradualmente com base nos backups anteriores. O primeiro backup criado é uma cópia completa do compartilhamento de arquivos. Os backups subsequentes incluem apenas as alterações que não estão contidas no backup anterior. Os dados inalterados contidos em backups anteriores são referenciados, mas não copiados, para backups mais recentes. Se um backup mais antigo for excluído, os dados exclusivos dele serão copiados para o próximo backup mais recente e todas as referências de dados internos serão atualizadas automaticamente.

A criação do backup é instantânea, mas é preciso um período proporcional à quantidade de dados copiados para que o backup esteja disponível para uso. Durante esse período, o backup passa por três estados:

Estado Duração Descrição
Criando Alguns segundos Como capturar o estado atual do compartilhamento de arquivos. As novas alterações nos dados de compartilhamento de arquivos podem ou não ser incluídas no backup. As gravações estáveis reconhecidas pela instância antes do início do backup são incluídas.
Finalizando Depende do tamanho Fazendo upload de dados para o backup. As novas alterações nos dados de compartilhamento de arquivos não são incluídas no backup.
Ready Até que o backup seja excluído O backup está pronto para uso.

Após a criação, os backups são compactados automaticamente para reduzir os custos. Fazer um backup não afeta a disponibilidade ou o desempenho da instância do Filestore.

Consistência no backup

Os backups do Filestore têm a semântica de consistência NFSv3. Antes de um backup ser iniciado, qualquer gravação que a instância do Filestore reconhece como gravada no armazenamento estável ou que é seguida por um COMMIT confirmado é incluída no backup. Para mais detalhes, consulte a seção 3.3.7 do NFSv3 RFC-1813.

Casos de uso comuns

Como fazer backup de dados para recuperação de desastres

Imagine que você tem uma instância do Filestore em us-west1-c e quer proteger seus dados contra desastres que afetam essa região. Você pode agendar um job que crie backups desta instância regularmente para uma região remota, como us- east1. Se ocorreu um desastre que envolve us-west1-c, é possível criar uma nova instância em outro local a partir de qualquer backup anterior.

Como fazer backup de dados para proteção contra alterações acidentais

Se você quiser proteger os dados do Filestore contra alterações não intencionais, programe um job que crie backups da instância regularmente. Se você perder dados, poderá navegar na lista de backups para identificar aquele com a versão do arquivo necessária. Em seguida, crie uma nova instância do Filestore a partir do backup, ative-a no mesmo cliente da instância original e copie o arquivo.

Também é possível usar o comando diff nos dois pontos de montagem para verificar as diferenças entre os dados da instância original e os dados restaurados do backup. Depois que os dados forem recuperados, será possível excluir a instância restaurada, e o backup será preservado para uso futuro.

Como alternativa, você pode fazer uma restauração no local, em que os dados de backup são restaurados diretamente para a instância original do Filestore, substituindo todos os dados dela pelos dados do backup. Recomendamos que você crie um backup dos dados mais recentes antes de realizar uma restauração no local, porque todos os dados não armazenados serão perdidos.

Como criar clones para desenvolvimento e teste

Imagine que você tenha uma configuração de banco de dados em uma instância do Filestore que exiba tráfego de produção. Se você quiser executar um teste com um banco de dados como entrada, poderá criar uma nova instância do Filestore a partir de um backup da instância de produção para o teste. Dessa maneira, o uso do teste não interfere na produção.

Da mesma forma, é possível usar backups para análise e investigação off-line sem afetar a produção.

Como migrar dados

Depois de criar uma instância do Filestore, não será possível alterar o local ou o nível de serviço. Para migrar os dados para outra região, crie um backup deles e use o backup para criar uma nova instância do Filestore ou restaurá-lo para uma instância atual.

Além disso, quando você cria uma nova instância do Filestore a partir de um backup, é possível escolher entre os níveis de HDD básico e SDD básico, independentemente do nível da instância de origem.

Práticas recomendadas

Como preparar o compartilhamento de arquivos para ter uma melhor consistência de backup

A qualidade de um backup depende da capacidade do aplicativo de se recuperar dos backups criados durante cargas de trabalho de gravação pesadas. Na maioria das situações, é possível criar backups com boa consistência, mesmo que os aplicativos gravem dados no compartilhamento de arquivos. No entanto, se os aplicativos exigirem consistência rigorosa, recomendamos executar uma ou mais das seguintes opções:

  • Use a montagem de sincronização. Para mais informações, consulte a seção "Opção de montagem de sincronização" em nfs(5). Você também pode abrir arquivos com as sinalizações O_DIRECT|O_SYNC. Para mais informações, consulte open(2).
  • Pause os aplicativos ou processos do sistema operacional que gravam dados no compartilhamento de arquivos e faça com que eles limpem as alterações no compartilhamento de arquivos antes de iniciar o backup. Para ver mais informações, consulte fsync(2).
  • Se os aplicativos exigirem consistência entre vários compartilhamentos, pause todos os aplicativos em todas as instâncias que estiverem gravando nos compartilhamentos de arquivos e crie backups de todos os compartilhamentos de arquivos antes de retomar os aplicativos.
  • Se você precisar de consistência no nível do aplicativo, interrompa seus aplicativos e desative o compartilhamento de arquivos antes de criar um backup.

Como usar backups existentes como referência para novos backups a fim de reduzir o tempo de criação

Os backups existentes de um compartilhamento de arquivos em uma região são usados como valores de referência para criar novos backups do compartilhamento de arquivos, reduzindo o tempo de criação do backup. Portanto, recomendamos que você faça o seguinte:

  • Faça um novo backup de um compartilhamento de arquivos antes de excluir o backup anterior.
  • Aguarde que novos backups estejam no estado Ready antes de criar backups subsequentes do mesmo compartilhamento de arquivos.

Como programar backups fora do horário de pico para reduzir o tempo de criação

A criação de backups fora do horário de pico reduz o tempo que leva para criar um backup. Se você programar backups regulares dos compartilhamentos de arquivos, recomendamos que eles sejam programados fora do horário de pico, quando possível.

Os horários de pico para a criação de backups são o final de cada dia útil e a meia-noite da região onde a instância do Filestore está localizada. Recomendamos que você crie os backups no início da manhã ou durante o dia útil.

Como organizar seus dados em instâncias separadas do Filestore para maximizar a eficiência

Um backup copia todos os dados e metadados de um compartilhamento de arquivos. Quanto mais dados o compartilhamento de arquivos tiver, maior será o backup e o custo. Para fazer backup apenas dos dados necessários, recomendamos organizá-los em compartilhamentos de arquivos separados, a saber:

  • Armazenamento de dados críticos com diferentes padrões de gravação ou requisitos de backup distintos em diferentes compartilhamentos de arquivos.
  • Ao manter dados semelhantes em um compartilhamento de arquivos, você reduz o número de backups que precisam ser criados.

A seguir