
Percebi que preciso proteger todas as minhas fotografias contra bit rot (corrupção de arquivos que ocorre aleatoriamente devido a erros em discos rígidos ou transferência de rede).
Recentemente descobri o par2, que parece ser um ótimo programa para criar arquivos redundantes e permitir detectar e reparar arquivos corrompidos.
Não acho que os sistemas de arquivos com registro em diário sejam a solução certa aqui, pois quero que a proteção acompanhe os arquivos no meu backup e na migração para novos laptops.
Então, o que acho que preciso é de um script que possa ser executado como um cronjob, talvez uma vez por hora. Ele examinaria todos os arquivos que precisam de proteção e atualizaria os arquivos de redundância se os arquivos fossem adicionados ou alterados (o arquivo tem carimbo de data e hora de edição mais recente que o arquivo de redundância) e repararia os arquivos se algum arquivo estivesse corrompido (o arquivo foi alterado, mas editado). o carimbo de data/hora não foi atualizado).
Existe algum script ou programa que faça isso? Ou existem programas que resolvem o problema de outra forma? Ou devo apenas escrever esse script sozinho (prefiro não fazê-lo, quero algo robusto e testado por muitos usuários)?
Responder1
A solução canônica é usar um sistema de arquivos que suporte soma de verificação e fazer backups regulares.
Além disso, você também pode usar um esquema de armazenamento redundante (RAID) - na camada do sistema de arquivos - para evitar restaurações demoradas do backup, se possível.
Exemplos de tais sistemas de arquivos sãoZFSouBtrfs.
O recurso de soma de verificação de tais sistemas de arquivos é implementado usando uma função hash criptográfica. Assim, erros de bits a jusante da pilha de armazenamento são detectados com uma probabilidade muito alta - por causa disso, sua capacidade de detectar corrupções está no mesmo nível ou superior que ferramentas como par2
.
Esses sistemas de arquivos também incluem recursos de armazenamento redundantes – semelhantes aos níveis RAID. A diferença para uma abordagem RAID clássica em camadas é que no caso de uma corrupção detectada o sistema de arquivos é capaz de escolher a perna 'correta', ou seja, o lado do espelho RAID que retorna o bloco com a soma de verificação correta.
Responder2
Esta é uma questão mais antiga, mas ainda relevante em 2019.
Sim, os arquivos de paridade são uma solução viável para bit-rot
Embora haja prejuízos para a verificação de paridade fora do nível do sistema de arquivos, há também um enorme benefício:
Portabilidade.
A verificação de erros baseada em sistema de arquivos mais sofisticada do mundo poderia, teoricamente, manter seus dados livres de bitrot para sempre, mas a proteção está bloqueada para esse sistema de arquivos. Assim que os arquivos saem, eles ficam desprotegidos.
"muito pesado"porbrappsestá licenciado sobCC BY-NC 2.0 (Ele realmente deveria mudar para o ZFS e um telhado antes de colocar os dados)
Imagens com arquivos de paridade próximos a elas podem ser movidas para unidades USB, transferidas por meio de conexões com perda de pacote, compactadas, armazenadas em backup individualmente em outras mídias e uma centena de outras coisas que consigo imaginar.
Eles também podem impedir alterações baseadas em programas ruins (analisadores de metadados que gravam acidentalmente metadados incorretos, por exemplo)
PAR2 é uma escolha viável de arquivo de paridade
Os arquivos PAR2, em particular, podem ser usados em várias plataformas, e seus maiores prejuízos não são realmente um problema no caso de uso de proteção de fotos grandes (sendo que o PAR2 não suporta subpastas e não lida com arquivos <1 KB com eficiência).
Os arquivos PAR não são uma solução de backup completa por si só, no entanto
Eles ainda precisam fazer parte de uma estratégia de backup de 3 cópias para serem "à prova de balas", especialmente porque com arquivos PAR não há histórico de alterações: se uma alteração for detectada como válida e os arquivos de paridade recriados, não há como voltar atrás sem fazer referência a um backup separado (uma solução de backup externo com histórico de alterações integrado seria a vencedora aqui).
Próximos passos
A resposta à pergunta original de “Existe algum script ou programa que [crie e mantenha automaticamente arquivos de paridade]?” ainda é Não em 2019, mas criar um script sozinho ou mandar fazer um é bastante trivial. Se você seguir esse caminho, o melhor conselho que posso dar é: crie um ambiente de teste com todos os casos extremos que você puder imaginar e execute qualquer script em todos os testes antes de confiar nele.
E, se alguém estiver lendo issofazsiga esse caminho, considere abri-lo para o benefício de todos.
Adendo editado: A tecnologia usada para arquivos PAR éhttps://en.wikipedia.org/wiki/Reed–Solomon_error_correction, e embora o desenvolvimento do PAR tenha parado, existem dezenas, senão centenas de projetos usando Reed-Solomon para integridade/reparo de dados em nível de arquivo.
Responder3
Eu escrevi uma ferramenta leve para detectar bitrot chamadachkbit
.
Ele cria um hash que segue seus dados independentemente do sistema de arquivos. Assim, chkbit
permite verificar a integridade dos seus dados no sistema principal, na mídia de backup e após uma restauração.
chkbit não permite reparar os dados, você ainda precisará de um ou mais backups.