salvataggio dei dati da un'unità guasta


12

Un HDD esterno da 3½ "sembra essere a rischio di guasto - emette suoni di ticchettio quando è inattivo .

Ho acquisito un'unità sostitutiva e desidero conoscere la migliore strategia per ottenere i dati dall'unità sospetta con le migliori possibilità di salvare il più possibile.

Ci sono alcune directory che sono più importanti di altre. Tuttavia, immagino che scegliere e scegliere le directory ridurrà le mie possibilità di salvare il tutto. Dovrei anche montarlo, scaricare un elenco di file e quindi smontarlo per poter dare priorità alle directory in modo efficace. Aggiungendo il fatto che richiede molto tempo, mi sto sporgendo da questo approccio.

Ho preso in considerazione solo l'utilizzo dd, ma non sono sicuro di come gestirà gli errori di lettura o altri problemi che potrebbero impedire il salvataggio di alcune parti dei dati o che potrebbero essere superati con alcuni tentativi, ma non così tanti che mettere in pericolo altre parti dell'unità dal salvataggio. Immagino che idealmente farebbe un singolo passaggio per ottenere il più possibile e poi tornare indietro per riprovare tutto ciò che è stato perso a causa di errori.

È possibile che la copia più lenta, ad esempio mettendo in pausa ogni x MB / GB, sia meglio che eseguire l'operazione di inclinazione completa, ad esempio per evitare problemi di surriscaldamento?

Per la folla "dov'è il tuo backup": questa è in realtà la mia unità di backup, ma contiene anche alcuni elementi non critici e ingombranti, come la musica, che non sono backup, ovvero non sono sottoposti a backup.

L'unità non ha mostrato chiari segni di guasto oltre a questo suono un po 'inquietante. Di recente ho dovuto rilevare alcuni errori: inode orfani, conteggi di blocchi / inode liberi errati, differenze di bitmap inode, zero dtime su inode cancellati; circa 20 errori in tutto.

Il filesystem della partizione è ext3.


Risposte:


9

È possibile utilizzare ddrescueo dd_rescueo myrescueper clonare il disco guasto, senza interrompere su qualsiasi settore illeggibile. (Myrescue è meno configurabile ma ha una strategia predefinita migliore in quanto cerca di saltare regioni illeggibili.) Questo copierà tutto, incluso lo spazio vuoto e non ti consentirà di stabilire le priorità. Tuttavia, un tale approccio di basso livello ha un vantaggio rispetto gli strumenti a livello di file system: se una directory è illeggibile, si potrebbe ancora recuperare i file in esso contenuti con la ricerca l'immagine raw con strumenti come foremost, magicrescue, photorecincluso nel TestDisk , etc.


Il collegamento per magicrescuesembra essere rotto; intendevi invece itu.dk/~jobr/magicrescue ?
Landroni,

@landroni Sì, immagino che questo studente si sia laureato, grazie.
Gilles 'SO- smetti di essere malvagio'

"Myrescue [..] ha una strategia predefinita migliore" Considereresti di pubblicare un ddrescueesempio configurato con le myrescueimpostazioni predefinite? Grazie!
Landroni,

1
Per ddrescue/ dd_rescuefai il primo passaggio con blocchi di grandi dimensioni e cambi in più piccolo nei passaggi seguenti (ad esempio dimezzando le dimensioni ogni volta). Ciò ovviamente richiede l'utilizzo di un file di registro (vedere la pagina man).
peterph,

Confusamente, su sistemi basati su Debian il comando ddrescueproviene dal pacchetto gddrescue; dd_rescuedal pacchetto ddrescue; e myrescuedal pacchetto myrescue.
Landroni,

8

Non c'è modo di conoscere il meglio delle tue opzioni senza sapere esattamente cosa non va nell'unità. Se si tratta di un guasto meccanico, evitare di scaldarlo può aiutare, ma se è dovuto a errori nei dati dei servo, è probabile che il calore non abbia importanza.

Vorrei immediatamente iniziare a copiare i dati univoci sulla nuova unità con rsync. rsyncti consentirà di mettere in pausa, riprendere e riavviare secondo necessità fino a quando non avrai rimosso tutti i dati.

Quindi esegui uno scrub di dati sull'unità. Presumo dal ext3filesystem che stai usando Linux, quindi prova questo:

# umount /dev/sdX
# badblocks -n /dev/sdX

(Smontare prima l'unità è importante.)

Questo leggerà tutti i settori dal disco e lo riscriverà senza modifiche. Ciò costringerà il firmware dell'unità a verificare la presenza di errori in ogni settore e a rimappare tutti i settori danneggiati che trova. Questa è la parte più importante di ciò che fa il costoso programma SpinRite . Passa a questo solo se badblocksfallisce e non hai ancora ottenuto tutti i dati univoci dall'unità: SpinRite ci prova di più badblocks.


2

Se il disco sta morendo, assicurati innanzitutto di crearne il miglior clone possibile (vedi la risposta di Gilles) e solo allora procedi a giocare con l'unità. In questo modo avrai sempre almeno alcuni dati, nel caso in cui qualcosa vada storto (cosa che può accadere spesso con un hardware guasto).

Se usi ddrescue(o dd_rescue, non sono sicuro degli altri), puoi sempre fare una copia dei dati parzialmente clonati e del file di registro associato e provare a migliorarlo eseguendo di ddrescuenuovo dopo aver fatto qualcosa che avrebbe dovuto riparare l'unità. Tenterà di leggere le parti mancanti lasciando intatte le parti ben clonate.

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.