Moin *,
mir ist mein Raspberry abgeraucht, ist jedenfalls per ssh nicht mehr zu erreichen.
Bei der Ursachenforschung stolpere ich über eine scheinbar kaputte SD-Card, auf welcher das OS installiert ist.
EDIT: Die goldene Regel bei Datenrettungsversuchen lautet, so wenig wie möglich mit dem Original zu arbeiten, um weitere Beschädigungen zu vermeiden. Aus diesem Grund möchte ich eine exakte Kopie (Image) erstellen und die weiteren Schritte darauf anwenden.
Eingeschoben in einen PC zeigen sich Fehlermeldungen in den Logs und der Versuch, per dd ein Image zu ziehen scheitert mit der Meldung:
Also versuche ich es mal mit dd_rescue, welches laut Linupedia das Mittel der Wahl ist, weil es bei Fehlern nicht blockiert, sondern Nullen schreibt:
Der komplette Prozess dauerte tatsächlich 40 Minuten.
Dann habe ich versucht, dieses Images zu mounten - ich vermute die interessanten Files auf 'sde2':
Das war schon mal ein Fehlschlag - mit 'sde1' (boot-Partition) funktioniert das übrigens. Dateisystem müsste 'ext4' sein.
Natürlich habe ich von diesem System kein aktuelles Backup, maximal ein älteres Image. Das System werde ich wohl wieder hinfrickeln können, aber ich hoffe sehr, dass ich noch an die restlichen Daten komme.
Der Versuch, dass kaputte Dateisystem zu reparieren brachte scheinbar den Erfolg:
Ich kann tatsächlich wieder auf einen Teil der Daten zugreifen. Scheinbar ist das System schon am 13.03. verstorben. Der nächste Pi wird ein Nagios...
cu, gehrke
mir ist mein Raspberry abgeraucht, ist jedenfalls per ssh nicht mehr zu erreichen.
Bei der Ursachenforschung stolpere ich über eine scheinbar kaputte SD-Card, auf welcher das OS installiert ist.
EDIT: Die goldene Regel bei Datenrettungsversuchen lautet, so wenig wie möglich mit dem Original zu arbeiten, um weitere Beschädigungen zu vermeiden. Aus diesem Grund möchte ich eine exakte Kopie (Image) erstellen und die weiteren Schritte darauf anwenden.
Eingeschoben in einen PC zeigen sich Fehlermeldungen in den Logs und der Versuch, per dd ein Image zu ziehen scheitert mit der Meldung:
Code:
dd: error reading ‘/dev/sde’: Input/output error
Also versuche ich es mal mit dd_rescue, welches laut Linupedia das Mittel der Wahl ist, weil es bei Fehlern nicht blockiert, sondern Nullen schreibt:
Code:
j2:~ # dd_rescue /dev/sde /home/gehrke/images/kali-20150531-rescue.img
dd_rescue: (info): Using softbs=131072, hardbs=4096
dd_rescue: (info): expect to copy 15558144kB from /dev/sde
dd_rescue: (info): ipos: 63324.0k, opos: 63324.0k, xferd: 63324.0k
* errs: 0, errxfer: 0.0k, succxfer: 63324.0k
+curr.rate: 11511kB/s, avg.rate: 2283kB/s, avg.load: 0.4%
>-........................................< 0% ETA: 0:24:11
dd_rescue: (warning): read /dev/sde (63324.0k): Input/output error!
dd_rescue: (warning): Bad block reading /dev/sde: 15831
dd_rescue: (info): ipos: 63328.0k, opos: 63328.0k, xferd: 63328.0k
* errs: 1, errxfer: 4.0k, succxfer: 63324.0k
+curr.rate: 8633kB/s, avg.rate: 1992kB/s, avg.load: 0.4%
>x........................................< 0% ETA: 0:25:14
dd_rescue: (warning): read /dev/sde (63328.0k): Input/output error!
dd_rescue: (warning): Bad block reading /dev/sde: 15832
dd_rescue: (info): ipos: 74716.0k, opos: 74716.0k, xferd: 74716.0k
* errs: 2, errxfer: 8.0k, succxfer: 74708.0k
+curr.rate: 4554kB/s, avg.rate: 1510kB/s, avg.load: 0.3%
>x........................................< 0% ETA: 0:29:40
dd_rescue: (warning): read /dev/sde (74716.0k): Input/output error!
dd_rescue: (warning): Bad block reading /dev/sde: 18679
dd_rescue: (info): ipos: 74720.0k, opos: 74720.0k, xferd: 74720.0k
* errs: 3, errxfer: 12.0k, succxfer: 74708.0k
+curr.rate: 3416kB/s, avg.rate: 1396kB/s, avg.load: 0.3%
>x........................................< 0% ETA: 0:30:44
dd_rescue: (warning): read /dev/sde (74720.0k): Input/output error!
dd_rescue: (warning): Bad block reading /dev/sde: 18680
dd_rescue: (info): ipos: 96172.0k, opos: 96172.0k, xferd: 96172.0k
* errs: 4, errxfer: 16.0k, succxfer: 96156.0k
+curr.rate: 4289kB/s, avg.rate: 1320kB/s, avg.load: 0.3%
>x........................................< 0% ETA: 0:37:15
dd_rescue: (warning): read /dev/sde (96172.0k): Input/output error!
dd_rescue: (warning): Bad block reading /dev/sde: 24043
dd_rescue: (info): ipos: 1387972.0k, opos: 1387972.0k, xferd: 1387972.0k
* errs: 5, errxfer: 20.0k, succxfer: 1387952.0k
+curr.rate: 4416kB/s, avg.rate: 5314kB/s, avg.load: 2.5%
>x---.....................................< 8% ETA: 0:37:31
dd_rescue: (warning): read /dev/sde (1387972.0k): Input/output error!
dd_rescue: (warning): Bad block reading /dev/sde: 346993
dd_rescue: (info): ipos: 1387976.0k, opos: 1387976.0k, xferd: 1387976.0k
* errs: 6, errxfer: 24.0k, succxfer: 1387952.0k
+curr.rate: 3312kB/s, avg.rate: 5233kB/s, avg.load: 2.4%
>x--x.....................................< 8% ETA: 0:38:28
dd_rescue: (warning): read /dev/sde (1387976.0k): Input/output error!
dd_rescue: (warning): Bad block reading /dev/sde: 346994
dd_rescue: (info): ipos: 1388016.0k, opos: 1388016.0k, xferd: 1388016.0k
* errs: 7, errxfer: 28.0k, succxfer: 1387988.0k
+curr.rate: 2487kB/s, avg.rate: 5152kB/s, avg.load: 2.4%
>x--x.....................................< 8% ETA: 0:39:25
dd_rescue: (warning): read /dev/sde (1388016.0k): Input/output error!
dd_rescue: (warning): Bad block reading /dev/sde: 347004
dd_rescue: (info): ipos: 1388020.0k, opos: 1388020.0k, xferd: 1388020.0k
* errs: 8, errxfer: 32.0k, succxfer: 1387988.0k
+curr.rate: 1865kB/s, avg.rate: 5002kB/s, avg.load: 2.3%
>x--x.....................................< 8% ETA: 0:40:39
dd_rescue: (warning): read /dev/sde (1388020.0k): Input/output error!
dd_rescue: (warning): Bad block reading /dev/sde: 347005
dd_rescue: (info): ipos: 1429888.0k, opos: 1429888.0k, xferd: 1429888.0k
* errs: 9, errxfer: 36.0k, succxfer: 1429852.0k
+curr.rate: 4364kB/s, avg.rate: 4839kB/s, avg.load: 2.2%
>x--x.....................................< 9% ETA: 0:40:45
dd_rescue: (warning): read /dev/sde (1429888.0k): Input/output error!
dd_rescue: (warning): Bad block reading /dev/sde: 357472
dd_rescue: (info): ipos: 1429972.0k, opos: 1429972.0k, xferd: 1429972.0k
* errs: 10, errxfer: 40.0k, succxfer: 1429932.0k
+curr.rate: 3278kB/s, avg.rate: 4773kB/s, avg.load: 2.2%
>x--x.....................................< 9% ETA: 0:41:45
dd_rescue: (warning): read /dev/sde (1429972.0k): Input/output error!
dd_rescue: (warning): Bad block reading /dev/sde: 357493
dd_rescue: (info): ipos: 15556608.0k, opos: 15556608.0k, xferd: 15556608.0k
errs: 11, errxfer: 44.0k, succxfer: 15556564.0k
+curr.rate: 6164kB/s, avg.rate: 6406kB/s, avg.load: 3.1%
>x--x------------------------------------.< 99% ETA: 0:00:00
dd_rescue: (info): read /dev/sde (15558144.0k): EOF
dd_rescue: (info): Summary for /dev/sde -> /home/gehrke/images/kali-20150531-rescue.img
dd_rescue: (info): ipos: 15558144.0k, opos: 15558144.0k, xferd: 15558144.0k
errs: 11, errxfer: 44.0k, succxfer: 15558100.0k
+curr.rate: 5380kB/s, avg.rate: 6405kB/s, avg.load: 3.1%
>x--x------------------------------------.< 99% TOT: 0:40:29
Dann habe ich versucht, dieses Images zu mounten - ich vermute die interessanten Files auf 'sde2':
Code:
j2:~ # modprobe loop
j2:~ # kpartx -va /home/gehrke/images/kali-20150531-rescue.img
add map loop0p1 (253:7): 0 125000 linear /dev/loop0 1
add map loop0p2 (253:8): 0 6018999 linear /dev/loop0 125001
add map loop0p3 (253:9): 0 2 linear /dev/loop0 6144000
j2:~ # mount -o loop,ro /dev/mapper/loop0p2 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
Natürlich habe ich von diesem System kein aktuelles Backup, maximal ein älteres Image. Das System werde ich wohl wieder hinfrickeln können, aber ich hoffe sehr, dass ich noch an die restlichen Daten komme.
Der Versuch, dass kaputte Dateisystem zu reparieren brachte scheinbar den Erfolg:
Code:
j2:~ # fsck.ext4 /dev/mapper/loop0p2
e2fsck 1.42.8 (20-Jun-2013)
/dev/mapper/loop0p2: recovering journal
Setting free inodes count to 112594 (was 112647)
Setting free blocks count to 4097 (was 379256)
/dev/mapper/loop0p2: clean, 75822/188416 files, 748277/752374 blocks
j2:~ # mount -o loop,ro /dev/mapper/loop0p2 /mnt
cu, gehrke