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

Software-RAID und initrd (was: Re: Sind mdadm oder xfs probleme bekannt?)



Guten Abend,

Am Mon, Nov 12, 2007 at 06:20:58PM +0100 fragte Stefan Luetje:
> Ich bin mir nicht sicher, aber muß nicht auch noch 'update-initramfs -u'
> ausgeführt werden, weil die initrd sonst noch die "falsche" mdadm.conf
> enthält?

Normalerweise muss das initiale Wurzeldateisystem ``initrd.img`` die
Konfigurationsdatei /etc/mdadm/mdadm.conf gar nicht enthalten, da beim
Booten die RAID-Superblöcke der Platten automatisch gelesen werden.

Aber: Bei modernen Linuxsystemen sind die Module für den
Software-RAID-Betrieb normalerweise nicht statisch im Kernel enthalten.
Deshalb werden diese in der ``initrd.img`` benötigt.

Falls ein Software-RAID schon mal funktioniert hat, kann das Fehlen
dieser Module in der initrd natürlich kein Problem sein.  

Aber früher konnte es bei einigen Linux-Distributionen passieren,
dass die raid-Module in der initrd fehlten, wenn das RAID nachträglich
per Hand konfiguriert wurde oder wenn das betreffende 
Installations-Programm noch nicht ganz ausgereift war.  
Egal: Ich will nicht abschweifen. ;-)

Ob die RAID-Module in der initrd enthalten sind, kann
mit folgendem Befehl schnell überprüft werden::

   gunzip < /initrd.img | cpio -ivt | grep /md/raid

Wenn sich ein RAID-Verbund auch mit ``mdadm --run`` manuell nicht 
starten lässt, dann hilft folgender Befehl bei der Suche nach dem
Fehler (Beispiel: angenommen /dev/sda1 ist Teil eines RAID-Verbundes)::

   mdadm -v --examine /dev/sda1

Dabei wird der Inhalt des RAID-Superblockes detailiert aufgelistet. 
Es kann vor allem abgelesen werden, welche Geräte zu diesem RAID-Verbund
dazu gehören und welchen Zustand das RAID wohl hatte, als das betreffende
Teil-Gerät (hier /dev/sda1) beim letzten Mal Teil dieses Verbundes war.  

Besonderes Augenmerk verdient dabei der Zähler "Events:"!  
Der sollte bei allen Geräten aus diesem Verbund den gleichen Wert
haben.

Wenn sich der Wert unterscheidet, dann kann es sein, dass irgendwann
(z.B. durch Plattenlesefehler) eine oder mehrere Platten aus dem 
Verbund heraus geworfen worden sind.

In dem Fall sollten alle diese Superblöcke betrachtet werden und 
falls möglich die zeitlich dazu gehörigen Fehlermeldungen aus 
/var/log/syslog extrahiert werden.  Damit ist dann eine genauere
Beurteilung der Situation möglich.

Wenn mehr als eine Platte aus einem RAID5-Verbund heraus gefallen ist,
sind die auf dem Verbund gespeicherten Daten normalerweise verloren.

Manchmal ist trotzdem eine teilweise Datenrettung möglich, wenn die
Ereignisse nicht zu weit auseinander liegen und die Platten noch
zum grössten Teil lesbar sind.  Das Verfahren ist aber kompliziert.

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: