[Eisfair] E1: md0 wird nicht gemountet (nach Update-Orgie)
Marcus Roeckrath
marcus.roeckrath at gmx.de
Mo Mai 9 13:16:02 CEST 2016
Hallo Thomas,
Thomas Bork wrote:
>> DEVICE /dev/[sh]d*
>> Hier wäre eine präzisere deklaration hilfreich:
>> DEVICE /dev/[sh]d*[0-9]
>> Womit z.B. sdd nicht zur Auswahl steht.
>
> Wenn ich das so in der initramfs definiere, werden aber Raids nicht mehr
> gestartet, die - ob mit Absicht oder nicht - auf Raw-Datenträgern
> (unpartitionierten Datenträgern) erstellt wurden.
>
> Aber einen Tod muss man wohl sterben...
Vielleicht kann man doch beides ermöglichen; hier dazu meine kleine Idee für
install.sh:
#!/bin/bash
while read mdline ; do
if (echo "${mdline}" | grep -q "^md") ; then
# Folgende beiden Zeilen sind natürlich nur eine.
# Der sed ist gehakt, da ich da Probleme hatte (s. u.)
raid=`echo "${mdline}" | cut -d " " -f 5- | sed -r 's#[[:digit:]+\]]##g'
| sed 's#\[##g'`
raid="DEVICE /dev/"`echo "${raid}" | sed 's# # /dev/#g'`
echo "${raid}"
fi
done < /proc/mdstat
gibts folgendes auf meinem Raidsystem aus:
DEVICE /dev/sdb4 /dev/sda4
DEVICE /dev/sdb3 /dev/sda3
DEVICE /dev/sdb2 /dev/sda2
DEVICE /dev/sdb1 /dev/sda1
Dass könnte so in die mdadm.conf geschrieben werden, da diese mehere
DEVICE-Zeilen enthlten darf.
Reicht es die /proc/mdstat abzuklappern.
install.sh des Kernelpaketes liest mit mdadm --examine --scan die ARRAYS
aus.
Man könnte also obigem Skript auch mit
mdadm --examine --scan | awk '{ print $2}'
/dev/md1
/dev/md2
/dev/md3
/dev/md4
nur die hier gefundenen md's vorsetzen, aber das ist doch wohl egal, oder?
Noch eine Anmerkung vom sed im Skript:
Es geht darum den Output (Beispiel)
sda1[0] sdb1[1] sdc1[2]
nach
sda1 sdb1 sdc1
zu konvertieren.
Hatte zunächst
sed -r 's#[\[[:digit:]+\]]##g'
aber das läßt die öffnende eckige Klammer stehen; vielleicht hat jemand eine
gute Idee, wie die RegExp aussehen muss, damit
[<nummer>]
auf einen Schlag verschwindet.
--
Gruss Marcus
Mehr Informationen über die Mailingliste Eisfair