PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Raid5 - Fehler im Dateisystem/Defekte Sektoren - was nun?



hofmannt
18.03.08, 02:33
Hallo zusammen,
bin gerade am Verzweifeln, weil mein Linux Backupserver streikt.
Vielleicht kann mir hier jemand weiterhelfen.

Bei meinem System handelt es sich um ein P4 system (MSI P4N SLI motherboard) mit einer 100GB Systemplatte auf der Suse Linux 10.0 installiert ist und einem Software Raid5 bestehend aus vier 250GB WD2500YD (SATA) Serverfestplatten (dev/md0).

Alles fing damit an, dass Linux den Inhalt des gesamten Backupverzeichnisses als leer anzeigte. Im Systemprotokoll hab ich dann folgendes gefunden:
ReiserFS: md0 Warning: zam-7001 io error in reiserfs_find_entry

Als ich LVM aufrief, wollte Linux eine "volume group" erstellen.
Wenn man das macht, erscheinen alle logischen Laufwerke. Auch das Raid wird hier angezeigt. Beim Anlegen erhalte ich aber die Fehlermeldung "Create volume group failed, system error code - 4004"

Nach dem Neustart des System, bleibt das System beim Laden der Hardware stehen (die grafische Benutzeroberflaeche wird nicht geladen).
Folgende Fehlermeldungen werden angezeigt:

md0 warning sh-2006 read_super_block: break failed (dev md0, block 2, size 4096)
md0 warning sh-2006 read_super_block: break failed (dev md0, block 16, size 4096)
md0 warning sh-2021 reiserfs_fill_super: can not find reiserfs on md0

ata4: status=0x51
ata4: error=0x84


Versuche das Dateisystem mit fsck.reiserfs auf Fehler zu untersuchen bzw. mit --rebuild-sb wiederherzustellen schlugen fehl.

Leider kenne ich mich nicht sehr gut mit Linux aus und bin mir nicht sicher, ob man das Dateisystem "einfach" wiederherstellen und die defekten Sektoren reparieren kann oder ob die SATA Platte 4 voellig unbrauchbar ist.
Vielleicht kann mir hier jemand weiterhelfen?
Falls die Platte kaputt ist, wie kann ich meine Daten wiederherstellen?


Vielen Dank im Vorraus!!

Timo

basti1985
18.03.08, 06:48
Versuche das Dateisystem mit fsck.reiserfs auf Fehler zu untersuchen bzw. mit --rebuild-sb wiederherzustellen schlugen fehl.

genaue fehlermeldung bitte

marce
18.03.08, 06:52
edit: zu langsam

... Wenn in einem Raid 5 mit 4 Platten 1 defekt ist so sollte es eigentlich an sich immer noch funktionieren (wenn auch, gerade bei SW-Raid, langsam).

Du scheinst aber zusätzlich Probleme mit dem Dateisystem an sich zu haben - leider ist ein ReiserFS nicht sehr tolerant, was den Umgang mit derlei Fehlern angeht.

Versuche erst mal, den HW-Defekt der Platte zu verifizieren (z.B. über badblocks im RO-Modus oder ein Tool des HW-Herstellers) - zusätzlich bitte noch die erbetenen detailierten Fehlermeldungen posten.

Evtl. lässt sich auch über dd_rescue oder andere Tools noch was retten - Du hast aber vermutlich kein Platz, um von den HDs Images abzulegen?

basti1985
19.03.08, 07:33
P.S.


--rebuild-sb oder
--rebuild-tree

funktionieren nur wenn das raid als solches besteht (ist also nicht auf die einzelnen platten an zu wenden sondern auf (in deinem fall) md0)
verifizieren kannst du das mit


cat /proc/mdstat

was du dabei auch gleich mal posten könntest

hofmannt
19.03.08, 23:24
Hallo,
vielen Dank fuer eure Antworten!

Hier noch mehr Infos:

fsck /dev/md0 ergibt folgende Ausgabe:


bread: Cannot read the block(2): (Invalid argument)
reiserfs_open: bread failed reading block 2
bread: Cannot read the block(16): (Invalid argument)
reiserfs_open: bread failed reading block 16
reiserfs_open: the reiserfs superblock cannot be found on /dev/md0
Failed to open the filesystem

Warrning fsck.reiserfs for device /dev/md0 extended with signal 6
fsck.reiserfs /dev/md0 failed (status 0x8). Run manually!


genaue fehlermeldung bitte
reiserfsck --rebuild-sb /dev/md0

reiserfs_create: can not create that small (0 blocks) filesystem

sfdisk /dev/md0

Cannot get geometry
Disk /dev/md0: 0 cylinders, 0 heads, 0 sectors/tracks
read: no such device

sfdisk: read error on /dev/md0 - cannot read sector 0
/dev/md0: unrecognized partition table type
Old situation:
No partitions found


Versuche erst mal, den HW-Defekt der Platte zu verifizieren (z.B. über badblocks im RO-Modus oder ein Tool des HW-Herstellers)

Hab ich gemacht mit nem Tool von Western Digital.
Drei der vier Platten sind ok. Bei der defekten Platte bricht der Test irgendwann ab, weil zu viele Sektoren beschaedigt sind.


Evtl. lässt sich auch über dd_rescue oder andere Tools noch was retten - Du hast aber vermutlich kein Platz, um von den HDs Images abzulegen?
Ich hab noch 3x 250GB Festplatten auf Lager. Werd gleich mal anfangen nen Backup zu machen!


verifizieren kannst du das mit


cat /proc/mdstat

was du dabei auch gleich mal posten könntest

cat /proc/mdstat


Personalities;
md0: inactive sdb1[2] sdc1[0]
490206976 blocks

unused devices <none>



Ist es moeglich die defekte Platte durch eine Ersatzplatte zu ersetzen und dann das Dateisystem zu reparieren?

Danke fuer eure Hilfe!!

hofmannt
27.03.08, 21:59
Mittlerweile habe ich alle Festplatten mit ddrescue gespiegelt.
Nur bei einer Platte gabs Fehlermeldungen, alle anderen konnten fehlerfrei kopiert werden.


fsck.reiserfs --rebuild-sb /dev/md0 *bricht nach wie vor ab:

reiserfs_create: can not create that small (0 blocks) filesystem
denn das Raid wird aber als solches nach wie vor nicht erkannt:

cat /proc/mdstat

md0: /inactive sdb[12]

mdadm --detail /dev/md0 ergibt
mdadm: md device /dev/md0 does not appear to be active

Im LVM sind auch nur zwei der vier Platten eingetragen:


Physical volumes:
device size type volume group
/dev/sda1 233.7 GBLinux native --
/dev/sdc1 233.7 GBLinux RAID --


Logical volumes:
device mount
/dev/hda1 swap 1.0GB Linux swap
/dev/hda2 / 92.3 GB GBLinux native
/dev/md0 /usr2 233.7 GB MD Raid
/dev/sdd1 /backup 233.7 GB Linux Raid


Die Frage ist nun, wie man jetzt das Raid wieder zusammenfuegt, ohne dabei die Daten zu verlieren.
Im Prinzip koennte ich mit mdadm --create --verbose /dev/md0 --level=5 --raid-devices=4 \ /dev/sda /dev/sdb /dev/sdc /dev/sdd ein neues Raid erstellen, aber dann sind vielleicht die Daten weg?

heatwalker
28.03.08, 10:30
Ich weiss jetzt nicht wie das bei einem Software Raid ist,
gehe aber davon aus das es sich damit wie bei einem Hardware Raid verhält.

Du ziehst die defekt Platte raus und steckst eine neue ein.
Dann sollte sich die Platte von selbst rebuilden.

Nimmt je nach Grösse halt Zeit in Anspruch.

Aqualung
28.03.08, 14:20
Das wird Dir jetzt akut zwar nix helfen, aber vielleicht in Zukunft:

Wenn Software-RAID. dann NIEMALS NIE reiserfs verwenden. AFAIK kann das nämlich die ungute Eigenschaft haben, sich (auf einem RAID) selbst kaputt zu reparieren. Muss mit der Verwaltung des Journals zusammenhängen.

Gruß Aqualung