Quali formati di file di archivio offrono protezione di recupero dalla corruzione dei file?


10

Uso il mio HDD esterno per eseguire il backup dei miei file, inserendoli in file di archivio di grandi dimensioni.

Ho migliaia di piccoli file e li inserisco in archivi da 500 MB a 4,2 GB di dimensione, prima di inviarli all'HDD esterno. Ma un errore del disco rigido distrugge l'intero archivio o solo un file nell'archivio? Temo che un bit capovolto possa rendere inutili gran parte dell'archivio.

Cose come i controlli CRC possono avvisarti dell'esistenza della corruzione, ma sono più interessato alla possibilità di recuperare i file integri da un archivio danneggiato. Quali formati di file di archivio fornirebbero la migliore capacità di recupero da tali guasti, sia attraverso la progettazione nativa della struttura di archivio sia l'esistenza di strumenti di recupero supplementari? C'è qualche differenza in questa capacità tra i file zip e i file ISO?


Conosco almeno uno dei programmi che utilizzo per la sincronizzazione dei file che supporta la copia multithread, che credo mitiga un po 'della lentezza della copia di molti piccoli file; inoltre, anche se dovrei testarlo per essere sicuro, ho il sospetto che la creazione di un archivio di molti file di piccole dimensioni richiederebbe anche più tempo rispetto alla creazione di un archivio per diversi file di grandi dimensioni, anche se non viene utilizzata alcuna compressione. Non ricordo se questo è un problema solo per Windows o no; tra l'altro, ci sono alcune soluzioni software disponibili per Linux che possono gestire molti piccoli file in blocchi, ma non riesco a ricordare i dettagli.
JAB

Si prega di riaprire la domanda. L'ho riformulato e ora dovrebbe essere più chiaro. "Best" sarà sempre in qualche modo basato sull'opinione pubblica, ma i requisiti per essere i migliori qui sono abbastanza chiari. Poco spazio per opinioni personali IMHO. Elimina questo commento dopo la riapertura.
Marcel,

Risposte:


8

Dato che un danno a una parte della directory di qualsiasi archivio potrebbe potenzialmente rendere l'intero archivio inutile, la soluzione migliore sarebbe quella di aggiungere un passaggio separato al processo di backup per generare i cosiddetti file di parità . Nel caso in cui un blocco di dati nel file originale venga danneggiato, può essere ricostruito combinando i dati dal file di parità con blocchi validi dal file originale.

La variabile ci sarebbe da quanti danni vorresti poter riparare. Se vuoi proteggerti da un singolo capovolgimento, il tuo file di parità avrà solo 1 bit di dimensione. Se vuoi qualcosa in una dimensione del settore del disco, ovviamente ovviamente ti costerà di più.

C'è una grande teoria dietro questo (vedi Forward Error Correction ) ed è ampiamente usata nella pratica. Ad esempio, questo è il modo in cui i CD possono resistere a un certo grado di graffio e come i telefoni cellulari possono mantenere una qualità delle chiamate ragionevole rispetto alle connessioni con perdita.

Per farla breve, dai un'occhiata ai .parfile.


1
Grazie, durante la ricerca di file di parità ho trovato il record di recupero di WinRAR più semplice nell'uso quotidiano. Proverò anche QuickPar.
Sevenkul,

2
Un bit di dati di correzione dell'errore non è sufficiente per riparare un errore di un bit nel file di dati n-bit. È possibile rilevare un errore di questo tipo con un singolo bit, ma per ripararlo è necessario almeno log n bit.
Thom Smith,

4

Bup [1] esegue il backup delle cose e aggiunge automaticamente ridondanza di parità, rendendo estremamente improbabile il bit-rot. L'errore irreversibile del disco è ancora una cosa, quindi possiamo usarlo con git-annex.

git-annex [2] gestisce i file archiviati su molti repository, alcuni dei quali potrebbero essere memorizzati sul tuo computer, thumb-drives, login ssh, alcuni servizi cloud o un repository di backup bup [3], consentendo al flusso di dati di file di essere praticamente trasparente su richiesta o automaticamente nel repository impostato. È anche un progetto software gratuito e open source finanziato dalla folla che è stato scritto in Haskell con versioni in esecuzione su molte piattaforme, tra cui Linux, Mac, Windows e Android.

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

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

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


3

Ma un errore del disco rigido distrugge l'intero archivio o solo un file nell'archivio?

Se davvero non c'è alternativa alla copia di tutto come un unico grande archivio, probabilmente devi prendere una decisione tra l'uso di un archivio compresso o non compresso.

I contenuti di archivi non compressi come i tarball possono ancora essere rilevati con il software di recupero file anche se il file di archivio stesso non può più essere letto (ad esempio a causa di un'intestazione corrotta).

L'uso di archivi compressi può essere pericoloso perché alcuni potrebbero rifiutare di estrarre i file se si verifica un errore di checksum che può essere causato anche se cambia solo un bit del file di archivio.

Naturalmente si può minimizzare il rischio non memorizzando centinaia di file in un archivio compresso ma centinaia di file compressi in un archivio non compresso.

gzip *
tar cf archive.tar *.gz

Anche se non ho mai visto molti file compressi con zip in un tarball in natura. È popolare solo il contrario (ovvero i file tar.gz).

C'è qualche differenza tra i file zip e i file iso?

ZIP è un archivio compresso (principalmente ma non necessariamente) e ISO è un formato che indica i dati grezzi copiati a basso livello da un disco ottico in un file. Quest'ultimo può contenere letteralmente tutto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.