Os backups completos periódicos são realmente necessários em uma configuração de backup incremental?


2

Pretendo usar um computador antigo que possuo como servidor de backup remoto para mim e para algumas outras pessoas. Estamos todos separados geograficamente, e o plano é fazer backups diários incrementais usando rsync e ssh.

Minha idéia original era fazer um backup completo inicial e nunca mais ter que lidar com a sobrecarga de fazê-lo, e a partir desse momento apenas copiar os arquivos alterados desde o último backup.

Foi-me dito que isso poderia ser ruim, mas não entendo o porquê. Como cada instantâneo é composto por links físicos para os arquivos inalterados, além dos originais alterados, não será idêntico a um novo backup completo? Por que eu gostaria de fazer outro backup completo?

EDITAR:

Eu deveria ter explicado um ponto melhor. Quando eu quero dizer que vou fazer backups incrementais usando rsync, quero dizer o seguinte:

rsync -avh --delete --link-dest=./remote/previous_increment ./local/ ./remote/new_increment

O que resulta em um instantâneo completo e funcional, pois ele conterá links físicos para todos os arquivos inalterados. Mesmo que o backup completo e todos os incrementais anteriores tenham sido excluídos, o último incremental ainda é consistente. Mas tenho certeza de que, se algum dos arquivos anteriores for corrompido, os últimos também, pois apontam para o mesmo inode.

E se eu fizer um backup completo sintético do lado do servidor periodicamente, quebrando os links no último instantâneo e copiando-o para outro HD protegido contra gravação (digamos, uma vez por mês). Dessa forma, eu teria uma cópia completa redundante e ainda evitaria a sobrecarga de reenviar os arquivos.

Isso resolveria o problema? Ainda precisaria fazer backups completos?


Eu diria que sim - caso seu backup completo original falhe.
Journeyman Geek

1
Confiabilidade. Se o seu backup original ou qualquer um dos seus incrementais for corrompido, ele será potencialmente inútil e você poderá não ter se incomodado. Você deve ter backups incrementais e completos regulares.
Mokubai

Eu entendi, faz sentido. Editei a pergunta. Você acha que o problema seria resolvido com backups sintéticos do lado do servidor?
Rgcalsaverini # 23/13

Parece exatamente o que o dirvish ( dirvish.org ) deve fazer.
jia103

Respostas:


6

Normalmente, se você faz backups incrementais, apenas armazena os arquivos realmente alterados de alguma forma (como um arquivo tar) enquanto tiver os arquivos inalterados apenas nos arquivos de backup anteriores. Dessa forma, você precisaria de todos os arquivos de backup para uma recuperação e nunca poderá excluir backups antigos. Como isso não é praticável, você precisa fazer novos backups completos depois de algum tempo.

O que você está usando é mais avançado (rsnapshot?), Onde você sempre armazena um conjunto completo de dados, mas mantém a sobrecarga mínima ao compartilhar dados entre backups através do uso de links físicos. Dessa forma, você pode excluir backups antigos sem invalidar os atuais. Portanto, o argumento usual não conta.

Editar:

O rsnapshot funciona assim:

Na primeira vez, ele cria uma cópia completa usando o rsync.

Qualquer backup depois disso cria uma nova árvore de diretórios completa, na qual todos os arquivos são hardlinks para o backup anterior. Depois disso, os arquivos alterados são substituídos executando o rsync nessa árvore.

Portanto, cada backup é concluído, mas compartilha dados com backups mais antigos. Se você excluir um backup antigo, apenas os arquivos diferentes em todos os outros backups serão realmente excluídos. Para os arquivos compartilhados, apenas a contagem de links físicos seria reduzida em 1.

A sobrecarga de um backup é a árvore de diretórios adicional que também utiliza algum espaço. Mas você pode excluir árvores de backup antigas sem afetar as demais para recuperar esse espaço.

A descrição da sua estratégia de backup parece rsnapshot para mim.

Edit2:

Se você estiver preocupado com a podridão por bits - ou seja, os arquivos de backup existentes estão sendo corrompidos - você pode adicionar a opção -c ao rsync, que cria somas de verificação MD5 em arquivos locais e remotos. Isso aumentaria significativamente a E / S do disco, pois todos os arquivos precisariam ser lidos. Mas o tráfego da rede aumenta apenas um pouco, pois apenas as somas de verificação de cada arquivo precisam ser transmitidas adicionalmente. Isso removeria o último motivo para um novo backup completo.


Eu nunca ouvi falar do rsnapshot antes, mas você está certo, é exatamente isso que estou fazendo apenas com o rsync. Eu editei a pergunta, você acha que isso resolve o problema?
Rgcalsaverini 23/10

Essa é uma ótima idéia e melhoraria bastante a consistência do backup! Então, na sua opinião, com essa estratégia, backups completos adicionais seriam desnecessários?
rgcalsaverini

Uma segunda camada de backups pode melhorar a segurança, como copiar ocasionalmente uma árvore de backup para outro disco rígido. Se você tiver má sorte, o backup foi corrompido antes que o servidor travasse. Mas você nunca pode ter 100% de certeza.
Michael Suelmann

1

O backup incremental, ou seja, o uso rsync, é um processo mais complicado que o backup estático, ou seja, o uso cp. Algumas pessoas acreditam que é mais provável que o backup incremental seja corrompido.

  1. A falha pode estar na própria ferramenta; rsyncno Windows é conhecido por ser esquisito e, às vezes, exclui arquivos do backup quando não deveria.

  2. Se sua ferramenta de backup armazena apenas a diferença binária entre as versões de um arquivo, a perda de uma versão intermediária do arquivo pode impossibilitar a reconstrução da versão final do arquivo.


Qualquer que seja a sua solução de backup, teste-a regularmente restaurando uma cópia dos seus dados do backup.


1. Obrigado, bom saber disso. 2. Não armazena todos os arquivos alterados, além de links físicos para os inalterados, para que cada instantâneo seja auto-consistente.
Rgcalsaverini 23/10

1

Eu acho que houve uma falta de comunicação.

Na maioria das vezes, quando ouço backups completos e pessoas de backup incrementais, significam:
Completo: Faça backup de todos os dados.
Incremental: faça backup apenas das alterações.

Se você precisar restaurar um backup, inicie com o backup completo e todos os incrementais. Isso pode levar muito tempo. Essa é uma das razões pelas quais muitas empresas fazem backups completos no final de semana e parciais durante a semana. Até cinco parciais são gerenciáveis.

Agora, o rsync geralmente não faz backups parciais. Se envia apenas as alterações pela rede, mas o resultado final é uma cópia completa de todos os dados. Portanto, o motivo mais usado para não usar apenas parciais não se aplica.


Observe que é uma boa ideia ter pelo menos dois backups. Um conhecido e uma cópia de trabalho. Alterne entre esses dois ou faça e teste um backup anual, defina-o somente leitura e use outro backup até o próximo ano. Então repita.


Ótimos conselhos sobre os backups alternados. Alguma razão para ser anual? Posso fazer um backup completo sintético uma vez por mês, armazená-lo no anoter HD e configurá-lo como somente leitura?
Rgcalsaverini 23/10

Não há razão para que seja anual, exceto para selecionar um período regular. Eu costumava usar 1) fitas da semana (backups completos) e fitas do dia (incremental de segunda a quinta-feira. 2) 4 fitas diferentes da semana (# semana no mês). 3) Backups de mês inteiro (armazenados fora do local) 4) Backups de ano inteiro (mantidos em um cofre em outro prédio). Tudo isso pode ser um pouco demais para backups que não são de trabalho. :)
Hennes

Hehe sim, são apenas alguns dados pessoais regulares. Editei minha pergunta, mas o ponto principal é: Se eu mantiver backups redundantes completos gerados no lado do servidor dos incrementais, ainda preciso fazer backups completos dos dados originais periodicamente?
Rgcalsaverini 23/10
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.