LVM, ou Local Volume Manager, permet en gros de créer des espaces logiques de stockage dont la structure sera indépendante de l’infrastructure physique de vos disques durs. Pour simplifier, avec LVM, vous pouvez par exemple créer une seule partition de 1To avec 2 disques durs de 500Go. On peut donc personnaliser des espaces de stockage qui englobent plusieurs matériels de stockage. Admettons que j’ai une baie de stockage de 6 disques durs, je peux organiser l’espace à ma disposition de la façon dont je l’entends. Par exemple je pourrais créer 2 volumes de 3 disques chacun, et les mettre en RAID 1 comme s’il s’agissait de 2 disques durs en tout. Le LVM offre donc des applications intéressantes qui peuvent simplifier la gestion de l’espace disque disponible. LVM peut donc très bien permettre de gérer des baies de stockage SAN, et intègre en plus des fonctions de sauvegarde et snapshots. On peut même installer un OS dans des volumes logiques…
Vocabulaire :
Quelques notions sont à connaitre avant d’aller plus loin :- PV : Physical Volume, ou volume physique : Il s’agit de l’espace physique à notre disposition pour créer les LVM. Les PV peuvent être des disques durs ou des partitions.
- VG : Volume Group, ou groupe de volumes : Il s’agit d’un ensemble de PV rassemblés de façon logicielle par LVM.
- LV : Logical Volume, ou volume logique. Ce sont des volumes qui vont seront créés dans un VG. Un VG peut être découpé en plusieurs LV, ou posséder un seul grand LV.

Principe de fonctionnement
Voici un résumé de ce que nous allons faire : On va voir ici une simple mise en situation pour survoler un peu le fonctionnement. J’ai une VM Debian 11 qui dispose de 6 disques durs. Le premier est réservé à l’OS, et les 5 autres font 30Go et seront tous dédié à un LV de 150Go.- Partitionner chaque disque dur (de sdb à sdf chez moi) avec le label de type LVM.
- Définir chacune des partitions comme PV.
- Créer un VG nommé Datastore01 qui contient les 5 PV.
- Créer un LV nommé Datastore01_LV01 qui occupe entièrement notre VG Datastore01.
- Formater le LV Datastore01_LV01 avec un système de fichiers EXT4.
- On verra ensuite comment remplacer un des disques durs du LV. Les connaissances apportées pourront être utilises dans d’autres cas de figure.
Installation de LVM :
LVM est un programme qui n’est pas forcément installé par défaut sur votre distribution. Pour l’installer : apt-get install lvm2Partitionnement
Il faut maintenant créer une partition de type LVM sur chacun des disques durs. LVM permet de gérer plusieurs partitions par disque dur, mais il est conseillé d’utiliser une partition par disque dur. C’est plus facile à gérer. On ne formatera pas ces partitions. cfdisk /dev/sdb- Sélectionner Nouvelle.
- Laisser la taille maximal du disque pour la partition.
- Choisir Primaire.
- Sélectionner Type.
- Sélectionner 8e LVM Linux.
- Sélectionner Ecrire puis confirmer.
- Quitter cfdisk et réitérer l’opération pour chaque disque dur que vous souhaiter intégrer à votre VG.
- Vous pouvez constater l’existence des nouvelles partitions dans /dev :
Creation des PV :
On va maintenant créer les Physical Volumes sur chacun des disques durs ou partitions que l’on souhaite gérer via LVM.pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
Physical volume « /dev/sdx1 » succesfully created.
- On peut ensuite afficher les PV existants :
pvdisplay
« /dev/sdx » is a new physical volume of « 30,00 GiB » — NEW Physical volume — PV Name /dev/sdx VG Name PV Size 30,00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 9eqyX4-X1Cl-KSx6-R3Fo-hvTM-Fuuj-1ncuCO- On peut supprimer un PV avec une commande du type :
Création du VG
Je vais maintenant créer le Volume Group qui contiendra mes 5 partitions de 30Go. Dans la commande suivante, le nom Datastore01 est indicatif et vous pouvez mettre ce que vous voulez. J’enchaine ensuite par le nom des 5 partitions : vgcreate Datastore01 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 Volume group « Datastore01 » successfully created De la même façon que les PV, on peut afficher les infos, ou supprimer :- vgdisplay Datastore01
- vgremove Datastore01
Création du LV
Pour cette exemple, je vais créer un LV qui occupe la totalité du mon VG Datastore01. Dans la commande suivante, l’objet Datastore01_LV01 sera le nom du LV, et il peut être personnalisé : lvcreate -n Datastore01_LV01 -l 100%VG Datastore01- J’indique donc que je veux créer un LV nommé Datastore01_LV01 qui occupera 100% de l’espace du VG Datastore01.
- Pour supprimer un LV il faut préciser le nom du VG qui le contient comme dans la commande ci-dessus.
Formatage du LV
- A partir de là, le VG et le LV sont apparus dans /dev sous la forme :
- Il faut maintenant formater notre partition LV, puis on définira un point de montage, comme un volume classique.
Montage du volume
- On défini maintenant un point de montage. Je vais créer un dossier à cet effet dans /mnt. Vous pouvez bien sûr le monter ailleurs.
- Puis on monte le système de fichiers.
- Vous pouvez tester le fonctionnement du montage en créant un fichier dedans puis en le démontant. Une fois démonté le fichier ne devrait plus y être.
Afficher des infos :
Quelques commandes pour afficher des infos :- La commande pvs permet d’afficher les volumes utilisé comme PV et dans quel VG ils sont. Pour info la colonne PFREE qui est à zéro n’indique pas qu’il n’y a plus d’espace libre, seulement que l’entièreté du disque dur est utilisée comme PV.

- La commande vgs permet de voir les VG disponibles, de combien de PV ils sont composés, combien de LV il possèdent, et l’espace total.

- La commande lvs permet d’afficher les LV, leur VG et l’espace du LV.

- Puis vous avez la commande df -h qui permet d’afficher les infos classiques sur les partitions, et donc l’espace disponible. Le LV doit être monté pour être visible avec df.
->Voyons maintenant, à la page suivante, les opérations à effectuer pour remplacer un disque dur intégré dans un VG. Page 2