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: