[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Software-RAID und initrd



Hallo,

Florian wrote:
...
> Hallo
> Ein kleiner Nachtrag.
...
> Mit grml hat nun endlich mal ein halbe boot geklappt und nun habe ich
> zumindest eine weitere infos aus dem boot log (ab fotografiert):
> md: created md0
> md: bind<hdh1>
> md: bind<hdg1>
> md: bind<hdf1>
> md: bind<hde1>
> md: resuming <hdh1><hdg1><hdf1><hde1>
> md: kicking non-fresh hdf1 from array

Die obige Meldung zeigt, dass der Event-Zähler im Superblock der
Platten-Partition /dev/hdf1 "nicht frisch" (also nicht aktuell)
ist.  Deshalb wird diese Platte dann automatisch erstmal aus dem 
Verbund entfernt, damit ihre veralteten Daten nicht benutzt werden:

> md: unbind<hdf1>
> md: export_rdev(hdf1)
> md: raid array is not clean - starting background reconstruction

Die Meldung in der vorigen Zeile bedeutet, dass nun eine Rekonstruktion
des Verbundes aufgerufen wird, die parallel im Hintergrund abläuft.  
Dieser Vorgang berechnet bei RAID5 (RAID level 5) sogenannte 
Exklusiv-Oder-Verknüpfungen zwischen den Datenbits.  

Dieser Vorgang läuft auf Blockebene ab.  Wie lange das dauert, ist
deshalb unabhängig davon, wieviel Platz auf dem Verbund tatsächlich
von Dateien belegt ist.  Je nach Größe und Geschwindigkeit der
Platten, kann das auch mal eine Stunde oder länger dauern.

Hat das geklappt, dann können auch bei Wegfall einer beliebigen
Platte die Nutzdaten immer noch aus den Datenblöcken der übrigen
Platten erneut berechnet werden.

> md: personality for level 5 is not loaded

Diese Meldung bedeutet, dass der für den oben beschriebenen Vorgang
benötigte Kernel-Modul raid5 nicht geladen wurde.  Vielleicht fehlt
er einfach in der initrd von grml.  In dieser Liste schrieb ich neulich, 
wie das überprüft werden kann.

> md: do_md_run() returned -22
> md: md0 stopped

Diese Meldungen sind jetzt Folge-Effekte.  Die Funktion ``do_md_run()``
wird hier abgebrochen (-22 ist Fehlercode für "invalid argument": So
etwas kann man im Posix-Standard nachschauen, wenn man es unbedingt
wissen will ;-).

Leider startet auch das populäre KNOPPIX einen RAID-Verbund nicht 
automatisch (Jedenfalls letztes Mal, als ich das ausprobiert habe.)
Wie das mit aktuellen Debian-Live-CDs aussieht, weiss ich nicht.

> soweit so gut: Frage: was kann ich tun?

Ich gehe mal davon aus, dass grml ähnlich wie KNOPPIX zumindest
auf der CD die Module enthält.  Also würde ich mal das hier probieren:

   modprobe raid5

Wenn das funktioniert hat, dann würde ich nochmal versuchen, den Verbund 
manuell zu starten:

   mdadm --assemble /dev/md0 /dev/hd{e,f,g,h}1

Wenn auch dabei kein Fehler gemeldet wird, würde ich mir den
Zustand dessen Verbundes mit

   cat /proc/mdstat

anschauen.  Wenn auch das gut aussieht (also da steht irgendwo
[UUUU] und nicht [U_UU] oder so), dann kann das Dateisystem mit 

   mount /dev/md0 /mnt

eingehängt werden, um das System gebenfalls so zu verändern, dass auch
das Booten von Festplatte wieder klappt.  Dabei ist es nützlich, wenn
man sich mit dem Kommando ``chroot`` auskennt.  Meine Standardprozedur
sieht so aus:

   mount -o bind /proc /mnt/proc
   mount -o bind /dev /mnt/dev
   chroot /mnt

Der letzte Befehl startet einen neuen Kommando-Interpreter, der das
Dateisystem von der Platte als Wurzel hat.  Das ist meist notwendig, um z.B.
Befehle wie ``update-initramfs`` oder ``grub`` nicht mit den Dateien 
von der Rettungs-CD, sondern mit den Dateien in dem 
Festplatten-(hier RAID-Verbund)-Dateisystem arbeiten zu lassen.

Leider gibt es meines Wissens z.Zeit noch keine Software, die diese
Tätigkeiten rund um das Einrichten, Reparieren und Überwachen von
Linux-Software-RAID-Verbünden so vereinfachen, dass auf das Lesen
von Büchern wie z.B.  "Managing RAID on LINUX" (von Derek Vadala,
O'Reilly) verzichtet werden kann. ;-)

Mit freundlichen Grüßen,
Peter Funk
-- 
Peter Funk, Oldenburger Str.86, D-27777 Ganderkesee, Germany; office: 
ArtCom GmbH, Lise-Meitner-Str. 5, D-28359 Bremen, Germany, tel: +49-421-20419-0
http://www.artcom-gmbh.de



Reply to: