Les commandes LVM

Publié par Fabio Pace le

Bonjour à tous, aujourd’hui nous allons voir ensemble brièvement ce qu’est LVM (avec ses avantages et ses inconvénients) et également la liste des commandes nécessaires pour gérer les volumes LVM.

Définition

Tout d’abord, il faut savoir que LVM (Logical Volume Manager) permet de remplacer le partitionnement que l’on a l’habitude d’utiliser. La différence majeur par rapport au partitionnement simple, c’est que nous nous préoccupons pas de l’emplacement de ces volumes. Comme son nom l’indique, nous créons des volumes logiques.

AVANTAGESINCONVÉNIENTS
Pas de limitation (primaire, étendue…)Si un volume physique est HS,
les volumes rattachés seront
HS également.
Non connaissance de l’emplacement
Manipulation aisée du stockage
Aucun risque dû au redimensionnement
(contrairement au partitionnement)

Nous allons définir les termes suivant afin de mieux en comprendre :

  • PV ou Volume Physique : Lié à une partition, à un disque physique ou virtuel (dans le cas de la virtualisation), d’un disque RAID…
  • VG ou Groupe de Volume : Le regroupement des disques physiques forme un groupe de volume.
  • LV ou Volume Logique : Les volumes logiques correspondent à une partition que nous allons monter sur la machine.
  • FS ou Système de Fichier : C’est grâce au système de fichier que nous allons pouvoir organiser notre point de montage (contient également le type du FS comme ext4 sous linux)

Et comme Mr Bonaparte a dit :
« Un bon croquis vaut mieux qu’un long discourt » :

Les commandes

Pour lister tous les périphériques visibles :

lvmdiskscan

Pour afficher les PVs créés :

pvdisplay
pvs

Pour créer un disque physique :

pvcreate /dev/sdb

Pour agrandir le PV à la totalité du disque physique (/dev/sdb

pvresize /dev/sdb

Pour savoir quels PVs sont utilisés et par qui :

pvs -o+pv_used

Pour déplacer les données d’un PV vers un autre du même VG :

pvmove /dev/sdb /dev/sdc

Pour supprimer un PV non utilisé d’un VG :

vgreduce vg01 /dev/sdb

Pour supprimer un PV de LVM :

pvremove /dev/sdb

Pour créer un VG (vg01) dans le PV /dev/sdb :

vgcreate vg01 /dev/sdb

Pour afficher les VGs créés :

vgdisplay
vgs

Pour renommer un VG :

vgrename vg01 Newvg01

Pour ajouter un PV à un VG :

vgextend vg01 /dev/sdc

Pour créer un LV de 5GB (lv01) dans le VG vg01 :

lvcreate -L 5G -n lv01 vg01

Pour créer un LV en prenant la totalité de l’espace disponible :

lvcreate -l 100%FREE -n lv01 vg01

Pour créer un LV en prenant seulement 5% du VG :

lvcreate -l 5%VG -n lv01 vg01

Pour afficher les LV créés :

lvdisplay
lvs

Pour étendre un LV de 50GB :

lvresize -L +50G /dev/vg01/lv01

Pour réduire un LV de 5% de sa taille :

lvresize -l -5%LV /dev/vg01/lv01

Attention : Lorsque vous souhaitez agrandir un LV, un VG ou un PV, il faut bien évidement vérifier la couche au dessus de l’élément. Par exemple si vous voulez agrandir de 10GB le LV, il faut vérifier que le VG possède un espace non attribué de 10GB.

Pour renommer un LV :

lvrename lv01 Newlv01

Pour créer un FS dans le LV :

mkfs.ext4 /dev/vg01/lv01

Pour redimensionner le FS dû au redimensionnement du LV :

resize2fs /dev/vg01/lv01

Pour monter un répertoire dans le LV :

mkdir /data01
mount /dev/vg01/lv01 /data01

L’article est terminé, vous avez les commandes essentielles pour gérer l’espace de stockage de votre machine.

J’espère que l’article vous sera utile.
A bientôt.

Fabio Pace


11 commentaires

Sleipnir · 15 janvier 2019 à 21 h 50 min

Si j’ai bien compris l’inconvénient des lvm c’est que si SDA flanche on perd LV02 dans sa totalité, c’est bien ça?

    Fabio Pace · 16 janvier 2019 à 8 h 32 min

    Salut,

    Tout à fait, LVM est un système de partitionnement logique, et non un système remplaçant le RAID.
    Il faut se servir de la performance de LVM sur un système en haute disponibilité (‘mdadm’ pour le raid logiciel sous linux) si tu souhaites avoir des données sécurisées.

    Il faut se dire que LVM est simplement un système de route, donc si tu perds un disque physique, LVM fonctionnera toujours (les routes seront toujours présentes) mais les données n’y seront plus (à moins que tu as mis un système RAID en place). A l’inverse, si tu perds un « PV », tu perds seulement la route principale, donc tes données ne seront plus accessibles, mais il te suffit de recréer ton PV, et ton LVM sera de nouveau fonctionnel.

    N’hésites pas si tu as d’autres questions.
    Fabio Pace

      Sleipnir · 16 janvier 2019 à 15 h 16 min

      Merci pour ces explications très précises. Les lvm et le raid se complètent bien apparemment.

Philippe · 16 janvier 2019 à 9 h 16 min

Bonjour,

J’y ajouterais deux commandes pour remplacer un disque par un autre plus grand :
Ajouter un PV à un VG : vgextend vg01 /dev/sdc
Savoir quels PVs sont utilisés et par qui : pvs -o+pv_used
Déplacer les données d’un PV vers un autre du même VG : pvmove /dev/sdb /dev/sdc
Supprimer un PV non utilisé d’un VG : vgreduce vg01 /dev/sdb
Supprimer un PV de LVM : pvremove /dev/sdb

    Fabio Pace · 16 janvier 2019 à 9 h 19 min

    Bonjour,

    Je te remercie pour ce compléments d’informations, je rajoute tout de suite dans l’article.

    Très bonne fin de journée.
    Fabio Pace

meries · 22 janvier 2019 à 11 h 24 min

Merci pour ces informations, tes explications sont très claire 🙂

    Fabio Pace · 22 janvier 2019 à 11 h 33 min

    Salut meries,

    Je te remercie pour ton commentaire positif 🙂

    Bonne journée.

Mat · 30 mars 2019 à 20 h 10 min

Bonjour,
y-a-t-il un intérêt à LVM sur un serveur virtuel ? Dans le sens où l’on peut aisément créer plusieurs disques, les agrandir etc.

Mat

    Fabio Pace · 30 mars 2019 à 20 h 16 min

    Bonjour Mat,

    Oui il y a un intérêt même si il est facile d’ajouter ou supprimer des disques car c’est du virtuel.
    En effet cela crée des « volumes » de stockage, et le principal intérêt est de ne pas connaître exactement l’emplacement des données (contrairement aux « partitions » où l’on connaît le bloc de départ et le bloc de fin).
    Je te recommande de créer toujours au minimum 2 disques virtuels : 1 pour le système et un pour les données.

    Si tu as d’autres questions n’hésites pas.

    Bonne soirée,
    Fabio Pace.

dogbo rene · 4 juillet 2019 à 2 h 39 min

merci pour ce beau résumé. je sors la tête haute désormais face aux différents sujets de compos. commandes claires et limpides. merci

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.