Généralités

La gestion par volumes logiques (en anglais, logical volume management ou LVM) est une méthode et un logiciel de découpage, de concaténation et d'utilisation des espaces de stockage d'un serveur. Il permet de gérer, sécuriser et optimiser de manière souple les espaces de stockage en ligne dans les systèmes d'exploitation de type UNIX/Linux.

On parle également de gestionnaire de volumes ou Volume Manager en anglais.

Schéma des différentes couches présentes dans LVM.

Partition(s) de disque de type LVM
|----> Physical Volume (PV)
|----> Volume Group (VG)
|----> Logical Volumes (LV)
|----> Système de fichiers (FS)

Schéma des couches classiques des partitions simples.

Une partition de disque de type Linux
|---->Système de fichiers

LVM en version 2 est installé par défaut à partir de la Red Hat Entreprise Linux ES4. Sur l'ES3 c'est la version 1. Les noyaux 2.4 sont en version LVM 1 et les noyau 2.6 sont en LVM 2.

LVM pour manipuler les volumes à chaud

La méthode utilisée pour créer le volume LVM interfère dans la possibilité de manipuler à chaud ou non les volumes. Il existe deux méthodes de création.

La différence des deux méthodes se situe au niveau des volumes physiques LVM (PV). En effet, soit on créé un volume physique LVM sur une partition LVM (ex : sda5), soit on peut créer un volume physique sur un disque (ex : sda). Cette différence a un impact sur la méthode de redimensionnement des espaces.

Je préconise la méthode du PV sur un disque par rapport au PV sur une partition car l'opération d'augmentation est beaucoup plus simple et propre. Le problème du PV sur un disque est qu'il oblige à n'avoir que ca sur le volume entier. Il ne faut aucune autre partition existante sur le même disque.

Extrait du man pvcreate : “For whole disk devices only the partition table must be erased, which will effectively destroy all data on that disk.”

Du coup cette méthode n'est utilisable que pour les disques de données qui ne contiennent que du LVM. Le point positif c'est que ce sont justement les données qui ont tendances à augmenter! Pour les partitions systèmes, la technique utilisée est obligatoirement celle du PV sur partition LVM et la limitation est qu'on est obligé de redémarrer (en fonction du fonctionnement de partprobe) lors d'une augmentation du volume à cause de la nécessaire relecture de la table de partition.

En effet lorsqu'on utilise le PV sur une partition,

l'augmentation peut se réaliser en supprimant la partition LVM existante pour la recréer de la nouvelle taille et augmenter ensuite le PV et VG (avec pvresize), le LV et le FS.

l'augmentation est réalisable en créant une autre partition LVM sur l'espace libre et qu'on ajoute cette espace au VG (avec vgextend), au LV et au FS. Avec cette méthode, si on augmente régulièrement la taille d'un volume (ex : 1 fois par mois), on aura une partition de plus chaque mois, ce qui va vite devenir incompréhensible.

Ces deux opérations ont de forte chance de nécessiter un redémarrage

A l'inverse, La méthode du PV sur un disque.

permet d'augmenter à chaud, directement et simplement la taille des éléments déjà en place sans en créer de nouveaux à chaque modification de taille.

Convention de nom

La partition /boot est une partition primaire simple.

Le reste du découpage est réalisé en LVM.

Disque système

L’architecture du nouveau template est basé sur un volume groupe nommé rootvg.

/ : rootlv

/tmp : tmplv

/usr : usrlv

/var : varlv

Swap : swaplv

Disque de données

L’architecture du nouveau template est basé sur un volume groupe nommé datavg.

/data : datalv

Création d’un volume LVM

Il existe deux manières de créer un volume en LVM.

La méthode de création des volumes LVM influe sur leurs modifications à chaud (Cf.lvm_pour_manipuler_les_volumes_a_chaud).

Je vais détailler les deux méthodes de création et les deux méthodes de redimensionnement sont dans augmentation_de_taille_de_volumes_lvm.

creation_volume_lvm_sur_disque.

creation_volume_lvm_sur_partition.

Augmentation de taille de volumes LVM

Avec les derniers noyaux de Linux (2.6.22 au moins), il est possible d'augmenter à chaud la taille d'une partition, sans même la démonter (du moins pour une partition de type ext3).

Dans notre cas, on considère qu'on veut augmenter le groupe de volumes (VG), le volume logique (LV) et le système de fichiers parce qu'on utilise en permanence la totalité de l'espace fournit. Ceci est logique dans le cas où on utilise des volumes SAN (Storage Area Network) puisque la gestion des tailles d'espace est réellement gérée au niveau du SAN et non plus au niveau du système d'exploitation.

Dans le cas où on peut se permettre de créer des volumes logiques qui n'occupent pas tout l'espace disponible sur le groupe de volume, les opérations décrites dans les articles ci-après sont encore plus simple puisqu'on a pas besoin d'augmenter le groupe de volumes (il faut simplement sauter cette partie). On peut alors piocher dans l'espace disponible pour augmenter la taille d'un volume logique et de son système de fichiers à chaud.

L'augmentation à chaud du système de fichiers ext3 ou ext4 fonctionne sans problème avec resize2fs.

Trois possibilités d'augmentation de taille des volumes LVM en fonction de la situation dans laquelle vous êtes.

augmentation_volume_lvm_sur_disque.

augmentation_volume_lvm_sur_partition_extensionpv.

augmentation_volume_lvm_sur_partition_ajoutpv.