Vous êtes sur la page 1sur 4

Concepts de base

LVM ajoute trois niveaux entre le disque dur et le système de fichiers.

 Physical Volumes (PV)


 Volume Groups (VG)
 Logical Volumes (LV)
Voyons un peu plus en détail à quoi correspond chacun de ces niveaux.

 Physical Volume (PV) – En règle générale, un PV est une partition du disque dur gérée par LVM. Il peut s’agir d’un
disque dur entier et même d’un assemblage RAID. La partition, le disque dur ou l’assemblage RAID doit être défini en
tant que PV pour que les commandes LVM puissent fonctionner.
 Volume Group (VG) – Un ou plusieurs PV peuvent être assemblés en un groupe, ce qui permet par exemple de réunir les
partitions de plusieurs disques durs. Un VG constitue donc un ensemble de PV, d’un point de vue physique.
 Logical Volume (LV) – Un Logical Volume (LV) est une partie d’un Volume Group(VG). Pour l’utilisateur, le LV
fonctionne comme une partition virtuelle. C’est là où il installera le système de fichiers. Ce dernier ne sera plus créé dans
une partition comme /dev/sda2 ou /dev/sda3, mais dans un LV comme par exemple /dev/mapper/vg0-
root ou /dev/mapper/vg0-swap.

LVM dans la configuration par défaut de CentOS


Pour ne pas nous embrouiller dans la théorie, on partira d’un cas pratique relativement simple à comprendre. Lorsqu’on installe
un serveur sous CentOS et que l’on opte pour la configuration par défaut, on obtient un schéma de partitionnement basé sur
LVM. Dans l’exemple qui suit, j’ai installé CentOS dans une machine virtuelle dotée d’un disque de 20 Go, en gardant les options
par défaut.

Jetons d’abord un oeil sur le partitionnement du disque dur.

# fdisk -l /dev/sda

Disque /dev/sda : 21.5 Go, 21474836480 octets, 41943040 secteurs


Unités = secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x000cb56b

Périphérique Amorçage Début Fin Blocs Id. Système


/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVM
Voyons à quoi correspond la partition /dev/sda1.
# mount | grep sda1
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,...)
C’est donc ma partition /boot, une partition classique de type Linux (83). Elle n’est manifestement pas gérée par LVM. Le gros du
système se trouve apparemment sur la partition /dev/sda2, de type Linux LVM (8e).
La commande pvs(8) me permet d’afficher les infos sur les Physical Volumes (PV) de mon système.
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cl_centosbox lvm2 a-- 19,00g 0
Ici, je dispose d’un Physical Volume (PV) défini sur /dev/sda2, d’une taille de 19 Go, et qui contient un Volume
Group (VG) cl_centosbox. La commande vgs(8) me permet d’afficher les détails de ce Volume Group.
# vgs
VG #PV #LV #SN Attr VSize VFree
cl_centosbox 1 2 0 wz--n- 19,00g 0
De manière similaire, j’utiliserai la commande lvs(8) pour en savoir plus sur les Logical Volumes (LV) définis sur la machine.
# lvs
LV VG Attr LSize Pool Origin Data% ...
root cl_centosbox -wi-ao---- 17,00g
swap cl_centosbox -wi-ao---- 2,00g
Dans le cas présent, j’ai deux Logical Volumes (LV) root et swap définis dans le Volume Group (VG) cl_centosbox. Voici comment
ils sont référencés dans /etc/fstab.
/dev/mapper/cl_centosbox-root / xfs defaults 0 0
/dev/mapper/cl_centosbox-swap swap swap defaults 0 0

Exemple de partitionnement LVM personnalisé


Dans l’exemple qui suit, on va installer CentOS 7 dans une machine virtuelle, en optant pour un partitionnement personnalisé
basé sur LVM.

1. Cliquer sur Destination de l’installation.


2. Vérifier si le ou les disques durs sont bien sélectionnés.
3. Cocher Je vais configurer le partitionnement et cliquer sur Terminé.
4. Dans le menu déroulant, vérifier si le schéma LVM est bien sélectionné.
La partition /boot ne sera pas gérée par LVM.
1. Cliquer sur le bouton « + » pour créer un nouveau point de montage.
2. Créer le point de montage /boot avec une capacité de 200 MiB ou plus.
3. Conserver le Type de périphérique Partition standard.
4. Choisir le système de fichiers ext2 et l’étiquette boot.
5. Confirmer Mise à jour des paramètres.
En revanche, la partition swap sera bien gérée par LVM. L’installateur propose un Volume Group cl_centosbox par défaut, nommé
en fonction du nom d’hôte. On va remplacer ce VG par défaut par un VG personnalisé vg0.
1. Cliquer sur le bouton « + » pour créer un autre point de montage.
2. Créer le point de montage swap en spécifiant sa capacité en GiB.
3. Garder le Type de périphérique LVM.
4. Remplacer le Volume Group cl_centosbox par vg0.
5. Choisir l’étiquette swap.
6. Confirmer Mise à jour des paramètres.
La partition principale occupera l’espace disque restant et fera également partie du Volume Group vg0.
1. Cliquer sur le bouton « + » pour créer un dernier point de montage.
2. Créer le point de montage / sans spécifier la capacité souhaitée.
3. Garder le Type de périphérique LVM.
4. Garder le Volume Group vg0.
5. Choisir le système de fichiers ext4 et l’étiquette root.
6. Confirmer Mise à jour des paramètres, puis Terminé.
Voyons ce que donne notre installation personnalisée après le redémarrage initial. Pour le disque dur, la seule chose qui a
changé, c’est la taille de la partition /boot sur /dev/sda1.
# fdisk -l /dev/sda
...
Périphérique Amorçage Début Fin Blocs Id. Système
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 41943039 20765696 8e Linux LVM
Nous disposons d’un Physical Volume (PV) sur /dev/sda, avec un Volume Group vg0.
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg0 lvm2 a-- 19,80g 0
Ce Volume Group occupe toute la taille de la partition.
# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 1 2 0 wz--n- 19,80g 0
Il contient deux Logical Volumes root et swap.
# lvs
LV VG Attr LSize Pool Origin Data% ...
root vg0 -wi-ao---- 17,80g
swap vg0 -wi-ao---- 2,00g
Dans /etc/fstab, ces Logical Volumes (LV) sont référencés comme ceci.
/dev/mapper/vg0-root / ext4 defaults 1 1

/dev/mapper/vg0-swap swap swap defaults 0 0

Redimensionnement à chaud de la partition principale


Prenons un cas concret tel qu’il peut se présenter dans le quotidien d’un admin. Votre serveur est installé dans une machine
virtuelle, et vous souhaitez agrandir la taille du disque. Dans notre installation sous VirtualBox, nous pourrons redimensionner
le disque virtuel comme ceci. Au prochain démarrage du serveur, le disque disposera d’une certaine quantité d’espace libre,
comme nous pouvons le voir avec cfdisk.

Dans cet espace libre, je crée une partition logique /dev/sda5 de type Linux LVM (8e).

Ma nouvelle partition n’apparaît pas encore. Je peux utiliser la commande partprobe(8)pour informer le système d’exploitation
de la modification de la table de partitions.
# partprobe
Voilà comment se présente mon disque dur.

# fdisk -l
...
Périphérique Amorçage Début Fin Blocs Id. Système
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 41943039 20765696 8e Linux LVM
/dev/sda3 41943040 83886079 20971520 5 Extended
/dev/sda5 41943103 83886079 20971488+ 8e Linux LVM
Je crée un nouveau Physical Volume (PV) dans ma nouvelle partition.
# pvcreate /dev/sda5
Physical volume "/dev/sda5" successfully created.
J’affiche l’état de mes Physical Volumes (PV).
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg0 lvm2 a-- 19,80g 0
/dev/sda5 lvm2 --- 20,00g 20,00g
J’étends mon Volume Group vg0 pour qu’il englobe également le Physical Volume (PV) /dev/sda5.
# vgextend vg0 /dev/sda5
Volume group "vg0" successfully extended
Mon Volume Group vg0 est désormais bien réparti sur les deux Physical Volumes.
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg0 lvm2 a-- 19,80g 0
/dev/sda5 vg0 lvm2 a-- 20,00g 20,00
Mon Logical Volume root n’occupe actuellement que près de la moitié de l’espace disque disponible.
# lvs
LV VG Attr LSize Pool Origin Data% ...
root vg0 -wi-ao---- 17,80g
swap vg0 -wi-ao---- 2,00g
Je peux étendre sa taille de manière à ce qu’il occupe le restant de l’espace disponible.

# lvextend -l +100%FREE /dev/mapper/vg0-root


Size of logical volume vg0/root changed
from 17,80 GiB (4557 extents)
to 37,80 GiB (9676 extents).
Logical volume vg0/root successfully resized.
Voyons le résultat.

# lvs
LV VG Attr LSize Pool Origin Data% ...
root vg0 -wi-ao---- 37,80g
swap vg0 -wi-ao---- 2,00g
Ma partition principale utilise un système de fichiers ext4. Je peux redimensionner ce système de fichiers en utilisant la
commande suivante.
# resize2fs /dev/mapper/vg0-root
resize2fs 1.42.9 (28-Dec-2013)
Le système de fichiers de /dev/mapper/vg0-root est monté sur / ;
le changement de taille doit être effectué en ligne
old_desc_blocks = 3, new_desc_blocks = 5
Le système de fichiers /dev/mapper/vg0-root a maintenant une taille
de 9908224 blocs.
L’opération a bien fonctionné, et j’ai doublé l’espace disque disponible pour mon système.

# df -h
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/mapper/vg0-root 38G 968M 35G 3% /
...

Vous aimerez peut-être aussi