12.12.2017, 22:44 UTC+1

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

1

09.10.2017, 17:43

STRG+C funktioniert nicht bei laufendem ddrescue

Hey Leute,

ich bin am verzweifeln.

Bei mir rennt ein Image Backup mit ddrescue ("defekte" HDD auf externe HDD und Logfile auf Home).

Läuft schon eine Woche. Jetzt wollte ich das ganze abbrechen und die HDD mal auskühlen lassen, wird ja oft empfohlen.

mit STRG+C kommt leider nur ^C raus und es passiert nichts.

Anderer terminal - ping auf eine IP - STRG+C und bricht ab so wie es sein soll.

Was kann da sein?

Bitte um Hilfe,

Danke!

pit234a

Fortgeschrittener

2

09.10.2017, 18:15

manchmal dauert das lange und bei weitem nicht alle Tools haben diese Trap-Funktion für STRG+C auch eingebaut. Manche ignorieren das.

Versuche es mal in einem Terminal mit ps -elf und sieh dir die Prozesse an. Du kannst sicher den finden, der ddrescue ist und dann kannst du ihn versuchen zu killen. ZB könntest du ps -elf | grep ddre eingeben und die komplette Ausgabe damit nach Zeilen filtern, die ddre enthalten. Dann musst du die PID bestimmen, das ist eine Nummer ziemlich weit vorne und dann kill -9 1234 eingeben, wobei 1234 natürlich deine gefundene PID sein sollte.
Wenn Knoppix pidof installiert hat, kannst du auch mittels pidof ddrescue die PID zu dem Prozess ddrescue herausfinden.
Manchmal hilft aber auch schon ein einfaches killall ddrescue, was einfach alle Prozesse ddrescue beendet.
ddrescue muss dabei in allen Fällen natürlich der gesuchte Prozess sein. Ich kenne das Tool nicht, es könnte sein, dass es einfach das Tool dd benutzt eine Oberfläche drum herum baut. Dann wäre vielleicht der tatsächliche Prozess dd. Deshalb fing ich damit an, dass du dir die Prozesse ansehen sollst. Du siehst dann auch, wie lange einzelne schon laufen.

Eine andere Darstellung liefert top. Dies ordnet Prozesse auch an und aktualisiert sich ständig. Beenden kann man mittels q

Manchmal kann es helfen, die kill-Befehle als root zu geben. Also zuvor su und enter ohne Passwort in Knoppix und man ist root. Zurück kommt man wieder mit exit.


Ich sage nun bewusst gar nichts dazu, dass man ddrescue angeblich gelegentlich unterbrechen soll. Mir scheint das eher keinen Sinn zu machen. Weil ich das Tool aber nicht kenne, halte ich mich damit zurück und erwähne nur kurz mein Erstaunen.

3

09.10.2017, 20:15

Hey vielen Dank für die ausführliche Antwort!

Ja ich lass jetzt bis morgen nochmal laufen und wenn sich immer noch nix verändert hab kill ich mal den Prozess.

Ich verstehe nur nicht warum es in dem einen Terminal Fenster Funktioniert mit srtg +c und in dem, in welchem ddrescue läuft nicht...

pit234a

Fortgeschrittener

4

09.10.2017, 21:35

vielleicht, weil STRG+C nicht etwas allmächtiges ist.
In einem einfachen script gibt es dafür zB die Funktion TRAP. Man setzt dann gezielt, was nach Eingabe bestimmter Tastenkombinationen passiert. Es wird nicht einfach "ein Befehl angehalten", es müssen unter Umständen eine ganze Reihe von Befehlen abgearbeitet und laufende Schleifen sauber geschlossen werden. Das ist von Programm zu Programm, bzw von Scipt zu Script ja vollkommen unterschiedlich und die Programmierer müssen die Routinen deshalb eigens bestimmen, die zur sauberen Beendigung führen.
Man merkt häufiger, dass manche Anwendungen mehrmals STRG+C "brauchen", um ineinander verschachtelte Abläufe nacheinander zu beenden. Das hat viel mit der Art des Aufrufs bzw der Abarbeitung von Prozessen zu tun. Und deshalb kann es manchmal auch eine Weile dauern, bis ein Programm überhaupt reagiert.
Und wenn sich ein Entwickler nun entschließt, diese Tastenkombination einfach zu ignorieren, weil er vielleicht gute Gründe dafür hat, dann passiert da einfach nichts.

Ob das bei ddrescue so gemacht wurde, kann ich allerdings nicht sagen.
Es kann gut sein, dass etwas hängt. Immerhin nutzt man das Tool ja meist, wenn es schon zu spät ist und die HW bereits einen Schaden hat. Ich habe erst gestern einen USB-Stick gegrillt (also nicht wirklich auf einen Grill gelegt, er ist einfach im Betrieb abgeraucht) und dabei hingen dann ebenfalls etliche Anwendungen, die darauf zugreifen wollten.

ubuntuli

Fortgeschrittener

Beiträge: 405

Geschlecht: Männlich

5

10.10.2017, 00:54

Hallo ptec5000.
Ich brauchte den Befehl dd mal um eine interne Festplatte zu löschen. Hat bei 5 GB etwa 5 Stunden gedauert.
Um eine Festplatte zu kopieren ist ddrescue schon richtig. Auf einen externen Datenträger USB oder Lan (Wlan dauert noch länger) musst Du mindestens 1/3 h dazu rechnen. Eine Woche ist deutlich zu viel. Denk mal darüber nach welche Optionen Du benutzt hast.
In meinem Link kannst Du dir Optionen ansehen.

https://wiki.ubuntuusers.de/gddrescue/#Parameter
manchmal kann auch Q b.z.w. @ zum Unterbrechen helfen. Das führt aber zum Abbruch. Das heißt der Prozess muss neu gestartet werden.
achte bitte unbedingt auf die Schreibweise. dd_rescue kann deine Festplatte löschen

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »ubuntuli« (10.10.2017, 03:19)


progi

Fortgeschrittener

6

10.10.2017, 15:37

hi ptec5000,
1. oft kann man "jobs" erheblich beschleunigen, indem man die "blocksize" deutlich erhöht;

Siehe man ddrescue :
-c, --cluster-size=<sectors>
sectors to copy at a time [128]

also z.B. -c 16384
(habe ich selbst gerade nicht ausprobiert)

2. Jobs steuern, unterbrechen z.B. mit dem tool -> Systemwerkzeuge -> Systemüberwachung

3. Vielleicht interessiert Dich pv :
Beispiel
dd if=/dev/sdb | pv | gzip -9 >Sicherung.gz
(auf Deine Bedürfnisse anzupassen, s.a. man pv)

MfG

7

10.10.2017, 19:48

Danke für eure Antworten,

ALso ich möchte ein Image der defekten HDD machen um es dann mit Testdisk zu analysieren ob noch etwas zu retten ist. Die HDD ist 250GB groß.

Bis jetzt hat ddrescue 121GB ins Image geschrieben.

Als Befehl habe ich verwendet: sudo ddrescua -d /dev/sdd /media/sdb1/backuphdd.img /home/rescuelog.log

Ich häng euch die Log mal an. Hab jetzt den PC abgeschossen, da nichts mehr ging in Knoppix.

Werd den Prozess jetzt mal neustarten, der sollte dann ja weitermachen wo er aufgehört hat anhand der log.

@progi Über den ddrescue -c parameter konnte ich leider nichts finden und weiß nicht ob ich den daher jetzt einfach so mit deiner Beschreibung mit einbauen soll...?


Blöd nur dass Knoppix die defekte gerade nicht erkennt :(


Ich probier mal weiter mit neustarts ob sie wieder eingebunden wird. Das Image kann ich nicht jetzt schon wo einbinden und schauen ob er was sichern konnte oder?


Danke!

pit234a

Fortgeschrittener

8

11.10.2017, 09:07

Es ist immer sehr schwer, mit der Glaskugel irgendwelche Ursachen für Fehler zu finden. Du musst also bei allen Aussagen immer Abstriche machen. Es spielt immer die eigene Erfahrung eine große Rolle, wenn ich zB etwas von mir gebe. Daraus nun messerscharf die Diagnose: deine alte Platte ist verreckt. Sie ist endgültig hin. Deshalb wird auch "nichts mehr von Knoppix erkannt". Deshalb hing auch "alles in Knoppix". Die Platte ist beim Sichern der Daten mit ddrescue vollends gestorben und nun endgültig hin.
Diese Aussagen passen zu dem geschilderten Ablauf, dem Fehlerbild und meiner Erfahrung. Es passt so gut, dass ich gar nicht erst damit anfangen möchte, über andere Möglichkeiten nachzudenken oder zu schreiben.

Alles, was du nun von deiner Platte noch hast, ist das erstellte Image.
Ob das nun unvollständig oder fehlerhaft ist, du kannst es nicht mehr ändern. Du kannst es nur so nehmen, wie es nun mal ist und hoffen.
Du kannst auch nichts mehr kaputt machen, das Kind ist schon längst in den Brunnen gefallen. Wenn dich meine Ansicht dazu interessiert, kannst du mal hier lesen: Knoppix und Datenrettung, was niemand hören möchte?

Du solltest vielleicht (nur zur Sicherheit) das erstellte Image nochmal kopieren und sicher verwahren. Alle Rettungsversuche dann nur mit einer Kopie davon durchführen.
Es ist einfach im Netz Information zu ddrescue und testdisc bzw photorec zu finden. Zuerst steht immer das Studium der man-page und weil diese eher für kundige Anwender geschrieben sind, empfiehl sich unbedingt ein Blick ins Netz. Man wendet diese Tools in der Regel nicht so häufig an, dass man ausreichend Routine damit entwickelt. Es gibt Erklärungen, Wikis und Beispiele, die man unbedingt lesen sollte. Ich habe keine Linksammlung parat, müsste erst selbst suchen.

9

12.10.2017, 13:20

Danke, ich habe schon öfters mit testdisk und ddrescue Daten "gerettet" jedoch wie du schreibst, braucht man es nicht so oft und die Routine fehlt deshalb.

Es war eh nicht meine Platte aber die Geräusche die sie von sich gibt deuten stark auf einen "Totalschaden" hin.

Danke auf jeden Fall für eure Hilfe!

Linux HardwareLinux Computer & PCs | Linux Notebooks & Laptops | Geek Shirts | Geek und Nerd Shirt Shop