La procédure est relativement simple si elle est suivie avec attention. Il est recommandé de faire une bonne sauvegarde avec une disquette de démarrage de secours, juste au cas où.
L'utilisation « normale » de LVM sur le système de
fichiers racine est d'avoir une seule partition non LVM
appelée /boot
qui contient
le noyau et une image disque RAM d'initialisation, nécessaire pour
démarrer le système. Le système que j'ai mis à jour était comme
suit :
# df Sys. de fich. Blocs-1k Occupé Dispo. Cap% Monté sur /dev/rootvg/root 253871 93384 147380 39% / /dev/hda1 17534 12944 3685 78% /boot /dev/rootvg/home 4128448 4568 3914168 0% /home /dev/rootvg/usr 1032088 332716 646944 34% /usr /dev/rootvg/var 253871 31760 209004 13% /var
/boot
contient l'ancien noyau et l'image disque RAM d'initialisation ainsi
que les fichiers d'amorçage de Lilo et les lignes suivantes dans
/etc/lilo.conf
:
# ls /boot System.map lost+found vmlinux-2.2.16lvm map module-info boot.0300 boot.b os2_d.b chain.b initrd.gz # tail /etc/lilo.conf image=/boot/vmlinux-2.2.16lvm label=lvm08 read-only root=/dev/rootvg/root initrd=/boot/initrd.gz append="ramdisk_size=8192"
Compiler le noyau LVM et les modules
Suivez les instructions détaillées dans les Chapitre 5, Obtenir LVM et Section 2, « Construire le module du noyau pour LVM 1 » pour obtenir et compiler les composants noyau nécessaires pour LVM.
Compiler les utilitaires LVM
Suivez les instructions détaillées dans le Section 2, « Construire le module du noyau pour LVM 1 » pour compiler et installer les utilitaires nécessaires pour LVM.
Installer les nouveaux utilitaires. Une fois cela effectué, vous ne pourrez plus faire de manipulations sur LVM car les utilitaires ne sont pas compatibles avec le noyau démarré actuellement.
Renommer le fichier initrd.gz existant
Cela permet qu'il ne soit pas écrasé par le nouveau fichier.
# mv /boot/initrd.gz /boot/initrd08.gz
Modifier /etc/lilo.conf
Faites pointer l'entrée de démarrage existante vers le fichier renommé. Vous devrez redémarrer en utilisant cela si quelque chose se passe mal. L'entrée modifiée devrait ressembler à cela :
image=/boot/vmlinux-2.2.16lvm label=lvm08 read-only root=/dev/rootvg/root initrd=/boot/initrd08.gz append="ramdisk_size=8192"
Lancer lvmcreate_initrd pour créer une nouvelle image disque RAM d'initialisation
# lvmcreate_initrd 2.4.9
N'oubliez pas de spécifier la nouvelle version du noyau afin qu'il prenne les bons modules.
Ajouter une nouvelle entrée dans /etc/lilo.conf
Cette nouvelle entrée sert à démarrer avec le nouveau noyau et le nouvel initrd.
image=/boot/vmlinux-2.4.9lvm label=lvm10 read-only root=/dev/rootvg/root initrd=/boot/initrd.gz append="ramdisk_size=8192"
Relancer lilo
Cela installe le nouveau bloc d'amorçage
# /sbin/lilo
Redémarrer la machine
Lorsque vous avez l'écran de sélection de Lilo, choisissez la nouvelle entrée (lvm10 dans cet exemple) et le système devrait démarrer avec un Linux utilisant la nouvelle version de LVM.
Si le nouveau noyau ne démarre pas, alors démarrez avec l'ancien et essayez de corriger le problème. Cela peut provenir du noyau qui n'aurait pas tous les pilotes de périphériques correctement compilés ou bien qu'ils ne sont pas disponibles dans initrd. Souvenez-vous que tous les pilotes (excepté pour LVM) qui sont nécessaires pour accéder au périphérique racine doivent être compilés en dur dans le noyau et non en tant que modules.
Si vous avez besoin d'effectuer des manipulations avec LVM lorsque vous avez redémarré sur l'ancienne version, il vous faut juste recompiler les anciens utilitaires et les installer avec :
# make install
Si vous faites cela, n'oubliez pas de réinstaller la nouvelle version lorsque vous redémarrerez avec le nouveau LVM.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:27