On Tue, 27 Jun 2006 10:12:03 +0200 Rolf Masfelder
Hallo, Am Montag 26 Juni 2006 23:51 schrieb Tobias Crefeld:
diff sagt:
raid5: device hda3 operational as raid disk 0 raid5: device hdc2 operational as raid disk 1 raid5: cannot start dirty degraded array for md1
was sagt ein 'cat /proc/mdstat' ? Welche Platte (Partition) hast du aus dem Array entfernt?
Habe jetzt leider keine Verbindung zwischen den PCs gehabt, deswegen nur sinngemäß: Im Kern stehen da die beiden devices (Partitionen) drin und eine Summe von ca. 5300000. Wenn ich eine dritte Partition einbinde, dann ist die mit "2" und "S" markiert. Das Array bleibt aber inactive.
Hast du mal "mdadm -a /dev/<entfernte Partition>" probiert? was passiert?
Die ursprüngliche Partition gibt es schon nicht mehr, aber ich habe eine weitere /dev/hdg2 ausreichender Größe angelegt, als RAID-dev mit FD markiert und die wird dann per "hot-add" als spare eingetragen. Deren superblock ist natürlich falsch, aber das sollte ja bei einem spare wurscht sein. Wird auch unter --details so angezeigt, aber sonst tut sich da nichts.
Ein RAID5 mit nur zwei Platten weigert sich, ein RAID5 mit zwei laufenden und einer eingebundenen Platte die erst noch synchronisiert werden muß sollte aber laufen. Solange das System synchronisiert (cat /proc/mdstat !!) solltest Du das Array in Ruhe lassen.
Leider läuft da kein Synchronisationsprozeß an. Auch nicht mit einem erneuten --run. Selbe input/output-error-Meldung wie zuvor. Es wird sehr wohl das dritte device als drive[2] gelistet, aber nicht unter den "normalen" active-devices des array, sondern darunter in der Liste der spares. FIX: Das Problem scheint mit dem verwendeten mdadm zusammenzuhängen. Kann natürlich auch ne andere Ursache haben, aber mich irritierten schon länger die immer wieder wechselnden Angaben über die Parameter von mdadm, die bei mir teilweise nicht funktionierten. Bei Opensuse 10.1 ist jedenfalls mdadm V2.2 vom 05.12.2005 dabei. Damit habe ich die ganze Zeit probiert - ohne Erfolg. Dann bin ich mal auf die CD1 Openuse 10.0 gewechselt und habe dort den Reparaturkernel gebootet und damit funktioniert es dann so, wie es soll und wie es auch bei http://www.holviala.com/~kimmy/diary/2005/04/cannot_start_dirty_degraded_arr... beschrieben steht - mit Ausnahme, daß bei mir halt ein reiserfsck statt dem e2fsck anfiel. Die mdadm-Version bei der Opensuse 10.0 ist die V1.12.0 vom 14.06.2005 - mit der geht es. Eine nicht ganz neue Knoppix o.ä. tut es wahrscheinlich genauso. KANN natürlich auch ein Problem des Kernels sein, der sich ja auch seither geändert hat. Glaube ich eher nicht. In Kurzform und auch nur, wenn man sich sicher ist, daß die im "degraded array" verbliebenen Platten in Ordnung sind, heißt das: 1.) Auch bei Opensuse 10.1 mit Opensuse 10.0 in den Reparaturbetrieb booten. 2.) mdadm --assemble --force /dev/md1 /dev/hda3 /dev/hdc2 ... dabei nur die gültigen devices / partitions des betreffenden RAID angeben. md1 kann natürlich auch md0, md2, mdhome usw. heißen. Danach sollte das Array schon aktiv sein - cat /proc/mdstat ist ein guter Tip, war mir neu. 3.) Filesystem checken mit reiserfsck /dev/md1 oder e2fsck /dev/md1 4.) mdadm --add /dev/md1 /dev/hdg2 Ab da läuft es dann von selbst los und synchronisiert relativ schnell. :-) Danke an alle für die Ratschläge, auch wenn der Hund offenbar diesmal woanders begraben lag! Gruß, Tobias.