Commandes LVM

Voici une liste de commandes pour créer/gérer des volumes LVM. Elle pourra être mise à jour par la suite si je trouve d’autres commandes.

Définitions

LVM : Logical Volume Manager permet de gérer plus facilement/simplement les partitions tout en “s’affranchissant des limites des disques”. Par exemple une partition LVM peut-être répartie sur plusieurs disques physiques.
PV : Physical Volume (Volumes physiques) : Disques durs, volumes RAID, LUN
VG : Volume Group (Groupes de volumes) : Groupe de partition
LV : Logical Volume (Volumes logiques) : Parition

Installation

Sur CentOS

1
# yum install lvm2

Sur Debian

1
# apt install lvm2

Afficher les informations d’un LVM

Pour afficher les informations de l’ensemble des VG :

1
# vgdisplay

Pour afficher les informations de l’ensemble des LV :

1
# lvdisplay

Pour afficher les informations du vg “mon_vg” :

1
# vgdisplay mon_vg

Pour afficher les informations du lv “mon_lv” :

1
# lvdisplay mon_lv

Créer un volume LVM

Pour créer un volume, il faut passer par plusieurs étapes. La première consiste à créer un PV sur un disque vierge :

1
# pvcreate /dev/sdb

La seconde consiste à créer VG utilisant l’ensemble de l’espace disque disponible, en lui donnant un nom (ex: mon_vg) :

1
# vgcreate mon_vg /dev/sdb

La troisième consiste à créer un LV utilisant l’ensemble de l’espace disque disponible dans le VG, en lui donnant la aussi un nom (ex: mon_lv) :

1
# lvcreate -l +100%FREE -n mon_lv mon_vg

Nous avons aussi la possiblité de créer un LV ayant une taille de 10 Go, en lui donnant la aussi un nom (ex: mon_lv) :

1
# lvcreate -L +10Go -n mon_lv mon_vg

La quatrième étape consiste à formater le LV (ex: ext4) :

1
# mkfs.ext4 /dev/mon_vg/mon_lv

La dernière étape consiste à monter le LVM dans un dossier :

1
# mount /dev/mapper/mon_vg-mon_lv /mnt/

ou

1
# mount /dev/mon_vg/mon_lv /mnt/

Etendre un VG

Etendre un LVM revient à ajouter un disque vierge. Cela se fait en plusieurs étapes. La premère consiste à créer un PV

1
# pvcreate /dev/sdc

La seconde et dernière étape consiste a étendre le VG (ex: mon_vg) avec le nouveau disque :

1
# vgextend mon_vg /dev/sdc

Supprimer un VG

Cela se fait en plusieurs étapes. La premère consiste à demonter le PV/LV monté :

1
# umount /mnt/

La seconde consiste à désactiver le LV présent sur le VG :

1
# lvchange -an /dev/mon_vg/mon_lv

La troisième étape consiste à supprimer le LV présent sur le VG :

1
# lvremove mon_vg/mon_lv

La quatrième étape consiste à désactiver le VG à supprimer :

1
# vgchange -an mon_vg

La cinquième étape consiste à supprimer le VG :

1
# vgremove mon_vg

Etendre un LV

Etendre un LVM revient à ajouter un disque vierge. Cela se fait en plusieurs étapes. La premère consiste à vérifier qu’il reste de l’espace disponible sur le VG (ici 506G de disponible) :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# vgdisplay mon_vg
    --- Volume group ---
  VG Name               mon_vg
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               1.09 TiB
  PE Size               4.00 MiB
  Total PE              285839
  Alloc PE / Size       156160 / 610.00 GiB
  Free  PE / Size       129679 / 506.56 GiB
  VG UUID               WZUJLZ-jG8i-0pmZ-9YQv-fM5H-etoT-USv6xO

La seconde et dernière étape consiste a étendre le LV (ex: mon_lv) avec le nouvel espace disponible :

1
# lvextend --resizefs -l +100%FREE mon_vg/mon_lv

Reduire un LV

Reduire un LVM revient à supprimer un disque. Cela se fait en plusieurs étapes. La premère consiste à demonter la partition :

1
# umount /mnt

La seconde et dernière étape consiste à reduire la taille du LV (ex: 10G) :

1
# lvreduce --resizefs -L -10G mon_vg/mon_lv

Ajouter un disque à un LVM

Cela se fait en plusieurs étapes. La premère consiste à créer un PV sur un disque vierge :

1
# pvcreate /dev/sdc

La seconde consiste a étendre le VG (ex: mon_vg) :

1
# vgextend mon_vg /dev/sdc

La dernière étaper consiste à étendre le LV avec l’ensemble de l’espace disque disponible et en augmentant la taille du système de fichier :

1
# lvextend --resizefs -l +100%FREE mon_vg/mon_lv