Quels formats de fichiers d'archives offrent une protection de récupération contre la corruption de fichiers?

10

J'utilise mon disque dur externe pour sauvegarder mes fichiers, en les plaçant dans de gros fichiers d'archive.

J'ai des milliers de fichiers minuscules et je les mets dans des archives de 500 Mo à 4,2 Go, avant de les envoyer sur le disque dur externe. Mais, une défaillance du disque dur détruit-elle l'intégralité de l'archive ou un seul fichier de l'archive? Je crains qu'un bit retourné ne rende de grandes parties de l'archive inutiles.

Des choses comme les vérifications CRC peuvent vous alerter de l'existence d'une corruption, mais je suis plus intéressé par la possibilité de récupérer les fichiers non endommagés à partir d'une archive corrompue. Quels formats de fichiers d'archives fourniraient la meilleure capacité de récupération après de telles défaillances, soit grâce à la conception native de la structure d'archives ou à l'existence d'outils de récupération supplémentaires? Y a-t-il une différence dans cette capacité entre les fichiers zip et iso?

sevenkul
la source
Je sais qu'au moins un des programmes que j'utilise pour la synchronisation des fichiers prend en charge la copie multithread, ce qui, à mon avis, atténue la lenteur de la copie de nombreux petits fichiers; aussi, même si je devrais tester pour être sûr, je soupçonne que la création d'une archive de beaucoup de petits fichiers prendrait également plus de temps que la création d'une archive pour plusieurs gros fichiers, même si aucune compression n'est utilisée. Je ne me souviens pas si c'est un problème Windows uniquement ou non; iirc, il existe des solutions logicielles disponibles pour Linux qui peuvent gérer de nombreux petits fichiers en blocs, mais je ne me souviens pas des détails.
JAB
Veuillez rouvrir la question. Je l'ai reformulé et cela devrait être plus clair maintenant. "Best" sera toujours quelque peu basé sur l'opinion, mais l'exigence d'être le meilleur ici est assez claire. Peu de place pour les opinions personnelles à mon humble avis. Veuillez supprimer ce commentaire après la réouverture.
Marcel

Réponses:

8

Étant donné qu'un endommagement d'une partie du répertoire de toute archive pourrait potentiellement rendre toute l'archive inutile, votre meilleur pari serait d'ajouter une étape distincte à votre processus de sauvegarde pour générer des fichiers dits de parité . Si un bloc de données du fichier d'origine est endommagé, il peut être reconstruit en combinant les données du fichier de parité avec des blocs valides du fichier d'origine.

La variable, il y aurait combien de dégâts vous aimeriez être en mesure de réparer. Si vous souhaitez vous protéger contre un retournement d'un seul bit, alors votre fichier de parité n'aura qu'une taille de 1 bit. Si vous voulez quelque chose d'une taille de secteur de disque, cela vous coûtera évidemment plus cher.

Il y a une grande théorie derrière cela (voir Correction d'erreur directe ) et elle est largement utilisée dans la pratique. Par exemple, c'est ainsi que les CD peuvent résister à un certain degré de grattage et comment les téléphones portables peuvent maintenir une qualité d'appel raisonnable sur des connexions avec perte.

Pour faire court, jetez un œil aux .parfichiers.

Angstrom
la source
1
Merci, lors de la recherche de fichiers de parité, j'ai trouvé le dossier de récupération de WinRAR plus simple à utiliser quotidiennement. J'essaierai également QuickPar.
sevenkul
2
Un bit de données de correction d'erreur n'est pas suffisant pour réparer une erreur d'un bit dans votre fichier de données à n bits. Vous pouvez détecter une telle erreur avec un seul bit, mais pour la réparer, vous avez besoin d'au moins log n bits.
Thom Smith
4

Bup [1] sauvegarde les choses et ajoute automatiquement une redondance de parité, ce qui rend le bit-rot extrêmement improbable. Une panne de disque catastrophique est toujours une chose, nous pouvons donc l'utiliser avec git-annex.

git-annex [2] gère les fichiers stockés sur de nombreux référentiels, dont certains peuvent être stockés sur votre ordinateur, clés USB, connexion ssh, certains services cloud ou un référentiel de sauvegarde bup [3], permettant aux données de fichiers de circuler de manière assez transparente sur demande ou automatiquement dans le référentiel que vous avez défini. C'est également un projet de logiciel gratuit et open source financé par la foule qui a été écrit en Haskell avec des versions fonctionnant sur de nombreuses plates-formes, y compris Linux, Mac, Windows et Android.

[1] https://github.com/bup/bup

[2] http://git-annex.branchable.com/

[3] http://git-annex.branchable.com/special_remotes/bup/

Yuval Langer
la source
3

Mais, une défaillance du disque dur détruit-elle l'intégralité de l'archive ou un seul fichier de l'archive?

S'il n'y a vraiment pas d'alternative à tout copier en une seule grande archive, vous devrez probablement prendre une décision entre l'utilisation d'une archive compressée ou non compressée.

Le contenu des archives non compressées comme les tarballs peut toujours être détecté avec un logiciel de récupération de fichier même si le fichier d'archive lui-même ne peut plus être lu (par exemple en raison d'un en-tête corrompu).

L'utilisation d'archives compressées peut être dangereuse car certains pourraient refuser d'extraire des fichiers si une erreur de somme de contrôle se produit, qui peut être provoquée même si un seul bit du fichier d'archive change.

Bien sûr, on peut minimiser le risque en ne stockant pas des centaines de fichiers dans une archive compressée mais des centaines de fichiers compressés dans une archive non compressée.

gzip *
tar cf archive.tar *.gz

Bien que je n'ai jamais vu beaucoup de fichiers compressés dans une archive tar dans la faune auparavant. Seul l'opposé est populaire (c'est-à-dire les fichiers tar.gz).

Y a-t-il une différence entre les fichiers zip et iso?

ZIP est une archive compressée (principalement mais pas nécessairement) et ISO est un format qui indique les données brutes copiées à bas niveau d'un disque optique dans un fichier. Ce dernier peut littéralement tout contenir.

dulange
la source