Dateien nach RAID5 Fehler wiederhestellen

Crys

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.634
Ich habe auf meinen Xubuntu 14 LTS ein Software RAID5 erstellt.
Zuerst mit 3x 3TB HDDs, dann habe ich den Inhalt einer weiteren 4ten 3TB HDD in die RAID5 Partition kopiert und anschließend diese 4te HDD formatiert und (ordnungsgemäß) in das RAID5 integriert.
Danach konnte ich aber die RAID-Partition nicht mehr mounten, ich habe mit fsck.ext4 -f /dev/md1 versucht die Partition wiederherzustellen, es kamen auch (ca. 20.000) Fehler das die Summe von Blöcken nicht übereinstimmt, alles mit ja reparieren weiter geklickt.

Ich habe einen Server mit Xubuntu 14 LTS und ein Software-RAID5 frei nach http://wiki.ubuntuusers.de/Software-RAID installiert.

Das klappte auch so einwandfrei. Ich habe zuerst 3 HDDs zum RAID5 zusammen gefasst, dann habe ich den Inhalt einer 4ten HDD auf die neuen Partition kopiert. Soweit kein Probmen oder Fehler.
Dann habe ich die 4te HDD formatiert, als Hotspare hinzugefügt und dann versucht das RAID neu aufzubauen.
Beim ersten Befehl ist aber ein Fehler gekommen, dass das RAID gerade beschäftigt ist. Als ich den status ausgelessen habe, habe ich gesehen das die Spare-HDD gerade synchronisiert wird.
Dann habe ich gewartet und der hat den Befehl wohl nachträglich nach der synchronisierung noch ausgeführt.
Bei resize2fs /dev/md0 kann die Meldung das das RAID schon groß genug ist, mit mdadm --detail /dev/md1 habe ich wieder gesehen, dass die neue HDD synchronisiert wird.
Nach etlichen Stunden habe ich dann gemerkt das der Server einfach neu gestartet hat.

Jetzt kann ich RAID nicht mehr mounten und aus dem ehemaligen RAID /dev/md1 ist /dev/md127 geworden. Ich habe das nicht veranlasst.

Wenn ich am Desktop die Vernüung zur RAID5 Partition versuche anzuklicken (zu mounten), kann ich das nach einen Neustart erfolgreich machen und ich komme in den Ordner.
Wenn ich dann versuche den Ordner noch einmal zu öffnen kommt das:
Code:
Der Datenträger »Datenträger 9,0 TB« konnte nicht eingehängt werden.

Error mounting /dev/md127 at /media/chris/80603ee5-5e6e-4281-966a-b752f3cbb047: Command-line `mount -t "ext4" -o "uhelper=udisks2,nodev,nosuid" "/dev/md127" "/media/chris/80603ee5-5e6e-4281-966a-b752f3cbb047"' exited with non-zero exit status 32: mount: wrong fs type, bad option, bad superblock on /dev/md127,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

Wenn ich versuche mount /dev/md127 /media/freigaben kommt die Meldung:
Code:
mount: wrong fs type, bad option, bad superblock on /dev/md127,
       missing codepage or helper program, or other error
       Manchmal liefert das Syslog wertvolle Informationen – versuchen
       Sie  dmesg | tail  oder so
Bei dmesg | tail kommt:
Code:
[  157.241476] JBD2: no valid journal superblock found
[  157.241482] EXT4-fs (md127): error loading journal
[  293.037125] JBD2: no valid journal superblock found
[  293.037138] EXT4-fs (md127): error loading journal
[  317.080928] JBD2: no valid journal superblock found
[  317.080941] EXT4-fs (md127): error loading journal
[ 3037.391477] JBD2: no valid journal superblock found
[ 3037.391482] EXT4-fs (md127): error loading journal
[ 4578.184358] JBD2: no valid journal superblock found
[ 4578.184364] EXT4-fs (md127): error loading journal

Bei mdadm --detail /dev/md127 kommt:
Code:
/dev/md127:
        Version : 1.2
  Creation Time : Wed May 28 13:12:28 2014
     Raid Level : raid5
     Array Size : 8790389760 (8383.17 GiB 9001.36 GB)
  Used Dev Size : 2930129920 (2794.39 GiB 3000.45 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Fri May 30 11:28:20 2014
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : ChrisXu:1  (local to host ChrisXu)
           UUID : c4236ee8:8d61ac08:65ddda03:efe37f21
         Events : 6347

    Number   Major   Minor   RaidDevice State
       0       8       97        0      active sync   /dev/sdg1
       1       8       81        1      active sync   /dev/sdf1
       3       8       49        2      active sync   /dev/sdd1
       4       8       65        3      active sync   /dev/sde1
Also eig. alles in Ordnung!?

Bei blkid -o list -w /dev/null sieht das so aus:
Code:
device                      fs_type     label        mount point                     UUID
--------------------------------------------------------------------------------------------------------------------------
/dev/sda1                   ext4                     /boot                           5dba167f-348d-4a10-8cd7-e702b12a5fb7
/dev/sda2                   ext4                     /                               a6191685-7b62-4bf4-9ce5-5a80ebaf2894
/dev/sda3                   swap                     <swap>                          e5b9646d-d4b1-469d-ba79-474a585c1062
/dev/sda5                   ext4        sicherung    (not mounted)                   bc44ab3f-e288-45ff-806e-25bbe621dd16
/dev/sdb1                   linux_raid_member ChrisXu:9 (in use)                     10d547fc-fcb4-34f1-86d0-04935bf9df2f
/dev/sdc1                   linux_raid_member ChrisXu:9 (in use)                     10d547fc-fcb4-34f1-86d0-04935bf9df2f
/dev/sdd1                   linux_raid_member ChrisXu:1 (in use)                     c4236ee8-8d61-ac08-65dd-da03efe37f21
/dev/md127                  ext4                     (not mounted)                   80603ee5-5e6e-4281-966a-b752f3cbb047
/dev/sde1                   linux_raid_member ChrisXu:1 (in use)                     c4236ee8-8d61-ac08-65dd-da03efe37f21
/dev/sdf1                   linux_raid_member ChrisXu:1 (in use)                     c4236ee8-8d61-ac08-65dd-da03efe37f21
/dev/sdg1                   linux_raid_member ChrisXu:1 (in use)                     c4236ee8-8d61-ac08-65dd-da03efe37f21
/dev/md126                  ext4                     (not mounted)                   81d51a6a-ecad-4775-8af5-9ebd5187cb4d
(md126 ist ein RAID0 aus sdb1 und sdc1. Erstellt habe ich dieses auch als md9, es wurde auch plötzlich umbennant. Das funktioniert noch ohne Probleme)

Jetzt kann ich die Partition wieder mounten, aber alle Dateien, die ich von der 4ten HDD in das RAID kopiert hatte sind jetzt weg. Es fehlen 3TB!
Dateien die ich vorher schon in das RAID kopiert hatte sind noch da.

Was ist da schief gegangen?
Wie kann ich die Dateien weiter herstellen?


Nein, ich habe von den 3TB keine Sicherheitskopie oder bekomme die Dateien sonst wo wieder her. Sind alles Urlaubsfilme und Bilder.
 
Zuletzt bearbeitet: (Ausführlich was ich vor dem fsck.ext4 gemacht habe)
Als erstes gehört hier dann wohl der Standard-Spruch: ein RAID ist kein Ersatz für ein Backup!

Jetzt zur Hilfe. Mal mit einem Datenrettungsprogramm drüber geschaut? R-Linux zum Beispiel.
 
Ich kenne mich bei Linux auch nicht gut aus. Das Programm heißt R-Linux.

Bei Urlaubsbildern und Videos sollte dann aber schnellst möglich ein Backup her ;)
 
hm, auf die Seite bin ich auch gestoßen, nur hab ich absolut keine Ahnung wie ich das Programm bedienen soll/kann. Finde auch keine Anleitung.
/edit: ok, das hat ne GUI ... vor lauter Wald den Baum nicht gesehen


Mit der Sicherung ist das nicht so einfach. Irgendwann kommt mal eine inkrementelle Sicherung auf einer externen Festplatte/NAS, die nur zum Sichern alle Woche angeschaltet wird. Da fehlt aber noch die Hardware.
Das RAID5 sollte zumindest eine HDD Ausfallsicherung bieten, für den Anfang ...
 
Zuletzt bearbeitet:
Hat ja nicht soo gut funktioniert :heilig:
 
Also dass die md Partitionsid sich ändert ist jetzt nichts ungewöhnliches, deshalb einfach per UUID mounten.

Klingt so als hättest du ein degraded Array erstellt. z.B. mittels
mdadm --create /dev/md0 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 missing

Das würde z.B. erklären, dass beim hinzufügen des HotSpares sofort synchronisiert worden ist.
Ebenso deutet die Ausgabe von resize2fs darauf hin.

Das Problem bei deinem degraded Raid5 ist, dass in dem Moment als du die vierte Festplatte umpartitioniert hast deine Daten blank waren. D.h. von den drei Festplatten müssen alle Daten korrekt gelesen, ansonsten bekommst du (totalen) Datenverlust.
Richtig wäre gewesen ein vollständiges Raid5 mit drei Festplatten aufzubauen, danach mittels grow und resize2fs zu integrieren, aber das hilft dir jetzt auch nichts.

Wenn du mit Recovery Software nichts mehr gerettet bekommst, dann wars das wohl.
 
wayne_757 schrieb:
Richtig wäre gewesen ein vollständiges Raid5 mit drei Festplatten aufzubauen, danach mittels grow und resize2fs zu integrieren, [...]
Ich dachte das hätte ich gemacht :(
Ich habe mittels mdadm --create /dev/md1 --auto md --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1 das RAID erstellt. Zu jeder Zeit war der RAID Zustand auch auf clean nie auf degrated.
Das einzige das ich mir jetzt noch vorstellen kann, ist dass ich die 4te HDD zu früh eingebunden habe, bevor das RAID die Daten verarbeitet hatte bzw. den resync abgeschlossen hatte.

Gerade läuft bei mir R-Linux und sucht nach Dateien (hoffe ich zumindest das es das macht). Wenn es heute Abend nach 24h Laufzeit fertig ist, weiß ich mehr ...
 
Dann ist das aber sehr merkwürdig.
Vor allem wenn resize2fs sagt das es schon passt, weil mit 3 HDDs hast du ja 6 TB und mit 4 HDDs dann 9 Tb
Zu früh einbinden dürfte wahrscheinlich auch nicht gehen, das sollte mdadm verhindern.
 
Code:
root@ChrisXu:~# mdadm --detail /dev/md1
/dev/md1:
        Version : 1.2
  Creation Time : Wed May 28 13:12:28 2014
     Raid Level : raid5
     Array Size : 8790389760 (8383.17 GiB 9001.36 GB)
  Used Dev Size : 2930129920 (2794.39 GiB 3000.45 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Wed Jun  4 21:12:09 2014
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : ChrisXu:1  (local to host ChrisXu)
           UUID : c4236ee8:8d61ac08:65ddda03:efe37f21
         Events : 6357

    Number   Major   Minor   RaidDevice State
       0       8       97        0      active sync   /dev/sdg1
       1       8       81        1      active sync   /dev/sdf1
       3       8       49        2      active sync   /dev/sdd1
       4       8       65        3      active sync   /dev/sde1
Used Dev Size ist auf 3TB, im FileManager werden aber nur 1TB belegt und 5TB frei angezeigt!?
Das heißt doch das 3TB belegt sind? Das könnten ja noch die Daten sein ... und wieso wird im FileManager nur 6TB Volumen angezeigt? :confused_alt:
 
Zurück
Oben