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 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 a partir do momento em que o backup é criado.
Depois de criar o backup de um compartilhamento de arquivos, é possível modificar ou excluir o arquivo de arquivos 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, na origem ou em um compartilhamento de arquivos existente.
Os backups são recursos regionais que permanecem na região especificada em no momento da criação. É possível criar backups na mesma região que o Filestore ou para outra região, reduzindo 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 compartilhadas entre projetos.
As cobranças de transferência de rede se aplicam ao tráfego de rede entre regiões. Para mais detalhes, consulte a página Preços.
Criação do backup
O primeiro backup criado é uma cópia completa de todos os dados e metadados de um compartilhamento de arquivos. Cada backup subsequente copia todas as mudanças 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 backups.
Uma cadeia de backup reside 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 oferecem suporte a várias cadeias de backup, permitindo armazenar os backups de uma instância em várias regiões.
Sempre que um backup é criado, o backup anterior é verificado para detectar mudanças diferenciais e incrementais:
Mudanças diferenciais: inclui alterações feitas em arquivos no compartilhamento, como edições, exclusões ou edições de arquivos.
Mudanças incrementais: inclui mudanças no armazenamento no bucket em que os dados de backup estão localizados. Isso pode incluir a eliminação da duplicação de dados referenciadas na cadeia.
Sempre que você salva um backup na mesma cadeia, o backup anterior é e verificar mudanças diferenciais e incrementais. Nesses casos, não é necessário fazer uma cópia completa.
Porém, armazenar os dados de uma instância em várias cadeias de backup significa que você estão salvando e armazenando backups em locais alternados.
Toda vez que você cria um novo backup em um local alternado, uma cópia completa
do backup é gerado novamente. A latência será maior nas operações de backup create
ao alternar entre as 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.
Internamente, o histórico de uma cadeia de backup é rastreado com snapshots, que consomem na instância de origem.
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 de nível básico são compactados automaticamente para reduzir custos. A performance da instância pode ser reduzida ao criar um backup para instâncias em níveis de serviço zonal, regional e empresarial. Criar um backup não afeta a disponibilidade ou o desempenho de instâncias de nível básico.
Como lidar com dados redundantes
Por padrão, os backups são incrementais para evitar a cobrança de dados redundantes e para minimizam o uso do espaço de armazenamento. Para garantir a confiabilidade dos recursos histórico de alterações, um backup pode, ocasionalmente, capturar uma cópia completa da instância.
Para mais informações, consulte Comparar snapshots e backups.
Exclusão do backup
Os backups são recursos para envolvidos no projeto, não um sub-recurso da instância de origem, e precisam de armazenamento separado. Como resultado, o ciclo de vida de um backup não está vinculado ao da instância de origem. A exclusão da origem não exclui os backups associados. Se você quiser excluir um backup, execute explicitamente uma operação de exclusão no backup, não na instância.
Exclua todos os backups indesejados. Se uma instância de origem for excluída, e os backups restantes continuarão acumulando taxas.
A exclusão de um backup é permanente e não pode ser desfeita.
Consistência no backup
Os backups do Filestore têm semântica de consistência NFSv3 e NFSv4.1. 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
NFSv3 RFC-1813 seção 3.3.7
ou Sobre os protocolos do sistema de arquivos compatíveis.
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 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 criar 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 do dados mais recentes antes de realizar uma restauração no local, pois quaisquer dados não for perdida.
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 é possível alterar o local ou nível de serviço. 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, podem escolher entre HDD básico e níveis SSD básicos, independentemente do nível do instância de origem.
Limitações do recurso
Os backups do Filestore estão disponíveis para todos os níveis de serviço (GA).
Considere as seguintes limitações:
Os backups do Filestore não podem ser combinados com o Filestore recurso de compartilhamentos múltiplos.
Os usuários devem criar um backup ou backups para substituir os criados Prévia. Os backups criados na visualização 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.
As seções a seguir abordam outras limitações de recursos relacionadas ao desempenho, armazenamento, capacidade, criptografia e outros tópicos em detalhes:
Desempenho
Várias alterações feitas em muitos links físicos no mesmo arquivo (por exemplo, dezenas ou centenas de milhares) pode afetar o desempenho.
Para instâncias muito utilizadas, o desempenho pode ser reduzido em até 15% durante o upload de um backup. A performance da instância de nível básico não é afetada pelas operações de backup
create
.Armazenar os dados de uma instância em várias cadeias de backup afeta o desempenho do backup. A latência será maior nas operações de backup
create
ao alternar entre as cadeias de backup.Operações de instância, como a instância
restore
oudelete
, podem ser adiada até que uma operação de backupcreate
seja concluída.Em alguns casos, as operações
delete
podem levar até 24 horas para serem concluídas.
Simultaneidade de operações
As operações de backup
delete
associadas à mesma instância de origem precisam ser realizou uma de cada vez.Não é possível usar operações de backup em massa
delete
em uma cadeia de backup. uma operaçãodelete
estiver pendente, todas as novas operaçõesdelete
dentro da mesma a cadeia de backup retorna um erroRESOURCE_EXHAUSTED
. Isso acontece mesmo que a instância de origem tenha sido excluída.Se a instância de origem tiver sido excluída, os usuários receberão uma resposta semelhante
FAILED_PRECONDITION
erro.Essa limitação se aplica a todos os níveis de serviço, exceto SSD básico e HDD básico.
O Filestore oferece suporte para backup simultâneo
delete
operações 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 emBackup1
eBackup2
.Source2
tem dados de backup referenciados emBackup3
eBackup4
.Backup1
eBackup2
não podem ser excluídos em paralelo, masBackup2
eBackup3
podem.
Para mais informações, consulte Limites de taxa para backups.
Operações de backup
create
edelete
iniciadas no mesmo A cadeia de backup pode ser executada simultaneamente. No entanto, os usuários não podem concluir uma operação de backupcreate
enquanto o backup mais recente está sendo excluído.- Se o usuário tentar criar um novo backup da instância enquanto o
o backup recente está sendo excluído, ele vai receber uma
FAILED_PRECONDITION
erro. Por exemplo, seSource1
tiver uma cadeia de backup composta porBackup1
eBackup2
, e o usuário iniciar uma operaçãocreate
paraBackup3
, ele não poderá excluirBackup2
até que a operaçãocreate
seja concluída. Isso ocorre porque o backup mais recente contém os dados mais importantes necessário para concluir a operação de backupcreate
.
- Se o usuário tentar criar um novo backup da instância enquanto o
o backup recente está sendo excluído, ele vai receber uma
Para mais informações sobre os limites de taxa de operação, consulte Limites de taxa de operação para backups.
Armazenamento
Fazer backup das operações
restore
na instância de origem ou em uma não têm suporte em instâncias zonais, regionais e corporativas. Se você quiser restaurar um backup de uma instância em qualquer uma dessas camadas de serviço, é preciso criar uma nova instância.A nova instância precisa corresponder ao nível de serviço e ao intervalo de capacidade da instância de origem. Por exemplo, se a origem foi criada usando o nível de serviço zonal com um intervalo de capacidade menor, a nova instância precisa usar o mesmo nível de serviço e intervalo de capacidade.
Se você precisar criar uma instância usando o serviço SSD de alta escala legado execute as operações diretamente pelo Filestore API.
Se você precisar criar uma instância usando o nível de serviço empresarial legado, é possível executar suas operações diretamente pela API Filestore ou em Restaurar backup > página Nova instância na Google Cloud.
Por exemplo, se você quiser criar um recurso regional com 10 TiB da instância, você precisa usar o nível de serviço empresarial legado.
As operações de backup, como
restore
,edit
oudelete
, podem não estar disponíveis para alguns backups criados no pré-lançamento.Depois que uma operação RestoreInstance for aplicada a uma instância regional ou empresarial, não será possível criar snapshots com os mesmos nomes dos snapshots anteriores à operação.
As tentativas de restaurar uma instância de um backup enquanto a exclusão de um backup ou de um snapshot estiver em andamento vão falhar.
Se a exclusão de um backup falhar, o status será marcado como
invalid
. Nesses casos, será necessário repetir a operaçãodelete
.
Capacidade
Cada backup ocupa a capacidade da instância. Essa capacidade varia em relação ao escopo das mudanças 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 disponível da instância.
O tamanho do snapshot também está relacionado ao escopo das alterações feitas nos dados do desde a criação do último backup. Esse snapshot continua existindo até que o próximo backup seja criado e enviado.
Todos os dados referenciados pelo backup permanecem no estado em que foram capturados e continuam ocupando capacidade do sistema de arquivos. Por exemplo, se você excluir dados do sistema de arquivos montado, essa ação não vai liberar capacidade. Para isso, é necessário criar um novo backup após a exclusão ou a substituição de quantidades significativas de dados.
Para uma descrição detalhada das mudanças diferenciais e incrementais e como elas são tratados, consulte Criação de backup.
Para antecipar a capacidade suficiente para suas cargas de trabalho, considere a aplicação de um dos o seguinte:
- Aumente a capacidade de instâncias para cargas de trabalho com mudanças significativas e frequentes de dados ou com uma taxa de mudança alta.
Encryption
Ao usar 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 criptografado.
Ao armazenar 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 o backup corrente
- Todos os níveis de serviço oferecem suporte a várias cadeias de backup ou a capacidade de armazenar um backups de instâncias em várias regiões. Se você optar por usar a CMEK para criptografia, uma chave CMEK precisa estar na mesma região que o recurso que ela criptografa. Se você armazenar 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 Escolher o melhor local da CMEK.
Um único CMEK é aplicado ao bucket do Cloud Storage em que a cadeia de backup é 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 a CMEK para cadeias de backup.
Protocolos
- Ao restaurar um backup, a nova instância precisa usar o mesmo protocolo que a instância de origem.
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).
Você também pode abrir arquivos com as flags
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 compartilhamento de arquivos.
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
Quanto mais dados o compartilhamento de arquivos tiver, maior será o backup e o custo. Para faça backup apenas dos dados necessários, recomendamos organizar seus dados em compartilhamentos de arquivos separados, ou seja:
- Armazenamento de dados críticos com diferentes padrões de gravação ou requisitos de backup diferentes 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 em relação ao número de backups por região para SSD básico e os níveis básicos de serviço de HDD.
Os limites de cota de backup não se aplicam aos níveis de serviço zonal, regional e empresarial.
Para mais informações, consulte Níveis de serviço e cota.
Introdução aos backups do Filestore
Para começar a usar o recurso, consulte Fazer backup de dados para recuperação de desastres.
A seguir
- Saiba como fazer backup e restaurar compartilhamentos de arquivos.
- Saiba como programar backups usando o Cloud Scheduler.
- Saiba mais sobre as regiões e zonas do Google Cloud.
- Saiba mais sobre os preços de backups.