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 aprender a criar e gerenciar backups, bem como a 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 do compartilhamento de arquivos desde o momento em que o backup é criado.

Depois de criar um backup de um compartilhamento de arquivos, você pode modificar ou excluir o compartilhamento de arquivos original sem afetar o backup.

É possível usar um backup para restaurar um compartilhamento de arquivos em uma nova instância do Filestore ou, no caso de instâncias de nível básico, para a origem ou um compartilhamento de arquivos atual.

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 que a instância do Filestore ou em outra região para reduzir o risco de perda de dados.

Os backups são endereçáveis globalmente e podem ser usados para restaurar compartilhamentos de arquivos em qualquer região, mas não podem ser compartilhados entre projetos.

Criação do backup

O primeiro backup criado é uma cópia completa de todos os dados e metadados do arquivo em um compartilhamento de arquivos. Cada backup subsequente copia todas as alterações sucessivas feitas nos dados desde o backup anterior.

Um grupo de backups associados à mesma instância, região e CMEK (se usado) é chamado de cadeia de backup.

Uma cadeia de backup fica em um único bucket e região do Cloud Storage e pode ser localizada fora da região usada para armazenar a instância de origem.

Todos os níveis de serviço aceitam várias cadeias de backup. Assim, é possível armazenar os backups de uma instância em várias regiões.

Sempre que um backup é criado, o backup anterior é verificado em busca de mudanças diferenciais e incrementais:

  • Mudanças diferenciais:inclui mudanças feitas nos arquivos no compartilhamento, como edições, adições ou exclusões.

  • Alterações incrementais: inclui alterações no armazenamento no bucket em que os dados de backup estão localizados. Isso pode incluir a eliminação de duplicação de dados mencionados anteriormente na cadeia.

Sempre que você salva um backup na mesma cadeia de backups, o backup anterior é verificado em busca de mudanças diferenciais e incrementais. Nesses casos, não é necessária uma cópia completa.

No entanto, armazenar os dados de uma instância em várias cadeias de backup significa que você está salvando e armazenando backups em locais alternados.

Sempre que você cria um novo backup em um local alternativo, uma cópia completa do backup é gerada novamente. A latência esperada é maior em operações create de backup ao alternar entre cadeias de backup.

Os dados inalterados contidos nos backups anteriores são referenciados, mas não copiados para os 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 internas 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 Capturar o estado atual do compartilhamento de arquivos. As novas alterações nos dados do 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 Fazer upload dos dados para o backup. As novas alterações nos dados do 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 da camada básica são compactados automaticamente para reduzir os custos. O desempenho da instância pode ser reduzido ao criar um backup para instâncias na zona (anteriormente SSD de alta escala) e nos níveis de serviço corporativo. A criação de um backup não afeta a disponibilidade ou o desempenho das instâncias de nível básico.

Exclusão do backup

Os backups são recursos para envolvidos no projeto, não um sub-recurso da instância de origem, e exigem o próprio armazenamento separado. Como resultado, o ciclo de vida do backup não está vinculado ao da instância de origem. A exclusão da origem não remove os backups associados. Para excluir um backup, você precisa executar explicitamente uma operação de exclusão nele, não na instância.

Exclua todos os backups indesejados. Se uma instância de origem for excluída, os backups restantes continuarão a acumular taxas.

A exclusão de um backup é permanente e não pode ser desfeita.

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

As seções a seguir descrevem casos de uso comuns para backups.

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 os 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 instância do Filestore com base no backup, ative-a no mesmo cliente da instância original e copie o arquivo.

Antes de copiar o arquivo, use o comando diff do Linux nos dois pontos de ativação para verificar as diferenças entre os dados na instância original e os dados restaurados do backup. Depois que os dados forem recuperados, exclua a instância restaurada e crie um novo backup para preservar o estado atual dos dados 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 executar uma restauração no local, porque todos os dados sem backup sã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 dela. Para migrar os dados para outra região, crie um backup deles e use o backup para criar uma instância do Filestore ou restaurá-la para uma instância atual.

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

Limitações do recurso

Os backups do Filestore estão com disponibilidade geral (GA) em todos os níveis de serviço.

Considere as seguintes limitações:

  • Os backups do Filestore não podem ser combinados com o recurso de compartilhamentos vários do Filestore.

  • Depois que os preços forem implementados, as taxas relevantes vão ser aplicadas.

  • Os usuários precisam criar um novo backup ou backups para substituir os criados em Prévia. Os backups criados no pré-lançamento estão sujeitos a exclusão. Os backups criados no pré-lançamento refletem o comportamento do recurso disponível no momento da criação. Os backups atuais não são atualizados quando novos recursos são lançados.

Nas seções a seguir, abordamos em detalhes outras limitações de recursos relacionadas a desempenho, armazenamento, capacidade e criptografia:

Desempenho

  • Muitas alterações feitas por meio de links físicos no mesmo arquivo (por exemplo, dezenas ou centenas de milhares) podem afetar o desempenho.

  • Para instâncias altamente utilizadas, o desempenho pode ser reduzido em até 15% durante o upload de um backup. O desempenho da instância de nível básico não é afetado pelas operações create de backup.

  • O armazenamento de dados de uma instância em várias cadeias de backup afeta o desempenho do backup. Espere maior latência em operações create de backup ao alternar entre cadeias de backup.

  • Pode ser que as operações da instância, como a instância restore ou delete, sejam atrasadas até que uma operação de backup create seja concluída.

  • Em alguns casos, as operações do delete podem levar até 24 horas para serem concluídas.

Simultaneidade de operações

  • As operações delete de backup associadas à mesma instância de origem precisam ser realizadas uma de cada vez.

    As operações delete de backup em massa dentro de uma cadeia de backup não são compatíveis. Enquanto uma operação delete estiver pendente, todas as novas operações delete na mesma cadeia de backup retornarão um erro RESOURCE_EXHAUSTED. Isso não importa se a instância de origem foi excluída.

    • Se a instância de origem tiver sido excluída, os usuários receberão um erro FAILED_PRECONDITION semelhante.

    • Essa limitação se aplica a todos os níveis de serviço, exceto SSD e HDD básicos.

    • O Filestore é compatível com operações simultâneas de delete de backup quando os backups fazem referência a instâncias de origem separadas.

      Por exemplo, uma instância rotulada como Source1 tem dados de backup referenciados em Backup1 e Backup2. Source2 tem dados de backup referenciados em Backup3 e Backup4. No entanto, Backup1 e Backup2 não podem ser excluídos em paralelo, no entanto, Backup2 e Backup3 podem.

  • As operações create e delete de backup iniciadas na mesma cadeia de backup podem ser executadas simultaneamente. No entanto, os usuários não podem concluir uma operação create enquanto o backup mais recente está sendo excluído.

    • Se o usuário tentar criar um novo backup da instância enquanto o backup mais recente estiver sendo excluído, ele receberá um erro FAILED_PRECONDITION. Por exemplo, se Source1 tiver uma cadeia de backup composta por Backup1 e Backup2, e o usuário iniciar uma operação create para Backup3, ele não poderá excluir Backup2 até que a operação create seja concluída. Isso ocorre porque o backup mais recente contém os dados mais críticos necessários para concluir a operação de backup create.
  • Para mais informações sobre limites de taxa de operação, consulte Limites de taxa de operação para backups.

Armazenamento

  • As operações restore de backup para a instância de origem ou para uma instância atual não são compatíveis com instâncias de nível empresarial e zonal. Se quiser restaurar o backup de uma instância em um desses níveis de serviço, crie uma nova instância.

  • As operações de backup, como restore, edit ou delete, podem não estar disponíveis para alguns backups criados na visualização.

  • Depois que uma operação RestoreInstance é aplicada a uma instância corporativa, não será possível criar snapshots com os mesmos nomes dos snapshots anteriores antes da operação.

  • As tentativas de restaurar uma instância de um backup enquanto uma exclusão de backup ou de snapshot estiverem em andamento falharão.

  • Se a exclusão de um backup falhar, o status será marcado como invalid. Nesses casos, você precisará repetir a operação delete.

Capacidade

Cada backup ocupa a capacidade da instância. Essa capacidade varia em relação ao escopo das alterações feitas nos dados desde a criação do último backup.

Mais especificamente, quando um backup é criado, o Filestore cria um snapshot interno do sistema de arquivos que também ocupa uma parte da capacidade da instância disponível.

O tamanho do snapshot também em relação ao escopo das alterações feitas nos dados do compartilhamento desde a criação do último backup. Esse snapshot continua existindo até que o próximo backup subsequente seja criado e carregado.

Todos os dados referenciados pelo backup permanecem no estado como estavam quando capturados e continuam consumindo capacidade do sistema de arquivos. Por exemplo, se você excluir dados do sistema de arquivos montado, essa ação em si não liberará capacidade. Em vez disso, você criaria um novo backup após excluir ou substituir quantidades significativas de dados.

Para uma descrição detalhada das alterações diferenciais e incrementais e como elas são processadas, consulte Criação de backup.

Para prever capacidade suficiente para suas cargas de trabalho, considere aplicar uma das seguintes opções:

  • Aumente a capacidade da instância para cargas de trabalho com alterações de dados significativas e frequentes ou uma alta taxa de alterações.

Criptografia

Ao usar a CMEK para criptografar suas cadeias de backup, as seguintes limitações se aplicam:

  • Uma cadeia de backup inteira é criptografada usando a mesma CMEK.

  • Uma CMEK precisa residir na mesma região que o recurso que ela criptografa.

  • Se você estiver armazenando uma cadeia de backup em uma região separada da instância de origem, pode ser necessário aplicar chaves separadas, uma para a origem e outra para a cadeia de backup.

    • Todos os níveis de serviço são compatíveis com várias cadeias de backup ou a capacidade de armazenar os backups de uma instância em várias regiões. Se você optar por usar a CMEK para criptografia, uma chave CMEK precisará residir na mesma região que o recurso criptografado. Se você estiver armazenando backups em uma região separada da origem e a CMEK não for uma chave multirregional, use chaves CMEK separadas. Para mais informações, consulte Restrições de CMEK e Como escolher o melhor local de CMEK.
  • Uma única CMEK é aplicada ao bucket do Cloud Storage em que a cadeia de backup está armazenada e não pode ser combinada ou substituída.

  • O suporte a CMEK não está disponível para backups de nível básico.

Para mais informações, consulte Suporte de CMEK para cadeias de backup.

Práticas recomendadas

As seções a seguir abordam as 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). Como alternativa, é possível 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 atuais de um compartilhamento de arquivos em uma região são usados como valores de referência para criar 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 desse compartilhamento.

  • Aguarde até que os 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

Quanto mais dados no compartilhamento de arquivos, maior o backup e maior o custo. Para fazer backup apenas dos dados necessários, recomendamos organizar seus dados em compartilhamentos de arquivos separados, a saber:

  • Armazenar dados críticos com diferentes padrões de gravação ou com diferentes requisitos de backup em diferentes compartilhamentos de arquivos.
  • Reduzir o número de backups que você precisa criar, mantendo dados semelhantes em um compartilhamento de arquivos.

Cota

Existe um limite de cota relativo ao número de backups por região para os níveis de serviço SSD básico e HDD básico.

Os limites de cota de backup não se aplicam aos níveis de serviço zonal e empresarial.

Para mais informações, acesse Níveis de serviço e cota.

Noções básicas sobre os backups do Filestore

Para começar a usar o recurso, consulte Fazer backup de dados para recuperação de desastres.

A seguir