Protegendo dados contra a podridão de bits

Protegendo dados contra a podridão de bits

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, chkbitpermite 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.

informação relacionada