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

mdadm + initramfs + udev



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
alors chaque disque composant l'ARRAY peut être aussi lu directement en
ext3 (ext3 par exemple) ?

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

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_*"

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...

6) mdadm prend la main :

/sbin/mdadm  --assemble --scan --no-degraded
Si j'ai bien lu, mdadm se base d'une part sur /etc/mdadm.conf pour savoir
quels array assembler, et sur le superblock pour repérer les partitions
correspondantes (basé sur les UUID).

Le rapport entre type de partition fd linux-raid-autodetect, superblock,
flag raid (voir man parted) m'échappe un peu. Un superblock persitant raid
peut-il est écrit sur une partition de type linux, ou est-il nécessaire
qu'elle soit de type fd ?

7) root est monté et le système démarre


Voilà, tout ça reste malgré tout assez nébuleux pour moi. Tout commentaire
sera le bienvenu !

Franck


Reply to: