Linux/Unix

LVM – Logical Volume management

LVM ( Logical Volume Management ) est un outil de gestion de disque qui vous permet de rassembler plusieurs disques physique en un seule  volume logique pour une administration plus facile et flexible. Dans cet article nous allons découvrir les avantages d’utiliser LVM par rapport aux partitions standard et comment  créer, supprimer, étendre et réduire facilement les volume logique.

Pourquoi utiliser LVM ?

La raison principale d’utiliser LVM est la gestion facile de l’espace de stockage contrairement au système de partition, vous pouvez rajouter ou réduire de l’espace sans avoir à se préoccuper de la taille du disque.

Prenons un exemple pour bien comprendre la différence :

Vous avec 2 disques de 150Go sur votre machine et vous souhaiter réserver 10Go pour votre système d’exploitation et mettre 100Go pour des filmes, 90Go pour vos photos et 110Go pour les documents.

-Avec les partitions standard :
-Sur le 1er disque vous allez créer une partition de 10Go pour le système  et une partition de 100Go pour les filmes, il vous reste donc 40Go d’espace libre.
-Sur le 2ème disque vous allez créer une partition de 90Go pour les photos mais l’espace libre restant ne suffit pas pour crée une partition de 110Go pour les documents vous ne pouvez donc pas mettre votre espace document en intégralité sur une seule partition, vous êtres donc obligé de crée une partition sur le 1er disque (55Go) et une autre  sur le 2ème disque.

-Avec LVM :
Vous allez créer un espace de stockage appelé « volume groupe » qui rassemble la totalité des deux disque donc 300Go vous allez ensuite diviser cet espace en 4 volume appelé volume logique avec les le dimensionnement mentionné au début :

L’autre gros avantage du LVM est que vous pouvez augmenter ou réduire l’espace des volumes logique à votre guise, si après quelques mois d’utilisation votre espace photo est saturée vous pouvez facilement l’augmenter.

Passons maintenant à la pratique, pour que vous puissiez bien comprendre je vais partir d’un cas pratique relativement simple à comprendre, j’ai installé CentOS 7 sur une machine virtuelle doté de deux disques dure de 20Go, et je souhaite créer les espaces ci-dessous :

-5Go pour mes Photos
-15Go Pour mes Documents
-10Go pour mes Films

Voyons les étapes à suivre pour créer ces espaces avec l’outil LVM.

Etapes pour crée un LV :

Vérification des disque dure avec lsblk:

Commencer par lister tous les disque dure que votre machine dispose avec la commande lbslk,  Ci-dessous mes deux nouveau disques :

Créer des Physical Volumes (PV):

Pour que l’outil LVM puisse gérer votre disque dur vous devez d’abord le transformer en Physical Volume avec la commande pvcreate, je vais alors transformer les disques /dev/sdc et /dev/sdd en PV :

Pour vérifier les PV utiliser les commande pvs et pvdisplay :

Comme vous pouvez le constater « pvdisplay«  affiche plus de détails.

Créer le Volume group (VG):

Après avoir créé les deux PV, nous allons les rassembler en un seule appelé Volume group (VG) avec la commande vgcreate :

Pour vérifier le VG utiliser les commande vgs et vgdisplay : 

Comme vous pouvez le constater « vgdisplay«  affiche plus de détails.

Création d’un Logical volume (LV) :

Nous avons à présent un Volume group appelé DATA que nous allons utiliser pour créer nos logical volume :

-name : Le nom du logical volume
-size : la taille du logical volume
-DATA : le nom du Volume group

Nous allons faire la même chose pour les autres logical volume :

Et voilà nos LV ont été bien créés et montées  :

Il ne reste maintenant à créer un système de fichier sur nos logical volume et les monter :

Créer un système de fichier :

Ici je vais utiliser le système de fichier Ext4 pour formater mes LV :

[root@server ~]# mkfs.ext4 /dev/DATA/Photos

[root@server ~]# mkfs.ext4 /dev/DATA/documents

[root@server ~]# mkfs.ext4 /dev/DATA/Films

Montage des systèmes de fichiers :

la dernière chose à faire est de monter nos LV avec la commande mount :

Augmenter la taille d’un logical volume :

Imaginez qu’après un an d’utilisation vous n’avez plus d’espace sur le logical volume Photos, que faire alors pour en ajouter ?

C’est l’un des avantage du LVM, il suffit de suivre les étapes ci-dessous :

  • Vérifier s’il y a encore de l’espace libre sur le volume groupe :

Comme on peut le constater j’ai encore 10G d’espace libre : VFREE = 9.99G

  • Ajouter de l’espace avec la commande « lvextend » :

La taille actuelle du volume logique Photos est 5Go , nous allons en ajouter 5Goavec la commande lvextend :

[root@server ~]# lvextend --size +5G /dev/DATA/Photos
Size of logical volume DATA/Photos changed from 5,00 GiB (1280 extents) to 10,00 GiB (2560 extents).
Logical volume DATA/Photos successfully resized.
[root@server ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
Films DATA -wi-ao---- 10,00g
Photos DATA -wi-ao---- 10,00g
documents DATA -wi-ao---- 15,00g
root centos -wi-ao---- <17,00g
swap centos -wi-ao---- 2,00g

Réduire la taille d’un logical volume :

Je me suis rendu compte que la taille du volume logique « documents » est grande et je souhaite la réduire, pour cela il suffit de suivre les étapes ci-dessous :

  • 1-Démonter le volume logique :
[root@server ~]# umount /Documents/
  • 2-Faire un check au niveau de LV :
[root@server ~]# e2fsck -f /dev/DATA/documents
e2fsck 1.42.9 (28-Dec-2013)
Passe 1 : vérification des i-noeuds, des blocs et des tailles
Passe 2 : vérification de la structure des répertoires
Passe 3 : vérification de la connectivité des répertoires
Passe 4 : vérification des compteurs de référence
Passe 5 : vérification de l'information du sommaire de groupe
/dev/DATA/documents : 11/983040 fichiers (0.0% non contigüs), 104724/3932160 blocs

  • 3-Adapte la taille de notre système de fichiers :

Avant de réduire la taille de notre volume logique, l faut d’abord réduire la taille du file système, je souhaite que notre LV ait la taille de 10GO, donc :

[root@server ~]# resize2fs /dev/DATA/documents 10G
resize2fs 1.42.9 (28-Dec-2013)
En train de redimensionner le système de fichiers sur /dev/DATA/documents à 2621440 (4k) blocs.
Le système de fichiers /dev/DATA/documents a maintenant une taille de 2621440 blocs.
  • 3-Réduire la taille du LV :

La taille actuelle du LV est 15G je vais donc enlever 5Go pour que la talle soit 10Go :

[root@server ~]# lvreduce -L -5G /dev/DATA/documents
WARNING: Reducing active logical volume to 10,00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce DATA/documents? [y/n]: y
Size of logical volume DATA/documents changed from 15,00 GiB (3840 extents) to 10,00 GiB (2560 extents).
Logical volume DATA/documents successfully resized.
  • 4-Faire remonter le volume logique :
[root@server ~]# mount /dev/DATA/documents /Documents/

Augmenter la taille d’un Volume groupe (VG):

Si vous n’avez plus d’espace sur votre VG, donc vous devez insérer un nouveau disque dure et l’ajouter à votre VG pour augmenter sa taille, C’est très simple voici comment :

Après avoir insérer votre disque dure, transférer le d’abord en PV comme on a vu précédemment, après ajouter le à votre VG avec la commande c-dessous :

[root@server ~]# vgextend DATA /dev/sde
Physical volume "/dev/sde" successfully created.
Volume group "DATA" successfully extended

DATA : Nom du VG
/dev/sde : et le nom de votre dsque

Vérifier ensuite si votre PV a été bien ajouté à votre VG :

[root@server ~]# vgs
VG #PV #LV #SN Attr VSize VFree
DATA 3 3 0 wz--n- <59,99g <29,99g
centos 1 2 0 wz--n- <19,00g 0

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *