LVM (Logical Volume Manager) découple les volumes logiques des disques physiques : vous agrandissez un volume à chaud, ajoutez un disque à la volée ou prenez un instantané, sans rien reformater. Ce guide est le point d'entrée du parcours LVM : il montre comment construire la pile PV/VG/LV, l'inspecter et agrandir un volume à chaud avec lvextend -r (le cas d'usage numéro un en production). Les opérations avancées (thin provisioning, snapshots, migration de disque) sont traitées dans des guides dédiés, reliés en fin de page. Pour administrateurs débutants à intermédiaires, sur Debian/Ubuntu et RHEL. Toutes les sorties proviennent d'un test AlmaLinux.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Comprendre le modèle PV / VG / LV
- Construire la pile avec
pvcreate,vgcreate,lvcreate - Agrandir un volume logique à chaud avec
lvextend -r - Créer et utiliser un snapshot
Prérequis
Section intitulée « Prérequis »- Un disque ou une partition de type LVM libre
- Le paquet
lvm2:
sudo apt install lvm2sudo dnf install lvm2Le modèle PV / VG / LV
Section intitulée « Le modèle PV / VG / LV »LVM empile trois couches. Comprendre cet empilement, c'est comprendre LVM :
- PV (Physical Volume) : un disque ou une partition initialisé pour LVM (
pvcreate). - VG (Volume Group) : un réservoir d'espace qui agrège un ou plusieurs PV (
vgcreate). - LV (Logical Volume) : une tranche découpée dans le VG, que l'on formate et monte comme une partition (
lvcreate).
L'intérêt : un LV n'est plus lié à un disque précis. Quand le VG manque d'espace, on lui ajoute un disque ; quand un LV se remplit, on l'agrandit en puisant dans le VG. Sans reformater, sans démonter.
Construire la pile LVM
Section intitulée « Construire la pile LVM »Partons d'une partition /dev/sda1 de 10 Go dédiée à LVM. On initialise le PV, on crée le VG, puis un LV de 4 Go.
sudo pvcreate /dev/sda1sudo vgcreate vgdata /dev/sda1sudo lvcreate -L 4G -n lvdata vgdata Physical volume "/dev/sda1" successfully created. Volume group "vgdata" successfully created Logical volume "lvdata" created.Le volume logique est accessible sous deux chemins équivalents : /dev/vgdata/lvdata et /dev/mapper/vgdata-lvdata. Formatez-le et montez-le comme n'importe quel volume :
sudo mkfs.xfs /dev/vgdata/lvdatasudo mkdir -p /datasudo mount /dev/vgdata/lvdata /dataPour la persistance, ajoutez l'entrée à /etc/fstab (par UUID via blkid, voir le guide montage). Les chemins /dev/mapper/... de LVM sont stables, mais l'UUID reste la convention la plus sûre.
Inspecter l'état : pvs, vgs, lvs
Section intitulée « Inspecter l'état : pvs, vgs, lvs »Trois commandes concises donnent une vue synthétique de chaque couche. Ce sont celles à connaître au quotidien (les variantes pvdisplay, vgdisplay, lvdisplay détaillent davantage).
sudo pvssudo vgssudo lvs PV VG Fmt Attr PSize PFree /dev/sda1 vgdata lvm2 a-- <10.00g <6.00g
VG #PV #LV #SN Attr VSize VFree vgdata 1 1 0 wz--n- <10.00g <6.00g
LV VG Attr LSize Pool Origin Data% ... lvdata vgdata -wi-ao---- 4.00gOn lit l'essentiel : le VG vgdata totalise 10 Go dont 6 Go libres (VFree), et le LV lvdata occupe 4 Go. Ces 6 Go libres sont la marge disponible pour agrandir.
Agrandir un volume à chaud : lvextend -r
Section intitulée « Agrandir un volume à chaud : lvextend -r »C'est la raison d'être de LVM. Quand /data se remplit, on étend le volume logique et son système de fichiers en une seule commande, sans démonter, grâce à l'option -r (resize filesystem) :
sudo lvextend -r -L +2G /dev/vgdata/lvdata Size of logical volume vgdata/lvdata changed from 4.00 GiB (1024 extents) to 6.00 GiB (1536 extents). Extending file system xfs to 6.00 GiB on vgdata/lvdata... data blocks changed from 1048576 to 1572864 Logical volume vgdata/lvdata successfully resized.LVM détecte le système de fichiers (ici XFS) et lance xfs_growfs automatiquement. lvs confirme la nouvelle taille :
LV VG Attr LSize Pool ... lvdata vgdata -wi-ao---- 6.00gAjouter un disque à un Volume Group
Section intitulée « Ajouter un disque à un Volume Group »Quand le VG entier manque d'espace, ajoutez-lui un nouveau disque. On initialise le PV, puis on l'agrège avec vgextend :
sudo pvcreate /dev/sdbsudo vgextend vgdata /dev/sdbLe VG dispose maintenant de la somme des deux disques, et lvextend -r peut puiser dedans. C'est ainsi qu'on étend un stockage au-delà de la taille d'un seul disque, sans migration.
Snapshots : sauvegarder ou tester sans risque
Section intitulée « Snapshots : sauvegarder ou tester sans risque »Un snapshot est une copie instantanée d'un LV à un instant T. Idéal avant une mise à jour risquée ou pour sauvegarder une base à chaud :
sudo lvcreate -s -L 512M -n lvdata-snap /dev/vgdata/lvdata Logical volume "lvdata-snap" created.Le snapshot ne stocke que les blocs modifiés depuis sa création (copy-on-write), d'où sa petite taille initiale. On peut aussi s'en servir pour revenir en arrière après une opération ratée (lvconvert --merge), et un snapshot plein devient invalide. La sauvegarde cohérente, le rollback et le dimensionnement sont détaillés dans le guide dédié Snapshots LVM.
Réduire et supprimer
Section intitulée « Réduire et supprimer »Réduire un LV est plus délicat : il faut rétrécir le système de fichiers d'abord, puis le volume. Et XFS ne se réduit pas : seul ext4 le permet.
sudo lvreduce -r -L 2G /dev/vgdata/lvdata # ext4 uniquement, sauvegardez avantPour supprimer la pile, on démonte puis on retire dans l'ordre inverse de la création : LV, VG, PV.
sudo umount /datasudo lvremove /dev/vgdata/lvdatasudo vgremove vgdatasudo pvremove /dev/sda1Dépannage
Section intitulée « Dépannage »| Symptôme | Cause probable | Solution |
|---|---|---|
Espace ajouté invisible après lvextend | oubli de -r | sudo lvextend -r ou resize2fs/xfs_growfs manuel |
lvcreate refuse : espace insuffisant | VG plein | vgs (VFree), ajouter un disque avec vgextend |
| Snapshot disparu / volume figé | snapshot saturé | recréer plus grand, surveiller lvs (Data%) |
| Réduction impossible | volume en XFS | XFS ne rétrécit pas : sauvegarder, recréer, restaurer |
Mettre en pratique
Section intitulée « Mettre en pratique »Le scénario du lab est celui que vous vivrez en production : un volume qui se remplit et qu'il faut agrandir sans coupure. Vous y étendez un volume logique avec lvextend, faites grandir le système de fichiers XFS, puis inscrivez le montage dans /etc/fstab par UUID pour prouver qu'il survit au redémarrage.
Une fois ce lab guidé acquis, mesurez-vous en conditions d'examen : partitions, LVM et swap à réaliser sans indices, en temps limité, sur RHEL ou Ubuntu.
Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.
Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
Vérification
(0/0)Profil de compétences
Quoi faire maintenant
Ressources pour progresser
Des indices pour retenter votre chance ?
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications
À retenir
Section intitulée « À retenir »- LVM empile PV → VG → LV : le volume logique n'est plus lié à un disque précis.
pvcreate→vgcreate→lvcreateconstruit la pile ; on formate et monte le LV comme une partition.pvs/vgs/lvsdonnent l'état ;VFreeindique la marge d'extension.lvextend -ragrandit volume et système de fichiers à chaud, en une commande.vgextendajoute un disque au réservoir pour dépasser la taille d'un seul disque.- Les snapshots (
lvcreate -s) sauvegardent à chaud ; surveillez leur remplissage.
Aller plus loin avec LVM
Section intitulée « Aller plus loin avec LVM »Une fois la pile en place et le redimensionnement maîtrisé, trois opérations couvrent l'essentiel de l'exploitation LVM au quotidien. Chacune a son guide dédié, avec sorties réelles et pièges à éviter.
FAQ : questions fréquentes sur LVM
Section intitulée « FAQ : questions fréquentes sur LVM »lvextend avec l'option -r (alias --resizefs), qui agrandit le volume logique et le système de fichiers en une seule commande :lvextend -L +10G -r /dev/vg_data/lv_app
L'opération se fait à chaud, sans démontage ni coupure de service. C'est le cas d'usage numéro un de LVM en production (et un objectif d'examen RHCSA). Vérifiez ensuite avec df -h que l'espace est disponible.- PV (Physical Volume) : un disque ou une partition initialisé pour LVM avec
pvcreate. - VG (Volume Group) : un pool qui agrège un ou plusieurs PV (
vgcreate). C'est le réservoir d'espace. - LV (Logical Volume) : un volume taillé dans le VG (
lvcreate), que l'on formate et monte comme une partition.
e2fsck -f), réduire le système de fichiers (resize2fs) puis le volume (lvreduce), dans cet ordre, sinon vous perdez des données. En XFS, c'est impossible : XFS ne sait que grandir, jamais rétrécir. Sauvegardez toujours avant une réduction, et préférez agrandir un autre volume plutôt que réduire.lvcreate -s (snapshot), en réservant un espace pour les écritures intervenues après la prise :lvcreate -s -L 1G -n snap_app /dev/vg_data/lv_app
Le snapshot fige l'état du volume à un instant T, idéal pour une sauvegarde cohérente d'une base de données ou pour tester une opération risquée et revenir en arrière. Dimensionnez l'espace selon les écritures attendues, et supprimez le snapshot (lvremove) une fois la tâche finie : un snapshot saturé devient invalide.Pour aller plus loin
Section intitulée « Pour aller plus loin »- Chiffrement LUKS : Chiffrer un volume logique au repos.