Sauvegardez votre système | |
---|---|
Il est fortement recommandé de faire une sauvegarde complète de votre système avant d'essayer de convertir votre racine en LVM 1. |
Complications des mises à jour | |
---|---|
Avoir son système de fichiers racine en LVM 1 peut compliquer significativement les procédures de mise à jour (suivant les distributions) donc la décision ne doit pas être prise à la légère. Plus précisément, vous devez vous assurer que le module LVM 1 (s'il n'est pas compilé directement dans le noyau) ainsi que les utilitaires vgscan et vgchange sont disponibles avant, pendant et après la mise à jour. |
Complications des récupérations | |
---|---|
Avoir son système racine sous LVM 1 peut compliquer significativement la récupération de systèmes de fichiers endommagés. Si vous perdez votre initrd, il sera très difficile de démarrer le système. Il faudra alors un disque de récupération contenant le noyau, le module et les utilitaires LVM 1 et tous les outils nécessaires pour récupérer un système de fichiers endommagé. Soyez sûr de faire des sauvegardes régulières et de garder une méthode de démarrage alternative qui permet la récupération de LVM. |
Dans cet exemple, tout le système était installé sur une seule partition racine excepté /boot. Le système avait 2 Go de disque partitionnés de la façon suivante :
/dev/hda1 /boot /dev/hda2 swap /dev/hda3 /
La partition / remplissait tout le disque hormis la partition /boot et le swap. Un des pré-requis important pour cette procédure est que moins de la moitié de la partition racine soit remplie (pour pouvoir en faire une copie dans le volume logique). Si ce n'est pas le cas, un second disque devra être utilisé. La procédure est alors similaire, sauf qu'il n'est pas nécessaire de réduire la partition racine existante et /dev/hda4 doit être remplacé, par exemple, par /dev/hdb1 dans notre cas.
Le plus simple pour faire cela est d'utiliser GNU parted. Ce logiciel permet de réduire ou d'agrandir des partitions avec des systèmes de fichiers. Il est possible d'utiliser resize2fs et fdisk, mais GNU parted est moins sensible aux erreurs. S'il n'est pas inclus dans votre distribution, vous pouvez le télécharger à l'adresse : ftp://ftp.gnu.org/pub/gnu/parted.
Une fois que vous avez installé parted et QUE VOUS AVEZ SAUVEGARDÉ VOTRE SYSTÈME :
Démarrez en mode mono-utilisateur (tapez linux S à l'invite de Lilo). Ceci est important car cela assure que le système de fichiers racine sera monté en lecture seule et qu'aucun programme n'accédera au disque.
Utilisez parted pour réduire la partition racine. Cela doit permettre d'avoir assez de place sur le disque pour une copie complète de celui-ci dans un volume logique. Dans cet exemple, la partition de 1,8 Go est réduite à 1 Go. Cela montre les tailles et noms des partitions sur le disque.
# parted /dev/hda (parted) p . . .
Maintenant, retaillez la partition :
(parted) resize 3 145 999
Le premier nombre est le numéro de la partition (hda3). Le second est le numéro de début de partition de hda3 (en Mo depuis le début du disque), ne le changez pas. Le dernier numéro (en Mo depuis le début du disque) indique la fin de la partition et devrait la réduire d'à peu près à la moitié de sa taille actuelle.
Créez une nouvelle partition :
(parted) mkpart primary ext2 1000 1999
Cela crée une nouvelle partition pour contenir les données initiales de LVM 1. Elle devrait commencer juste à la suite de la partition réduite hda3 et terminer à la fin du disque.
Quittez parted :
(parted) q
Assurez-vous que le noyau qui tourne actuellement fonctionne avec LVM 1 et est configuré avec les paramètres CONFIG_BLK_DEV_RAM et CONFIG_BLK_DEV_INITRD.
Changez le type de la nouvelle partition de Linux à LVM (8e). Parted ne connaît pas les partitions LVM 1, donc il faut le faire avec fdisk.
# fdisk /dev/hda Command (m for help): t Partition number (1-4): 4 Hex code (type L to list codes): 8e Changed system type of partition 4 to 8e (Unknown) Command (m for help): w
Initialisez LVM 1 (vgscan) :
# vgscan
Insérez la nouvelle partition dans un PV :
# pvcreate /dev/hda4
Créez un nouveau groupe de volumes :
# vgcreate vg /dev/hda4
Créez un volume logique pour contenir la nouvelle racine :
# lvcreate -L250M -n root vg
Créez un système de fichiers dans le volume logique et copiez-y les fichiers racines.
# mke2fs /dev/vg/root # mount /dev/vg/root /mnt/ # find / -xdev | cpio -pvmd /mnt
Ouvrez /mnt/etc/fstab de la nouvelle racine pour monter / sur /dev/vg/root. Par exemple :
/dev/hda3 / ext2 defaults 1 1
devient :
/dev/vg/root / ext2 defaults 1 1
# lvmcreate_initrd
Retenez le nom du fichier créé par lvmcreate_initrd. Il doit être dans /boot.
Ajoutez une entrée dans /etc/lilo.conf pour LVM 1. Cela devrait ressembler à ceci :
image = /boot/KERNEL_IMAGE_NAME label = lvm root = /dev/vg/root initrd = /boot/INITRD_IMAGE_NAME ramdisk = 8192
où KERNEL_IMAGE_NAME est le nom de votre noyau avec LVM 1 et INITRD_IMAGE_NAME est le nom de l'image initrd créée par lvmcreate_initrd. Il se peut que la valeur pour ramdisk doive être augmentée si vous avez une grosse configuration LVM 1, mais 8192 devrait suffire pour la plupart des utilisateurs. La valeur par défaut de ramdisk est 4096. Dans le doute, vérifiez dans la sortie de la commande lvmcreate_initrd la ligne qui dit :
lvmcreate_initrd -- making loopback file (6189 kB)
et créez un ramdisk de la taille entre parenthèses.
Vous devez recopier ce nouveau lilo.conf dans le nouveau système de fichiers racine.
# cp /etc/lilo.conf /mnt/etc/
Redémarrez et tapez « lvm » à l'invite de Lilo. Le système devrait démarrer sous Linux en utilisant le nouveau volume logique.
Si cela a fonctionné, vous devriez mettre lvm comme démarrage par défaut en ajoutant la ligne suivante dans la première section de /etc/lilo.conf :
default=lvm
Si cela n'a pas fonctionné, redémarrez normalement et penchez-vous sur le problème. Cela peut provenir d'une erreur de syntaxe dans lilo.conf ou de LVM 1 qui n'est pas disponible dans l'image disque RAM ou le noyau. Examinez soigneusement le message affiché au démarrage.
Une fois que vous êtes satisfait de la configuration, vous pouvez ajoutez le reste du disque dans LVM 1, y compris l'ancienne partition racine.
D'abord, il faut mettre le type de partition à 8e (LVM) :
# fdisk /dev/hda Command (m for help): t Partition number (1-4): 3 Hex code (type L to list codes): 8e Changed system type of partition 3 to 8e (Unknown) Command (m for help): w
Convertissez-la en PV et ajoutez-la au groupe de volumes :
# pvcreate /dev/hda3 # vgextend vg /dev/hda3
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:27