Installation de LVM2 sur Gentoo Linux
1.
Introduction
Ce guide est basé sur un exemple utilisant deux disques durs IDE. Cela signifie
que vous devrez très probablement changer le disque, les noms et les tailles
des partitions afin de refléter vos propres besoins et ressources matérielles.
Attention :
Ce document n'a pas l'ambition d'être un tutoriel pour LVM2 ; il s'agit
d'un supplément à la procédure d'installation de Gentoo Linux décrite dans la
première partie du Manuel
Gentoo. Veuillez lire le Manuel d'installation de Gentoo
avant de débuter le processus d'installation.
|
Note :
Si vous cherchez un HOWTO complet pour LVM, pointez votre navigateur vers
http://tldp.org/HOWTO/LVM-HOWTO.
|
Pré-requis
Si vous faites une nouvelle installation de Gentoo, vous aurez besoin d'un CD
amorçable avec support pour LVM2 tel que le CD d'installation de Gentoo. Vous
trouverez le CD pour l'architecture x86 sur nos miroirs dans le répertoire
/releases/x86/current/installcd. D'autres architectures sont
peut-être aussi supportées.
Si vous installez LVM2 sur un système déjà configuré et disposant d'espace
disque libre, vous devrez activer le module LVM2 (dm-mod). Ce
dernier est disponible dans gentoo-sources. La compilation du noyau
et la mise en place de LVM2 sont couverts plus loin dans ce guide.
Veuillez noter que tous les noyaux 2.4.x disponibles dans Portage ne supportent
pas LVM2.
Partitions
Dans cet exemple, notre système hypothétique comprend deux disques durs IDE qui
seront partitionnés comme suit :
- /dev/hda1 -- /boot
- /dev/hda2 -- Partition de mémoire virtuelle
- /dev/hda3 -- /
- /dev/hda4 -- Partition qui sera utilisée par LVM2
- /dev/hdb1 -- Partition qui sera utilisée par LVM2
Important :
Portez une attention particulière aux noms des partitions car il est facile de
confondre les a et les b, ainsi que les numéros des partitions. Un seul faux
mouvement pourrait balayer la mauvaise partition. Vous êtes prévenu !
|
Maintenant, il est temps de se lancer...
2.
Installation
Suivez les directives du Manuel en tenant compte des différences suivantes au
chapitre 4 (Préparer les disques).
Employez fdisk tel que décrit dans le Manuel, mais utilisez l'exemple
ci-dessus pour établir votre plan de partitionnement. Ce n'est toutefois
qu'un exemple ; adaptez-le à vos besoins.
Créez une petite partition physique (hda1) pour /boot. Dans cet
exemple, /boot ne sera pas géré par LVM2. Cette partition
contiendra votre chargeur de démarrage (« bootloader ») et votre (ou
vos) noyau(x). Une partition de 64 Mo devrait être suffisante pour
quelques générations de noyaux.
Créez une partition (hda2) de mémoire virtuelle (swap).
Créez une partition (hda3) pour / (la racine). Si vous voulez essayer
d'utiliser une partition racine gérée par LVM (ce que nous ne recommandons
pas), consultez la section ressources à la fin de ce guide. Vous y trouverez un
lien vers un mini-HOWTO expliquant comment y parvenir. La taille de la
partition racine peut être relativement petite si elle ne doit pas contenir les
répertoires suivants : /opt /usr /home /var et
/tmp. Dans ce cas, 1 Go devrait suffire.
Note :
Il n'est pas recommandé de mettre les répertoires suivants dans une
partition LVM2 : /etc , /lib , /mnt
, /proc , /sbin , /dev et
/root. Si vous suivez ce conseil, vous serez toujours capable de
vous connecter à votre système si quelque chose devait très mal tourner. (Bien
que mutilé, il serait à peu près utilisable pour l'utilisateur root.)
|
En supposant que la partition de mémoire virtuelle, la partition racine et la
partition /boot n'occupent pas tout l'espace disque, créez une
quatrième partition sur ce disque. Utilisez le type 8e (Linux LVM). Si vous
avez d'autres disques durs, créez une partition de type 8e sur chacun.
Note :
Considérant la taille énorme des disques actuels, vous souhaiterez peut-être
séparer vos disques en petites partitions plutôt que de créer une seule
grosse partition qui serait ajoutée en un bloc à LVM2. Après tout, LVM2
vous permet justement d'augmenter facilement la taille des volumes. Cela vous
laissera de l'espace non utilisé dont vous aurez peut-être besoin à l'extérieur
du groupe LVM2. En résumé, n'utilisez pas votre espace disque avant de savoir
que vous en avez besoin. À titre d'exemple, un de nos contributeurs possédant un
disque dur de 160 Go l'a scindé en 8 partitions de 20 Go chacune.
|
Créez les systèmes de fichiers sur /dev/hda1 et
/dev/hda3, puis créez et activez la partition swap sur
/dev/hda2, comme décrit dans le manuel d'installation.
Chargez le module LVM2 dm-mod :
Exemple de code 2.1 : Charger le module LVM2 |
# modprobe dm-mod
|
Avant de scanner et d'activer LVM, vous pouvez éventuellement éditer
/etc/lvm/lvm.conf pour exclure certains périphériques. Par défaut,
LVM va scanner tous les périphériques, même vos lecteurs de CDROM, ce qui peut
générer des messages d'erreur. Dans l'exemple suivant, la ligne qui entraîne le
scan de tous les périphériques est remplacée par une autre qui bloque tous les
périphériques sauf nos deux disques IDE.
Exemple de code 2.2 : Activer LVM |
# nano -w /etc/lvm/lvm.conf
filter = [ "a/.*/" ]
filter = [ "a|/dev/hd[ab]|", "r/.*/" ]
# vgchange -a y
|
Préparez vos partitions :
Exemple de code 2.3 : Préparer les partitions |
# pvcreate /dev/hda4 /dev/hdb1
No physical volume label read from /dev/hda4
Physical volume "/dev/hda4" successfully created
No physical volume label read from /dev/hdb1
Physical volume "/dev/hdb1" successfully created
|
Configurez un groupe de volumes. Un groupe de volumes est le résultat de la
fusion de plusieurs unités physiques en un seul disque logique.
Dans notre exemple, /dev/hda1, /dev/hda2 et
/dev/hda3 sont les partitions dédiées respectivement à /boot, à la
mémoire virtuelle et à la racine. Nous devons donc combiner
/dev/hda4 et /dev/hdb1. Cela peut être fait en une
seule commande mais, à titre d'exemple, nous créerons d'abord le groupe de
volumes avant de l'étendre.
Exemple de code 2.4 : Créer et étendre un groupe de volumes |
# vgcreate vg /dev/hda4
/etc/lvm/backup: fsync failed: Invalid argument
Volume group "vg" successfully created
# vgextend vg /dev/hdb1
/etc/lvm/backup: fsync failed: Invalid argument
Volume group "vg" successfully extended
|
Créez les volumes logiques. Ces volumes logiques sont l'équivalent des
partitions que vous créeriez avec fdisk dans un environnement non LVM2. Dans
notre exemple, les partitions suivantes sont créées :
| Répertoire |
Taille |
| /usr |
10 Go |
| /home |
5 Go |
| /opt |
5 Go |
| /var |
10 Go |
| /tmp |
2 Go |
Puisque nous utiliserons LVM2, il n'est pas nécessaire de se creuser la tête
trop longtemps pour choisir les tailles des partitions puisqu'il sera toujours
possible de les étendre selon les besoins.
Note :
Tel que souligné par Terje Kvernes, il est plus facile d'agrandir une partition
que de la rapetisser. Vous voudrez donc probablement débuter avec de petites
partitions, puis augmenter leur taille lorsque nécessaire.
|
Exemple de code 2.5 : Créer et étendre les volumes logiques |
# lvcreate -L10G -nusr vg
Logical volume "usr" created
# lvcreate -L5G -nhome vg
# lvcreate -L5G -nopt vg
# lvcreate -L10G -nvar vg
# lvcreate -L2G -ntmp vg
# lvextend -L+5G /dev/vg/home
|
Créez les systèmes de fichiers sur les volumes logiques, en procédant comme vous
le feriez pour une partition standard. Nous utilisons ici ext3 sur les volumes
logiques, mais vous pouvez utiliser le système de fichiers de votre choix.
Exemple de code 2.6 : Créer les systèmes de fichiers |
# mke2fs -j /dev/vg/usr
# mke2fs -j /dev/vg/home
# mke2fs -j /dev/vg/opt
# mke2fs -j /dev/vg/var
# mke2fs -j /dev/vg/tmp
|
Montez vos partitions tel que décrit dans le Manuel et montez vos volumes
logiques LVM comme s'ils étaient des partitions. Remplacez le classique
/dev/hdxx par /dev/vg/nom_du_volume_logique.
Exemple de code 2.7 : Monter les volumes logiqes |
# mkdir /mnt/gentoo/usr
# mount /dev/vg/usr /mnt/gentoo/usr
# mkdir /mnt/gentoo/home
# mount /dev/vg/home /mnt/gentoo/home
# mkdir /mnt/gentoo/opt
# mount /dev/vg/opt /mnt/gentoo/opt
# mkdir /mnt/gentoo/var
# mount /dev/vg/var /mnt/gentoo/var
# mkdir /mnt/gentoo/tmp
# mount /dev/vg/tmp /mnt/gentoo/tmp
|
Note :
Le reste des instructions d'installation du Manuel ne change pas
significativement. Par conséquent, nous ne reprendrons pas chaque étape, mais
soulignerons plutôt les différences.
|
Lorsque vous configurez votre noyau, soyez certain d'activer le support pour
LVM2 (tous les noyaux 2.4.x ne supportent pas LVM2.) Sélectionnez le module
LVM2 comme suit :
Exemple de code 2.8 : Sélectionner le module LVM2 dans un noyau 2.4.x |
Multi-device support (RAID and LVM) --->
[*] Multiple devices driver support (RAID and LVM)
< > RAID support
< > Logical volume manager (LVM) support
<M> Device-mapper support
< > Mirror (RAID-1) support
|
Exemple de code 2.9 : Sélectionner le module LVM2 dans un noyau 2.6.x |
Device Drivers --->
Multi-device support (RAID and LVM) --->
[*] Multiple devices driver support (RAID and LVM)
< > RAID support
<M> Device mapper support
|
Le module compilé se nomme dm-mod.ko.
Après avoir compilé votre noyau et installé ses modules, ajoutez la ligne
suivante à votre /etc/modules.autoload.d/kernel-{KV} où {KV}
représente la version de votre noyau (2.4 ou 2.6), afin que le module LVM2
soit chargé lors de l'amorçage de votre système :
Exemple de code 2.10 : Ajouter l'information sur les modules LVM2 dans/etc/modules.autoload.d/kernel-2.6 |
# nano -w /etc/modules.autoload.d/kernel-2.6
dm-mod
|
Maintenant, installez le paquet logiciel lvm2.
Important :
Assurez-vous que /usr/src/linux pointe vers les sources du noyau
que vous utilisez car l'ebuild lvm2 dépend de l'ebuild device-mapper qui, lui,
vérifiera la présence d'un fichier nécessaire situé dans
/usr/src/linux/include/linux.
|
Exemple de code 2.11 : Installer le paquet lvm2 |
# emerge lvm2
|
Éditez le fichier /etc/lvm/lvm.conf comme décrit plus haut. Le fichier que vous avez précédemment
édité fait partie de l'environnement d'installation et disparaîtra après le
prochain reboot. Cette fois-ci, vous éditez le vrai fichier dans votre nouvelle
installation de Gentoo.
Pour l'édition du fichier /etc/fstab, suivez les directives du
Manuel et ajoutez vos volumes logiques LVM2 tel que désiré. Voici les quelques
lignes nécessaires pour notre exemple :
Exemple de code 2.12 : Extrait de /etc/fstab |
/dev/hda1 /boot ext3 noauto,noatime 1 2
/dev/hda2 none swap sw 0 0
/dev/hda3 / ext3 noatime 0 1
# Volumes logiques
/dev/vg/usr /usr ext3 noatime 0 2
/dev/vg/home /home ext3 noatime 0 2
/dev/vg/opt /opt ext3 noatime 0 2
/dev/vg/var /var ext3 noatime 0 2
/dev/vg/tmp /tmp ext3 noatime 0 2
|
Lorsque vous aurez atteint la fin de l'installation telle que décrite dans le
Manuel, n'oubliez pas de démonter tous vos volumes logiques LVM2 et, pour faire
les choses proprement, exécutez la commande suivante avant de redémarrer :
Exemple de code 2.13 : Fermer LVM2 |
# vgchange -a n
|
Redémarrez votre machine. Toutes les partitions devraient être visibles et
montées.
3.
Reprendre après un redémarrage
Si vous avez interrompu l'installation Gentoo à un certain point et vous voulez
la reprendre, vous devez créer d'abord créer les périphériques de volumes :
Exemple de code 3.1 : Réactiver les volumes |
# vgscan --mknodes
|
Les CD d'installation avec des outils moins récents doivent s'utiliser
différemmment :
Exemple de code 3.2 : Réactiver les volumes |
# vgchange -a n
# vgexport -a
# vgimport -a
# vgchange -a y
|
4.
Ressources
5.
Remerciements
Merci à Thilo Bangert et Terje Kvernes pour leur aide et leurs
commentaires à propos de ce document.
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|