Les commandes LVM

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 Replies to “Les commandes LVM”

    1. 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

  1. 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

  2. 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

    1. 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.

  3. 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.