http://www.politiker-stopp.de/gfx/politiker-stopp-print.png

Benjamin Schieder

[TECHSUCKS] MDADM TROUBLE

2006 July 13 | 1 comments

Nachdem ich kuerzlich Ceres neu installiert hatte, bekam ich heute auch schon die ersten Probleme mit der Installation.

Anscheinend hat sich eine Festplatte eine Auszeit gegoennt (warum, weiss ich noch nicht. Hitze? Spannungsabfall?) und ich erstmal Panik.
Gut, alles auf RAID 1 / 5, sollte noch alles da sein, denkt man. Aber erstens kommt es bekanntlich anders, und zweitens wenn man denkt.

raid5: cannot start dirty degraded error

bekam ich da von meinem Kernel zu lesen. Ehm... HAEH? Wie jetzt?

/proc/mdstat bestaetigte mir, dass das RAID laeuft, aber 'inactive' sei. Auch 'mdadm -R /dev/md/4' zickte rum und wollte das RAID partout nicht starten. Ich hab dann versucht, mdadm zu zwingen, das RAID komplett zu erstellen:
mdadm --assemble --force /dev/md4 /dev/hda7 /dev/hdc7 /dev/hdb7

Aber auch das fuehrte zu keinem Ergebnis.

Dann versuchte ich, das RAID neu zu erstellen. Ja, mit --create, also das alte Zeug loeschen. Dies funktionierte teilweise. Das RAID war zwar wieder (immer noch?) da, aber ebenfalls 'inactive'.
Auch 'mdadm -R /dev/md/4' startete das RAID nicht.

mdadm --manage /dev/md/4 -a /dev/hdb7

kehrte kommentarlos zur Shell zurueck. Keine Ausgabe, kein Eintrag in dmesg, kein Eintrag in /var/log/messages, einfach nichts.
Und genau da liegt das Problem, mit dem ich eine Stunde gekaempft habe. 'mdadm --help' sagt:

# mdadm --help
...
mdadm --manage device options...
make changes to an existing array.
mdadm device options...
Shorthand for --manage.
...
# /sbin/mdadm --manage --help
...
Options that are valid with management mode are:
--add -a : hotadd subsequent devices to the array
...


Also sollte doch eigentlich irgendwas passieren. Noe. Ich habe herausgefunden, dass entweder mdadm oder aber der --help Text fehlerhaft ist.
Denn dies hier fuehrte schliesslich zum Erfolg:
# mdadm -A /dev/md/4 # Array starten, wird als 'inactive' markiert sein und unbrauchbar sein
# mdadm --manage /dev/md/4 -a /dev/hdb7 # macht nichts
# mdadm /dev/md/4 -a /dev/hdb7 # Fuegt md/4 tatsaechlich /dev/hdb7 hinzu!
# mdadm -R /dev/md/4 # Startet md/4 und setzt den resync Prozess in Gang


Ab hier war es nur noch eine Sache von 'fsck.reiserfs /dev/md/4 --fix-fixable' und ich konnte mein Dateisystem wieder verwenden. Puh!

Gleich mal bei den mdadm Jungs beschweren, wenn die nicht die Doku vermurkst haetten, waer ich wesentlich frueher fertig geworden. So nach ungefaehr 5 Minuten...


EOF

Category: blog

Tags: TechSucks


1 Comment

From: dermax
2008-04-22 12:51:45 +0200

Aber irgendwie verstehe ich den Fehler nicht. Normalerweise sollte das RAID5-Array doch weiter laufen, und nicht erst dann normal funktionieren, wenn *alle* Partitionen wieder im Array sind.
Bei mir war gerade das selbe: Ich hab einen SATA-Port gebraucht, um eine Backup-Platte anzuschließen, damit ich ein paar Daten rüberkopieren kann. Okay, kurzerhand habe ich die vierte Platte in allen RAID-Arrays als "faulty" markiert, geschaut, ob in /proc/mdstat irgendwas steht (resync oder so) - nö, also Kiste neu gestartet. Dann hatte ich genau den selben Fehler wie du, den ich mit deiner Lösung (danke!) beheben konnte. ;)
Wenn der Resync fertig ist, werde ich es nochmal probieren.
Grüße

Post a comment

All comments are held for moderation; basic HTML formatting is accepted.

Name: (required)
E-mail: (required, not published)
Website: (optional)
Comment: