LVM Guide · 10 min read · Sep 22, 2025
Guide du débutant sur LVM
Version 1.0
Auteur : Falko Timme
Dernière mise à jour : 2015-02-09
Ce guide montre comment travailler avec LVM (Gestion de volumes logiques) sur Linux. Il décrit également comment utiliser LVM avec RAID1 dans un chapitre supplémentaire. Comme LVM est un sujet plutôt abstrait, cet article est accompagné d’une image VMware Debian Etch que vous pouvez télécharger et démarrer, et sur ce système Debian Etch, vous pouvez exécuter toutes les commandes que j’exécute ici et comparer vos résultats avec les miens. Grâce à cette approche pratique, vous devriez vous habituer à LVM très rapidement.
Cependant, je ne garantis pas que ce tutoriel fonctionnera pour vous !
1 Remarque préliminaire
Ce tutoriel a été inspiré par deux articles que j’ai lus :
- http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html
- http://www.debian-administration.org/articles/410
Ce sont de superbes articles, mais difficiles à comprendre si vous n’avez jamais travaillé avec LVM auparavant. C’est pourquoi j’ai créé cette image VMware Debian Etch que vous pouvez télécharger et exécuter dans VMware Server ou VMware Player (voir https://www.howtoforge.com/import_vmware_images pour apprendre comment faire cela).
J’ai installé tous les outils dont nous avons besoin au cours de ce guide sur le système Debian Etch (en exécutant
apt-get install lvm2 dmsetup mdadm reiserfsprogs xfsprogs) donc vous n’avez pas à vous soucier de cela.
Le réseau du système Debian Etch est configuré via DHCP, donc vous n’avez pas à vous soucier des adresses IP conflictuelles. Le mot de passe root est howtoforge. Vous pouvez également vous connecter à ce système avec un client SSH comme PuTTY. Pour trouver l’adresse IP du système Debian Etch, exécutez
ifconfigLe système a six disques durs SCSI, /dev/sda - /dev/sdf. /dev/sda est utilisé pour le système Debian Etch lui-même, tandis que nous utiliserons /dev/sdb - /dev/sdf pour LVM et RAID. /dev/sdb - /dev/sdf ont chacun 80 Go d’espace disque. Au début, nous agirons comme si chacun avait seulement 25 Go d’espace disque (utilisant ainsi seulement 25 Go sur chacun d’eux), et au cours du tutoriel, nous “remplacerons” nos disques durs de 25 Go par des disques durs de 80 Go, démontrant ainsi comment vous pouvez remplacer de petits disques durs par des plus grands dans LVM.
L’article http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html utilise des disques durs de 250 Go et 800 Go, mais certaines commandes comme pvmove prennent beaucoup de temps avec de telles tailles de disque dur, c’est pourquoi j’ai décidé d’utiliser des disques durs de 25 Go et 80 Go (c’est suffisant pour comprendre comment fonctionne LVM).
1.1 Résumé
Téléchargez cette image VMware Debian Etch (~310 Mo) et démarrez-la comme ceci. Connectez-vous en tant que root avec le mot de passe howtoforge.
2 Disposition de LVM
Fondamentalement, LVM ressemble à ceci :
Vous avez un ou plusieurs volumes physiques ( /dev/sdb1 - /dev/sde1 dans notre exemple), et sur ces volumes physiques, vous créez un ou plusieurs groupes de volumes (par exemple, fileserver), et dans chaque groupe de volumes, vous pouvez créer un ou plusieurs volumes logiques. Si vous utilisez plusieurs volumes physiques, chaque volume logique peut être plus grand qu’un des volumes physiques sous-jacents (mais bien sûr, la somme des volumes logiques ne peut pas dépasser l’espace total offert par les volumes physiques).
Il est de bonne pratique de ne pas allouer tout l’espace aux volumes logiques, mais de laisser un certain espace inutilisé. De cette façon, vous pouvez agrandir un ou plusieurs volumes logiques plus tard si vous en ressentez le besoin.
Dans cet exemple, nous allons créer un groupe de volumes appelé fileserver, et nous allons également créer les volumes logiques /dev/fileserver/share, /dev/fileserver/backup, et /dev/fileserver/media (qui utiliseront seulement la moitié de l’espace offert par nos volumes physiques pour l’instant - de cette façon, nous pourrons passer à RAID1 plus tard (également décrit dans ce tutoriel)).
3 Notre première configuration LVM
Découvrons nos disques durs :
fdisk -lLa sortie ressemble à ceci :
server1:~# fdisk -l
Disque /dev/sda : 21.4 Go, 21474836480 octets
255 têtes, 63 secteurs/track, 2610 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Dispositif Démarrer Fin Blocs Id Système
/dev/sda1 * 1 18 144553+ 83 Linux
/dev/sda2 19 2450 19535040 83 Linux
/dev/sda4 2451 2610 1285200 82 Linux swap / Solaris
Disque /dev/sdb : 85.8 Go, 85899345920 octets
255 têtes, 63 secteurs/track, 10443 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Disque /dev/sdb ne contient pas de table de partition valide
Disque /dev/sdc : 85.8 Go, 85899345920 octets
255 têtes, 63 secteurs/track, 10443 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Disque /dev/sdc ne contient pas de table de partition valide
Disque /dev/sdd : 85.8 Go, 85899345920 octets
255 têtes, 63 secteurs/track, 10443 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Disque /dev/sdd ne contient pas de table de partition valide
Disque /dev/sde : 85.8 Go, 85899345920 octets
255 têtes, 63 secteurs/track, 10443 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Disque /dev/sde ne contient pas de table de partition valide
Disque /dev/sdf : 85.8 Go, 85899345920 octets
255 têtes, 63 secteurs/track, 10443 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Disque /dev/sdf ne contient pas de table de partition valideIl n’y a pas encore de partitions sur /dev/sdb - /dev/sdf. Nous allons créer les partitions /dev/sdb1, /dev/sdc1, /dev/sdd1, et /dev/sde1 et laisser /dev/sdf intact pour l’instant. Nous agissons comme si nos disques durs n’avaient que 25 Go d’espace au lieu de 80 Go pour l’instant, donc nous assignons 25 Go à /dev/sdb1, /dev/sdc1, /dev/sdd1, et /dev/sde1 :
fdisk /dev/sdbserver1:~# fdisk /dev/sdb
Le nombre de cylindres pour ce disque est fixé à 10443.
Il n’y a rien de mal à cela, mais c’est plus grand que 1024,
et cela pourrait, dans certaines configurations, causer des problèmes avec :
- des logiciels qui s’exécutent au démarrage (par exemple, anciennes versions de LILO)
- le démarrage et les logiciels de partitionnement d’autres systèmes d’exploitation
(par exemple, DOS FDISK, OS/2 FDISK)
Commande (m pour l’aide) : <– m
Action de commande
a basculer un drapeau amorçable
b éditer le label de disque bsd
c basculer le drapeau de compatibilité dos
d supprimer une partition
l lister les types de partition connus
m imprimer ce menu
n ajouter une nouvelle partition
o créer une nouvelle table de partition DOS vide
p imprimer la table de partition
q quitter sans enregistrer les modifications
s créer un nouveau label de disque Sun vide
t changer l’id système d’une partition
u changer les unités d’affichage/entrée
v vérifier la table de partition
w écrire la table sur le disque et quitter
x fonctionnalité supplémentaire (réservée aux experts)
Commande (m pour l’aide) : <– n
Action de commande
e étendue
p partition primaire (1-4)
<– p
Numéro de partition (1-4) : <– 1
Premier cylindre (1-10443, valeur par défaut 1) : <–
Utilisation de la valeur par défaut 1
Dernier cylindre ou +taille ou +tailleM ou +tailleK (1-10443, valeur par défaut 10443) : <– +25000M
Commande (m pour l’aide) : <– t
Partition sélectionnée 1
Code hexadécimal (tapez L pour lister les codes) : <– L
0 Vide 1e Caché W95 FAT1 80 Ancien Minix be Solaris boot
1 FAT12 24 NEC DOS 81 Minix / ancien Lin bf Solaris
2 XENIX root 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 caché C: c6 DRDOS/sec (FAT-
5 Étendue 41 PPC PReP Boot 85 Linux étendu c7 Syrinx
6 FAT16 42 SFS 86 NTFS volume set da Non-FS data
7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
8 AIX 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
9 AIX amorçable 4f QNX4.x 3rd part 8e Linux LVM df BootIt
a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e1 accès DOS
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ee EFI GPT
10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
11 FAT12 caché 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
12 Diagnostic Compaq 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
14 FAT16 caché <3 61 SpeedStor a9 NetBSD f4 SpeedStor
16 FAT16 caché 63 GNU HURD ou Sys ab démarrage Darwin f2 DOS secondaire
17 HPFS/NTF caché 64 Novell Netware b7 BSDI fs fd Linux raid auto
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep
1b FAT3 caché W95 70 DiskSecure Mult bb Boot Wizard caché ff BBT
1c FAT3 caché W95 75 PC/IX
Code hexadécimal (tapez L pour lister les codes) : <– 8e
Type système de la partition 1 changé en 8e (Linux LVM)
Commande (m pour l’aide) : <– w
La table de partition a été modifiée !
Appel de ioctl() pour relire la table de partition.
Synchronisation des disques.
Maintenant, nous faisons la même chose pour les disques durs /dev/sdc - /dev/sde :
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sdeEnsuite, exécutez
fdisk -là nouveau. La sortie devrait ressembler à ceci :
server1:~# fdisk -l
Disque /dev/sda : 21.4 Go, 21474836480 octets
255 têtes, 63 secteurs/track, 2610 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Dispositif Démarrer Fin Blocs Id Système
/dev/sda1 * 1 18 144553+ 83 Linux
/dev/sda2 19 2450 19535040 83 Linux
/dev/sda4 2451 2610 1285200 82 Linux swap / Solaris
Disque /dev/sdb : 85.8 Go, 85899345920 octets
255 têtes, 63 secteurs/track, 10443 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Dispositif Démarrer Fin Blocs Id Système
/dev/sdb1 1 3040 24418768+ 8e Linux LVM
Disque /dev/sdc : 85.8 Go, 85899345920 octets
255 têtes, 63 secteurs/track, 10443 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Dispositif Démarrer Fin Blocs Id Système
/dev/sdc1 1 3040 24418768+ 8e Linux LVM
Disque /dev/sdd : 85.8 Go, 85899345920 octets
255 têtes, 63 secteurs/track, 10443 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Dispositif Démarrer Fin Blocs Id Système
/dev/sdd1 1 3040 24418768+ 8e Linux LVM
Disque /dev/sde : 85.8 Go, 85899345920 octets
255 têtes, 63 secteurs/track, 10443 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Dispositif Démarrer Fin Blocs Id Système
/dev/sde1 1 3040 24418768+ 8e Linux LVM
Disque /dev/sdf : 85.8 Go, 85899345920 octets
255 têtes, 63 secteurs/track, 10443 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Disque /dev/sdf ne contient pas de table de partition valideMaintenant, nous préparons nos nouvelles partitions pour LVM :
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1server1:~# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
Volume physique "/dev/sdb1" créé avec succès
Volume physique "/dev/sdc1" créé avec succès
Volume physique "/dev/sdd1" créé avec succès
Volume physique "/dev/sde1" créé avec succèsRevenons sur cette dernière action à des fins d’entraînement :
pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1server1:~# pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
Étiquettes sur le volume physique "/dev/sdb1" effacées avec succès
Étiquettes sur le volume physique "/dev/sdc1" effacées avec succès
Étiquettes sur le volume physique "/dev/sdd1" effacées avec succès
Étiquettes sur le volume physique "/dev/sde1" effacées avec succèsEnsuite, exécutez
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1à nouveau :
server1:~# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
Volume physique "/dev/sdb1" créé avec succès
Volume physique "/dev/sdc1" créé avec succès
Volume physique "/dev/sdd1" créé avec succès
Volume physique "/dev/sde1" créé avec succèsMaintenant, exécutez
pvdisplaypour apprendre l’état actuel de vos volumes physiques :
server1:~# pvdisplay
--- NOUVEAU Volume physique ---
Nom PV /dev/sdb1
Nom VG
Taille PV 23.29 Go
Allocable NON
Taille PE (Ko) 0
Total PE 0
PE libre 0
PE alloués 0
UUID PV G8lu2L-Hij1-NVde-sOKc-OoVI-fadg-Jd1vyU
--- NOUVEAU Volume physique ---
Nom PV /dev/sdc1
Nom VG
Taille PV 23.29 Go
Allocable NON
Taille PE (Ko) 0
Total PE 0
PE libre 0
PE alloués 0
UUID PV 40GJyh-IbsI-pzhn-TDRq-PQ3l-3ut0-AVSE4B
--- NOUVEAU Volume physique ---
Nom PV /dev/sdd1
Nom VG
Taille PV 23.29 Go
Allocable NON
Taille PE (Ko) 0
Total PE 0
PE libre 0
PE alloués 0
UUID PV 4mU63D-4s26-uL00-r0pO-Q0hP-mvQR-2YJN5B
--- NOUVEAU Volume physique ---
Nom PV /dev/sde1
Nom VG
Taille PV 23.29 Go
Allocable NON
Taille PE (Ko) 0
Total PE 0
PE libre 0
PE alloués 0
UUID PV 3upcZc-4eS2-h4r4-iBKK-gZJv-AYt3-EKdRK6Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.