Folgendes ist passiert:
Mein Fileserver besteht aus zwei Raid1. Eins fürs Betriebssystem, eins für die Daten bzw. Vmware-Server Dateien.
Dieser Fileserver reagierte plötzlich nicht mehr und zeigte in top für wait 99,9% an. Es tat sich also nichts mehr, sodass ich den Rechner resettet habe.
Nach dem Neustart fehlte dann das Datenraid.
Ein kurzer Blick in dmesg sagte mir, dass das Raid nicht gestartet werden konnte weil irgendeine Checksumme (genaue Meldung kann ich momentan nicht sagen, da ich ungern den Fileserver starten will um nachzugucken) nicht passte. Ich dachte das wird wohl vom Reset kommen.
Mounten (mount -t ext3 -o ro /dev/sdb1 /mnt/temp) funktionierte, sodass ich mir dachte ich mach ein "fsck.ext3 /dev/sdb1" und alles ist wieder in Butter... Falsch gedacht. Nachdem immer mehr Fehler im Dateisystem auftraten, wurde ich stutzig und hörte auf. Dummerweise habe ich das auf beiden Platten probiert... Zudem habe ich noch ein "mdadm -C -l1 -n2 /dev/md1 /dev/sdb1 missing" abgesetzt, jedoch weiß ich nicht, ob das in dem Fall eine negative Wirkung hatte...
Ende von Lied: Ich habe zwei defekte Dateisysteme. Mit debugfs kann ich noch teilweise in die Verzeichnisse wechseln.
An diesem Punkt habe ich gemerkt, dass ich da wohl irgendwie ziemlich Mist gebaut habe und alles kaputt war. Daher habe ich nichts weiteres mehr gemacht und neue Platten geordert um Arbeitskopien zu machen.
Festplatte sda hat nen eng begrenzten physikalischen Defekt von ca. 2Gb, habe ich inzwischen bemerkt.
Das ist also mein Fall. Eine Lösung möchte ich gar nicht haben (schön wär´s ). Ich habe "nur" ein paar Fragen:
1) Werden auf eine Platte noch zusätzliche, das Raid betreffende Informationen geschrieben oder verhält sich eine einzelne Platte genauso als hätte man sie ohne Raid partitioniert und formatiert? Mounten kann man sie ja auch ohne Probleme ohne Raid. Müsste dann nicht auch ein fsck.ext3 funktionieren?
2) Gehe ich Recht in der Annahme, dass bei einem syncronen Raid auf beiden Platten exakt die gleichen Daten an exakt der gleichen Stelle gespeichert sind? Hört sich ja eigentlich logisch an.
3) sollte 2) zutreffen, was wäre die einfachste Möglichkeit die beiden Platten blockweise zu vergleichen, damit ich mir einen Überblick verschaffen kann um zu sehen, welche Teile gleich sind und welche unterschiedlich.
Besonders der letzte Punkt würde mir wahrscheinlich sehr weiterhelfen, denn die sdb mit ein paar Gb vom Anfang von sda brachte zwar kein heiles Dateisystem, jedoch konnte ich zumindest in debugfs fast alle Dateien mit (wahrscheinlich) korrekter Größe sehen. Helfen würde bei weiteren Versuchen, wenn ich sehen könnte, welche Bereiche überhaupt unterschiedlich sind.
Folgendes müsste ja rein theoretisch funktionieren: Hole von beiden Platten einen Block( z.B. 10Mb), vergleiche diese und gebe aus, ob diese gleich oder verschieden sind, danach gehe zum nächsten Block.
Den Block holen müsste man ja mit dd können. Wie aber vergleiche ich die Blöcke? Mit diff?
Wäre cool, wenn einer, der da mehr in den entsprechenden Tools steckt, ein bisschen auf die Sprünge hilft. Ich hab da kein Plan wie ich da am besten rangehen könnte.
Ach ja, n Backup gibt es natürlich nicht, sonst würde ich ja nicht fragen
Lesezeichen