Dienstprogramm zum Kopieren von Dateien wie rsync mit Fehlerbehandlung wie ddrescue zur Datenwiederherstellung von einer Festplatte mit fehlerhaften Sektoren oder Hardwarefehlern [geschlossen]


12

Ich habe eine Festplatte mit fehlerhaften Blöcken oder Sektoren, die aufgrund möglicher mechanischer Probleme nicht lesen können, z. B. aufgrund eines fehlerhaften Plattenkopfs, eines fehlerhaften Motors oder eines anderen Problems, das dazu führt, dass die Festplatte Daten äußerst langsam und mit vielen Daten liest von Lesefehlern. Ich sehe einen Durchschnitt von 50 KB / s, wobei einige Lesevorgänge unter 10 KB / s fallen, und häufig bleibt er in einer Datei oder einem Sektor insgesamt hängen, normalerweise für eine ziemlich lange Zeit - von 2-10 Minuten oder mehr (wann) mit rsync, bevor es abläuft).

Die Geschwindigkeit scheint stark zu variieren, und sie bleibt in den Dateien sehr hängen, und wenn sie schließlich "gelöst" wird, scheint sie nur einen kurzen Ausbruch zu dauern, bevor sie wieder hängen bleibt. Das Laufwerk ist außerdem sehr leise und es werden nur gelegentlich Dateien kopiert (normalerweise, wenn es für kurze Zeit hängen bleibt oder sich löst, bevor es wieder hängen bleibt). Daher gibt es keine dieser bösen Geräusche, die normalerweise mit dem Tod der Festplatte verbunden sind. Jemand schlug vor, dass die Probleme so klangen, als würden sie durch einen falsch ausgerichteten Plattenkopf verursacht, der viele erneute Lesevorgänge erfordert, bevor er schließlich erfolgreich Daten liest. Klingt plausibel, aber ich schweife ab ...

Wie auch immer, das Problem mit rsync ist, dass es keine anständige Unterstützung für die Fehlerbehandlung zu geben scheint. Offensichtlich war es nicht für die Verwendung bedeutete in Daten von Fehler der Festplatten erholt, aber alle so genannten „Datenwiederherstellung“ Dienstprogramme gibt , die sich für eine solche Verwendung bedeutete in der Regel konzentrieren sich auf Wiederherstellung von gelöschten Dateien oder Partitionen durcheinander, anstatt Kopieren von Dateien von sterbenden Festplatten. Die Wiederherstellung gelöschter Dateien ist offensichtlich nicht das, was ich brauche. Vielleicht können Sie meine Enttäuschung darüber verstehen, dass ich noch nicht gefunden habe, wonach ich suche.

Natürlich würden Sie hier wahrscheinlich sagen: "Sie sollten ddrescue verwenden!" Nun, das ist alles in Ordnung und gut, aber ich habe bereits die meisten Daten gesichert, daher möchte ich nur bestimmte Dateien wiederherstellen. Es geht mir nicht darum, eine vollständige Partition Block für Block wiederherzustellen, wie dies bei ddrescue der Fall ist. Ich bin nur daran interessiert, nur bestimmte Dateien und Verzeichnisse zu retten.

Im Idealfall möchte ich eine Art Kreuzung zwischen rsync und ddrescue: Mit dieser Option kann ich Quelle und Ziel als Verzeichnisse normaler Dateien wie rsync angeben (anstelle von zwei vollständigen Partitionen, wie ddrescue erfordert), mit denen Dateien übersprungen werden können Fehler in einem ersten Lauf, und dann kann ich versuchen, diese Dateien mit Fehlern in einem späteren Lauf wiederherzustellen (natürlich mit einem leicht geänderten Befehl), und vielleicht sogar eine Option anbieten, um die Anzahl der Wiederholungsversuche anzugeben ... genau wie Wie ddrescue mit Blöcken funktioniert, möchte ich nur ein Dienstprogramm, das mit bestimmten Dateien / Verzeichnissen wie rsync funktioniert.

Also träume ich hier oder gibt es da draußen etwas, das das kann? Oder vielleicht sogar eine Möglichkeit, rsync oder ddrescue so zum Laufen zu bringen? Ich bin wirklich offen für alle möglichen Lösungen, solange ich auswählen kann, welche Dateien ich "retten" möchte, und bei der ersten Ausführung fehlerhafte Dateien überspringen und diese Fehler später erneut versuchen / wiederholen kann.

Bisher habe ich rsync mit den folgenden Optionen ausprobiert, aber es bleibt oft länger als das Zeitlimit in einer Datei hängen, und im Idealfall möchte ich, dass es zur nächsten Datei übergeht und später zu den Dateien zurückkehrt, die es erhält klebt. Ich denke aber nicht, dass das möglich ist. Wie auch immer, hier ist, was ich bis jetzt verwendet habe:

rsync -avP --stats --block-size=512 --timeout=600 /path/to/source/* /path/to/destination/

Antworten:


3

Ich habe einen 3 TB Hitachi, der schmerzhaft langsam liest, ddrescue arbeitet auf Dateiebene. Aber nicht in Verzeichnissen. Allerdings konnte ich die Optionen --timeout oder --min-read-rate von ddrescue nicht zum Laufen bringen.

Sie möchten dies in einem Skript tun, um jeweils eine Datei zu speichern.

cat listoffiles | while read file
pipe while> do
pipe while> ls -l "$file"
pipe while> ddrescue -n -e1  "$file" /cc/RecoveredFiles/"$file" /cc/RecoveredFiles/"$file".llog
pipe while> date
done | tee -a  /cc/RecoveredFiles/ddrescue.log

3

Vielleicht hat sich rsync in den Jahren geändert, seit diese Frage gestellt wurde.

Meine Erfahrung war, dass es rsyncderzeit großartige Arbeit leistet, Dinge von einer sterbenden Festplatte zu kopieren

rsync -a <src> <dest>

Es würde schnell weitergehen, wenn es auf Fehler stößt, und wenn es erneut ausgeführt wird, würde es zurückkehren, um diese Dateien erneut zu versuchen.

rsync --version Berichte rsync version 2.6.9 protocol version 29

Zu den anderen Antworten:

Die Antworten von 2011 scheinen Tools zu fördern, die nur kommerzielle Entsprechungen zu ddrescue sind - kein Hinweis darauf, dass sie dateibewusst sind. Fischig. Die Antwort von 2013 ist interessant.


2

Gute Frage, liebe die Detailgenauigkeit. Für ein Dienstprogramm, das in diesem Szenario gut funktioniert, würde ich Filescavenger von Quetek empfehlen . Es ermöglicht übermäßige erneute Lesevorgänge bei mehr als 100, aber was noch wichtiger ist, es verfügt über eine Disk-Imaging-Funktion, mit der Sie den gesamten Inhalt auf ein Bild kopieren können, ohne Zeit damit zu verschwenden, die Dateien zu bewerten, das Bild zu laden und es zu scannen für Dateien. Das Dienstprogramm kostet 50 US-Dollar für Privatanwender. Sie können es jedoch herunterladen und testen, um festzustellen, was aus dem Image wiederhergestellt werden kann, bevor Sie Geld ausgeben.

Wenn es professionell verwendet wird, kostet es Sie einen hübschen Cent, bietet aber wichtige Funktionen, einschließlich der Unterstützung für logische und Hardware-RAID-Arrays.

Wenn dies ebenfalls fehlschlägt, sind Sie möglicherweise über den Punkt der Software-Wiederherstellungstools hinaus. Wenn dies der Fall ist und Sie die Kosten für die Wiederherstellung im Labor rechtfertigen können, teilen Sie mir mit, in welchem ​​Land, Bundesland und in welcher Stadt Sie sich befinden. Ich kann eines unserer Labors oder eines von anderen Wettbewerbern in Ihrer Nähe empfehlen.

Chris


1

Sie möchten einen progressiven Kopierer . Es zielt darauf ab, ganze Laufwerke zu erstellen, aber da es einen Dateipfad als Parameter verwendet, sollte es auch für einzelne Dateien funktionieren. Ich glaube nicht, dass es für Verzeichnisse funktioniert - Sie müssten jede Datei angeben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.