[Eisfair] [e1] eiskernel 2.8.0 (Status 'stable') verfügbar - 3.2er Kernel für eisfair-1
Thomas Bork
tom at eisfair.org
Fr Feb 27 21:26:08 CET 2015
Am 27.02.2015 um 14:51 schrieb Stefan Welte:
> "mdadm -Es" liefert auf meinem eisfair mit 2.6er Kernel:
>> ARRAY /dev/md/data-raid1 metadata=1.2 UUID=2828347a:cf1db600:e7afe499:791fb662 name=eis1:data-raid1
> Exakt dies wurde bei der Installation vom 3.2er Kernel direkt in die mdadm.conf der initrd geschrieben,
> obwohl es in der initrd weder ein /dev/md-Verzeichnis noch ein passendes /dev/md/data-raid1-Blockgerät gibt.
> Mit udev ist das problemlos, weil automatisch erzeugt, aber soweit ich weiss, ist eisfair udevlos. Daher
> konnte der initiale Boot mit dem 3.2er Kernel nicht klappen.
In keiner der beim Kernel-Update erzeugten initrds weder bei Kernel 3.2
noch bei Kernel 2.6.32 existiert in /dev ein Verzeichnis md oder
/dev/md?. Das Assemblieren des Raids gelingt aber sowohl mit Metadata
0.9 als auch bei Metadata 1.2. Das habe ich selbst bis zum Erbrechen
getestet.
Wenn es nicht funktionieren würde, hätten _alle_ damit ein Problem, oder?
> Könnte man das 2.8.0-eiskernel-Paket derart abändern, daß ein laufendes Raid korrekt/korrigiert und nicht
> mit der Ausgabe von "mdadm -Es" in die mdadm.conf der initrd aufgenommen wird (falls das derzeit so passiert
> :-) )?
Das ist alles, was bezüglich Raid in install.sh des Kernel-Updates getan
wird (schau doch einfach mal rein):
# check, if '/sbin/mdadm --assemble --scan' has to be executed for soft
raids
startraid=''
for level in $(awk '/^md[0-9][0-9]*[[:space:]]*:/ { print $4 }'
/proc/mdstat | sort -u)
do
case $level in
linear)
startraid='1'
;;
raid[0145])
startraid='1'
;;
*)
message="Raid level $level in /proc/mdstat not recognized!"
mecho --error "$message"
echo "$message" >>"$klogfile"
;;
esac
done
# do this also by only ide devices, lilo.conf with append line
# raid=noautodetect will make sure, autodetect runs always
# in initrd
if [ -n "$startraid" ]
then
# new variant with mdadm in initrd
cp /sbin/mdadm $initrd_mount/sbin
echo "DEVICE /dev/[sh]d*" >$initrd_mount/etc/mdadm.conf
mdadm --examine --scan >>$initrd_mount/etc/mdadm.conf
echo "/sbin/mdadm --assemble --scan" >>$initrd_mount/linuxrc
message="Added /sbin/mdadm for software raid to linuxrc."
echo "$message"
echo "$message" >>"$klogfile"
fi
> Zuvor kann ich ggf. den 2.8.0er-Kernel nochmal installieren und nur /dev/md/data-raid1 zu /dev/md1 ändern,
> damit man sieht, ob dies die einzige Ursache ist.
Ich kann nichts korrigieren, was ich nicht durchschaue - gerade bei von
Usern selbst gebastelten Raids.
Was ich weiß ist:
Die mit unserem Installer erstellten Raids überleben ein Kernel-Update
mit der Routine, wie sie in den Kernel-Update-Raketen drin ist - ob
davon gebootet wird oder nicht.
Und zu mehr fehlt mir im Moment die Zeit.
Hast Du unter dem von mir geposteten Link nachgelesen?
--
der tom
[eisfair-team]
Mehr Informationen über die Mailingliste Eisfair