Grub2 et LVM
J'ai recemment ajouté un disque dur dans mon serveur. Profitant de 3000Gio d'espace supplémentaire, j'ai décidé de répliquer quelques volumes LVM du premier disque dur de l'unité centrale. Sur ce disque se trouve notament le volume /boot, la racine, et la swap. L'objectif de la manoeuvre était juste de convertir ces volumes en volumes miroirs, avec un miroir créé sur le nouveau disque dur.
En ligne de commande, ça donne quelque chose semblable à ceci :
# lvs -o +devices
(Pour voir quel volume logique est réparti sur quel volume physique)
# lvconvert -m1 vg_lancaster/lv01 /dev/sdb1 /dev/sda1
(Pour convertir le volume logique "linéaire" en un volume miroir, et dont un miroir sera créé sur /dev/sdb1)
Le volume /dev/sdb1 a été préalablement initialisé en volume physique de type LVM (PV) et ajouté au groupe de volumes "vg_lancaster", entre parenthèses.
Au moment du reboot (je maintiens un uptime de 7 jours pour m'assurer d'être sur le denier noyau), j'ai constaté que la machine ne pouvait plus démarrer. En effet, le BIOS parvenait bien à booter sur le disque, le MBR était chargé en mémoire, puis GRUB2 a basculé en mode Rescue avec le message d'erreur : "volume lv00 not found" (c'est le volume /boot).
À la recherche d'une solution, je tente de redémarrer sur un DVD en mode secours et procède à une vérification du système de fichier, puis reconversion en volume logique linéaire, tout en vérifiant que les fichiers soient toujours présents dans le volume.
Le démarrage suivant est cette fois allé un peu plus loin. GRUB2 a trouvé le volume lv00, et l'initramfs a été chargé en mémoire. La liste des noyaux installés s'est affichée dans le menu Grub. Le message d'erreur suivant est désormais "volume lv01 not found" (c'est le volume contenant la racine), puis GRUB2 a basculé en shell Dracut.
Rebelotte, reconversion en volume linéaire pour lv01. Le démarrage suivant est allé encore plus loin... mais s'est bloqué à la recherche du volume de swap. À l'évidence, mon système ne démarrait pas tant que les volumes logiques indiqués dans le fichier grub.cfg étaient en mode répliqué. Les autres volumes miroir, ceux qui sont listés dans fstab et qui sont montés par le système bien plus tard dans le processus de démarrage, sont correctement montés et je n'ai pas eu à y toucher.