[Linux] RAID qui ne se met pas en route à l'amorçage
Éric Bischoff
ebischoff@::1
Mar 3 Oct 16:51:37 CEST 2006
Le Mardi 3 Octobre 2006 15:19, Benoit SPECKEL a écrit :
> > J'ai deux partitions en RAID 1 :
> > md0 = hda1 + hdb1
> > md1 = hda2 + hdb2
> >
> > md0 est utilisée telle quelle (pour /boot), md1 est utilisée avec du LVM
> > dessus.
> >
> > Au redémarrage, md0 est bien composé de hda1 et de hdb1. En revanche, md1
> > ne comprend que hda2 et il faut à chaque fois ajouter hdb2 à la main, à
> > chaud.
> >
> > Dans /etc/mdadm/mdadm.conf, j'ai :
> > DEVICE partitions
> > ARRAY /dev/md1 level=raid1 num-devices=2
> > UUID=d133e9c8:b1e776f7:ea6a85a6:0b9dc348
> > devices=/dev/hda2,/dev/hdb2
> > ARRAY /dev/md0 level=raid1 num-devices=2
> > UUID=c6c199a9:a2ec1f1c:ec255263:69fb561a
> > devices=/dev/hda1,/dev/hdb1
> >
> > J'utilise GRUB comme gestionnaire d'amorçage.
Salut Benoît,
> Faudrait un peu plus de détails), qui est sensé démarrer le RAID ?
> - noyau
> - initrd sans raidautorun
> - initrd avec raidautorun
Comment le détermine-t-on ?
Dans /boot/grub/menu.lst, j'ai
title Debian GNU/Linux, kernel 2.6.8-2-686
root (hd0,0)
kernel /vmlinuz-2.6.8-2-686 root=/dev/mapper/grstift-racine ro
initrd /initrd.img-2.6.8-2-686
savedefault
boot
ce qui signifie forcément que LVM fonctionne déjà lorsque le noyau se lance,
mais ça ne m'apprend pas beaucoup plus...
En fouillant dans les scripts de démarrage, j'ai aussi remarqué les choses
suivantes :
1) Le démarrage du RAID pourrait bien être à la charge du
script /etc/init.d/mdadm-raid, puisqu'il contient:
if [ "x$AUTOSTART" = "xtrue" ] ; then
if [ ! -f /proc/mdstat ] && [ -x /sbin/modprobe ] ; then
/sbin/modprobe -k md > /dev/null 2>&1
fi
test -f /proc/mdstat || exit 0
echo -n "Starting raid devices: "
if [ -f $CONFIG ] && [ -x $MDADM ] ; then
$MDADM -A -s -a
elif [ -x $MDRUN ] ; then
$MDRUN
fi
echo "done."
fi
2) Ce script n'est démarré qu'en niveaux d'exécution 0, 5 et 6:
# ls -l /etc/rc*.d/S*mdadm-raid
lrwxrwxrwx 1 root root 20 2006-01-02 13:59 /etc/rc0.d/S50mdadm-raid
-> ../init.d/mdadm-raid
lrwxrwxrwx 1 root root 20 2006-01-02 13:59 /etc/rc6.d/S50mdadm-raid
-> ../init.d/mdadm-raid
lrwxrwxrwx 1 root root 20 2006-01-02 13:59 /etc/rcS.d/S25mdadm-raid
-> ../init.d/mdadm-raid
donc uniquement à des niveaux d'arrêt.
Si le RAID est censé être démarré par des scripts d'initialisation, mon
problème est évidemment là...
Je reformule ma question ainsi :
1) quelle est la façon standard de démarrer le RAID sous une Debian ? Dès le
initrd ou dans les scripts d'initialisation ?
2) si mon problème est bien un lien symbolique manquant, pourquoi cette
p%!*%@::1n d'installation de mes f!!£127.0.0.1ss!!§s ne m'a-t-elle pas fait
ce lien symbolique toute seule ?
> Si c'est 1 ou 3, ton /etc/mdadm/mdadm.conf est ignoré, le noyau fait
> sa propre cuisine, à condition que les partitions aient bien comme
> identificateur fd
Elles l'ont. Par exemple :
# fdisk -l /dev/hdb
Disk /dev/hdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 1 122 979933+ fd Linux raid autodetect
/dev/hdb2 123 19457 155308387+ fd Linux raid autodetect
Merci de ton aide.
--
L'Amérique ne voit-elle pas que lorsque nous laissons quelqu'un subir la
torture, ce ne sont pas seulement la victime et le bourreau qui sont
souillés ?
Ariel Dorfman, Le Monde, 30 septembre 2006
Plus d'informations sur la liste de diffusion linux