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

Re: mdadm + initramfs + udev



alci@mecadu.org a écrit :
Bonjour,

j'essaie de comprendre ce qui se passe lors du boot d'un système en raid1
logiciel sur la partition root, mais il reste un certain nombre de zones
d'ombres !

Ce que j'ai compris, d'après les pages de man de md, mdadm, grub, etc. :

1) le bios boot

2) grub boot : il lit le noyau et l'initramfs

Q : comment fait-il pour lire le noyau et l'initrd.img sur de raid1 ? Ou

sèpô

alors chaque disque composant l'ARRAY peut être aussi lu directement en
ext3 (ext3 par exemple) ?

oui; c'est ce qui permet de continuer à utiliser un array en mode degraded

3?) la détection automatique dans le noyau des partitins
linux-raid-autodetect intervient-elle jamais ?

si, parce que si tu interverti tes HDz, l'array continue à être correctement
détecté

4) dans l'initramfs, un script init-premount est appelé qui passe la main
à udev

5) udev applique ses règles, dont :

5.1) /etc/udev/rules.d/65-persistant-storage.rules : exporte des infos en
variables d'environnement sur les différents périphériques blocs, en
particulier cette règle :
ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*"

apparemment tu n'es pas en Sarge. Ca serait bien de le préciser...

Là tout commentaire est le bienvenu.

5.2) /etc/udev/rules.d/85-mdadm.rules : lance /sbin/mdadm  --assemble
--scan --no-degraded dès qu'un device de type block dont le ID_FS_TYPE =
'linux_raid*' est détecté par udev
la règle est SUBSYSTEM=="block", ACTION=="add|change",
ENV{ID_FS_TYPE}=="linux_raid*", \
        RUN+="watershed /sbin/mdadm --assemble --scan --no-degraded"

Cela veut-il dire que si j'ai 8 partitions raid1 pour composer mes md[0-3]
alors cette commande est lancée 8 fois ?!.. Là je dois me tromper, mais
j'ai besoin d'une petite explication...

l'option 'scan' scanne les partitions pour récupérer le membres de l'array
et leur ordre; elle n'est donc lancée qu'une fois par array

....

Le rapport entre type de partition fd linux-raid-autodetect, superblock,
flag raid (voir man parted) m'échappe un peu. Un superblock persitant raid

qu'est-ce que 'parted' vient faire ici? C'est un pgm qui permet de changer
la taille des partitions.

peut-il est écrit sur une partition de type linux, ou est-il nécessaire
qu'elle soit de type fd ?

c'est le type 'fd' qui lance l'option 'scan' de mdadm (et permet, même si
les HDz ont été intervertis, de les réordonner)

ça confine à la masturbation intellectuelle: si tu veux *exactement* savoir
comment ça marche, il suffit de charger le source du kernel et d'examiner
les fichiers concernés.
--
The mark of the immature man is that he wants to die nobly for a cause,
while the mark of a mature man is that he wants to live humbly for one.
		-- Wilhelm Stekel


Reply to: