Alle Daten weg nach XFS-Repair?


Karl007

Recommended Posts

Hallo zusammen.

 

Ich hatte vor ner Woche ein Problem das auf bestimmte Verzeichnisse nicht schreibend zugegriffen werden konnte - irgendein IO Fehler.

Daraufhin hab Ich einen das Array im Maintainence Mode hochgefahren und die Disk die es betraf gecheckt.

Da der Check Fehler angezeigt hat hab Ich das Array gestoppt und ein XFS Repair durchgeführt.

Bisher alles immer wie hier beschrieben: https://wiki.unraid.net/Check_Disk_Filesystems#Preparing_to_run_xfs_repair

 

Nach (erfolgreichem?) Repair, welcher ziemlich lang gedauert hat, hab Ich das Array wieder hochgefahren, wobei er einen Parity Sync gestartet hat.

 

Heute hab Ich festgestellt das einige Shares komplett leer sind und ne menge Daten fehlen. Die HD die Ich repariert hatte wird in Unraid auch als "unable to mount" angezeigt und er bietet mir die Möglichkeit zum formatieren an.

 

Nach ein bisschen googeln bin Ich zu dem Schluss gekommen das die HD in diesem Zustand recovert werden muss, also raus aus dem array, array gestartet und dann sollte er ja im emulated modus sein und mir die Inhalte der fehlenden Disk aus dem Paritydrive anzeigen, korrekt?

 

Hier fehlen aber die fehlenden Ordner immer noch, also dürfte auch ein recovery der Platte nicht helfen, richtig?

 

Ich fürchte das durch das XFS-Repair alle Daten gelöscht und durch den Paritysync danach auch die Paritydaten dieser Ordner gelöscht wurden, oder?

 

Gibt es jetzt noch irgendeine möglichkeit diese Daten zurück zu bekommen?

 

Das einzige was Ich bisher gefunden hab ist ddrescue, welches allerdings eine freie Festplatte mit gleicher Größe erfordert, die Ich nicht habe 🙁 

 

Hoffe auf euer KnowHow und das Ich noch an irgendwelche Daten komme... Danke schonmal im Vorraus.

 

mfg, Thorsten

 

Link to comment
59 minutes ago, Karl007 said:

Ich fürchte das durch das XFS-Repair alle Daten gelöscht und durch den Paritysync danach auch die Paritydaten dieser Ordner gelöscht wurden, oder?

Vermutlich. Die Parity passt sich dem Reparaturergebnis an.

 

1 hour ago, Karl007 said:

hab Ich das Array wieder hochgefahren, wobei er einen Parity Sync gestartet hat.

Das macht keinen Sinn. Ein Parity Sync, also ein Neuaufbau der Parity oder einen Check? Wenn es ein Neuaufbau war, dann hast du den explizit bestätigt und entsprechende Warnungen ignoriert. Oder hattest du gar eine New Config gestartet? Und ein Check wird ja eigentlich nur gemacht, wenn der Server crasht oder es per Zeitplan angestoßen wurde.

 

1 hour ago, Karl007 said:

Die HD die Ich repariert hatte wird in Unraid auch als "unable to mount" angezeigt und er bietet mir die Möglichkeit zum formatieren an.

Die HDD oder die emulierte HDD?

 

1 hour ago, Karl007 said:

also raus aus dem array, array gestartet und dann sollte er ja im emulated modus sein

Du hast die Disk per Dropdown aus dem Array entfernt?! Warum?! Natürlich ist die Disk dann weg und wird nicht emuliert. Emuliert wird nur, wenn eine Disk aus dem Array fehlt, weil sie zb defekt ist, nicht wenn ein User sie aus dem Array entfernt.

 

1 hour ago, Karl007 said:

Gibt es jetzt noch irgendeine möglichkeit diese Daten zurück zu bekommen?

Im ersten Schritt würde ich die Kabelverbindung der vermeintlich defekten HDD trennen. Wird diese Disk nun emuliert? Ist sie einsehbar oder was ist die Meldung im Dashboard? Sollte sie emuliert werden, kannst du versuchen diese emulierte Disk zu reparieren:

https://forums.unraid.net/topic/122772-data-rebuild-fehlerhaft/?do=findComment&comment=1122595

 

Dann würde ich unRAID auf einem zweiten USB Stick installieren und nur mit der defekten Disk booten. Diese dann im Array als Disk1 zuordnen. Natürlich nicht formatieren! Entweder ihr Inhalt wird angezeigt oder nicht. Wenn nicht, dann ist sie nicht mehr XFS formatiert bzw der Bootsektor defekt. Ist das der Fall, dann mit xfs_repair das entsprechende /dev/sdX1 per Kommandozeile versuchen reparieren zu lassen.

 

Im letzten Schritt könnte man mit Testdisk oder diesem Skript Dateien wiederherstellen, aber mach dir keine Hoffnung was die Dateinamen anbelangt. Die sind in jedem Fall dann weg:

https://github.com/ianka/xfs_undelete

 

 

 

Link to comment

Hallo Mgutt.

 

Vielen Dank für deine Infos und Tipps.

 

38 minutes ago, mgutt said:

Das macht keinen Sinn. Ein Parity Sync, also ein Neuaufbau der Parity oder einen Check? Wenn es ein Neuaufbau war, dann hast du den explizit bestätigt und entsprechende Warnungen ignoriert. Oder hattest du gar eine New Config gestartet? Und ein Check wird ja eigentlich nur gemacht, wenn der Server crasht oder es per Zeitplan angestoßen wurde.

Nein, definitiv kein NewConfig und auch kein expliziten Sync. Dann dürfte es der Check gewesen sein.

 

 

38 minutes ago, mgutt said:

Die HDD oder die emulierte HDD?

Ich nehme an die echte, jedenfalls steht nirgends was von emuliert (das ist der aktuelle Stand).

image.thumb.png.d76cf9cd8587ef7ca16359fdbb10f5c8.png

 

Den gleichen Fehler hatte Ich direkt nach dem Repair und start des Arrays.

Daraufhin hab Ich die HD aus dem Array entfernt, gestartet und konnte dann dieselbe HD wieder als Ersatz für diese Disk auswählen

 

Jetzt (nach dem rauswerfen und ersetzen aus dem Array, sie Anleitung im nächsten Absatz) will er aber direkt nach dem Array starten einen "Parity-Sync/Data-Rebuild" für diese Disk starten, aber da die Daten nicht zu sehen sind (was eigentlich sollte, durch emulation der partiy, oder?) bin Ich unsicher den durhclaufen zu lassen damit er mir nicht die komplette Platte mit nullen aus der parity überschreibt (falls in der parity die Daten weg sind) 🙁

 

38 minutes ago, mgutt said:

Du hast die Disk per Dropdown aus dem Array entfernt?! Warum?! Natürlich ist die Disk dann weg und wird nicht emuliert. Emuliert wird nur, wenn eine Disk aus dem Array fehlt, weil sie zb defekt ist, nicht wenn ein User sie aus dem Array entfernt.

Hab Ich so als Anleitung gefunden wenn man eine HD explizit mit sich selbst ersetzen will -> https://wiki.unraid.net/Manual/Storage_Management#Rebuilding_a_drive_onto_itself

 

38 minutes ago, mgutt said:

Im ersten Schritt würde ich die Kabelverbindung der vermeintlich defekten HDD trennen. Wird diese Disk nun emuliert? Ist sie einsehbar oder was ist die Meldung im Dashboard? Sollte sie emuliert werden, kannst du versuchen diese emulierte Disk zu reparieren:

https://forums.unraid.net/topic/122772-data-rebuild-fehlerhaft/?do=findComment&comment=1122595

Sollte die Disk als emuliert nicht schon schon auftauchen wenn Ich die HD als Disk4 im Array entfernt habe? (So versteh Ich die Anleitung oben)

 

Edited by Karl007
link korrigiert
Link to comment
8 minutes ago, Karl007 said:

Sollte die Disk als emuliert nicht schon schon auftauchen wenn Ich die HD als Disk4 im Array entfernt habe?

Nein. Wenn du die über das Dropdown entfernst, änderst du ja die Array Konfiguration. Es gibt Disk4 dann nicht mehr im Array und die Parity wird dann natürlich ohne Disk4 neu aufgebaut. Ich vermute das ist dann auch passiert.

 

9 minutes ago, Karl007 said:

aber direkt nach dem Array starten einen "Parity-Sync/Data-Rebuild" für diese Disk starten, aber da die Daten nicht zu sehen sind (was eigentlich sollte, durch emulation der partiy, oder?) bin Ich unsicher den durhclaufen zu lassen damit er mir nicht die komplette Platte mit nullen aus der parity überschreibt

Du bekommst am Ende das, was du jetzt schon siehst. Also eine nicht mountbare kaputte Disk. Daher solltest du das auf keinen Fall machen. Du musst stattdessen die aktuell defekte Disk reparieren. Ich würde es wie gesagt mit einem zweiten USB Stick machen, weil du dann klar sehen kannst, ob die Disk noch Dateien enthält oder eine defekte Partiton hat. Das geht auch im Wartungsmodus des aktuellen Servers, aber dann musst du genau wissen welche /dev/sdX1 du reparieren musst. Mit einem neuen unRAID Server mit nur einer Disk und wo es noch kein Array gibt, ist das denke ich einfacher.

Link to comment
7 hours ago, mgutt said:

Nein. Wenn du die über das Dropdown entfernst, änderst du ja die Array Konfiguration. Es gibt Disk4 dann nicht mehr im Array und die Parity wird dann natürlich ohne Disk4 neu aufgebaut. Ich vermute das ist dann auch passiert.

Ne, das sollte passen - Er zeigt die Disk dann als emulated an: image.thumb.png.4f6bb05e0e0e339177c3267de05dd93a.png

 

Hab das auch erst gemacht als die Daten schon weg waren um die Disk zu recovern, also Auslöser der Problematik kann das nicht gewesen sein.

 

Ich werd das mal probieren wie du geschrieben hast, Danke.

Link to comment

Yeah, die Daten scheinen wieder da zu sein. Ich hatte gestern Abend nochmal das manual gewälzt und das empfohlene XFS-Repair auf die emulated disk (die erschien als Ich die HD als Disk4 entfernt hatte) angewendet.

 

Das ist jetzt durchgelaufen und nach einem neustart des Arrays ist die DIsk (als emulated) wieder da, wird halbvoll angezeigt, und die die Verzeichnisse sind wieder da, Halleluja!

 

D.h. das Dateisystem ist in der Parity repariert und Ich müsste jetzt nur noch die Disk als "neue" Disk4 hinzufügen damit diese dann recovert, also aus der Parity wiederhergestellt wird, richtig?

 

 

Link to comment

Richtig und genau an der Stelle würde ich eine neue Disk verbauen und die alte als Backup behalten. Der Punkt ist nämlich, dass wenn das jetzt fehlschlägt, dann ist wirklich alles weg.

 

Und du brauchst allgemein einfach mal Backups, denn wie du siehst, kann die Parity nur das wiederherstellen was gerade da ist.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.