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

Re: mdadm + initramfs + udev



Bonjour,

Le mercredi 16 janvier 2008 à 18:59 +0100, Jean-Yves F. Barbier a
écrit :
> > 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

Et c'est donc comme ça que grub lit le noyau et l'initrd, du coup.

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

Euh, non je ne crois pas... En fait le man de mdadm précise que
l'autodetection par le noyau n'intervient que si md est intégré dans le
noyau (pas dans les modules)... Donc je pense que l'autodetection "in
kernel" n'intervient pas. En plus les changelog de mdadm précisent que
ces méthode est 'deprecated' depuis au moins 2006 et que la voie à
suivre et l'utilisation de mdadm (userland) depuis l'initramfs.

> 
> > 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...
> 
Désolé.
> > 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
> 
Elle lancée par udev, non ? donc si udev lance la commande plusieurs
fois, elle intervient plusieurs fois. La question est donc de savoir si
il y a un évènement par partition et si cela lance la commande à chaque
fois...
> ....
> 
> > 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.
> 
La taille mais aussi les flag, je cite :

 set partition flag state
                     change the state of the flag on partition to state.
Flags supported  are: "boot", "root", "swap", "hidden", "raid", "lvm",
"lba" and "palo".  state should be either "on"  or "off"

Il existe donc un flag "raid", et je ne comprends pas son rapport avec
le type de partition 'fd'.

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

En fait c'est plutôt le superblock raid qui contient l'UUID qui indique
à mdadm comment assembler ses arrays. Mais je ne suis toujours pas sûr
du rapport entre superblock raid et partitioon fd...
> 
> ç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.

Là, je crois que ça veux dire que tu ne sais pas :). Ca serait de la
"masturbation" si le boot sur raid logiciel marchait toujours, mais par
expérience, mettre en prod un serveur sans comprendre ce que tu fais est
une erreur, et la morsure en retour est toujours cuisante ! D'ailleurs
le miens est planté depuis deux jours et plus personne ne bosse ici !




Reply to: