Logical Volume Manager

I► Logical Volume Manager Linux

Le LVM sous Linux permet d’exploiter au maximum les ressources (les espaces) des unités de stockage (disques) …
Le LVM est composé de :

  • Les Physical Volume (PV) qui recensent les unités ou partitions concernées
  • Le(s) Volume Group (VG) qui vont contenir 1 ou plusieurs PV
    Il peut y avoir plusieurs groupes définis en fonction des besoins de stockage (ex: nas – video – BDD)
  • Le(s) Logical Volume (LV) qui créent des unités de disque virtuels (visible sous /dev) et que l’on peut utiliser comme un disque ‘réel

NB : un fichier peut être enregistré en partie sur telle ou telle unité de stockage. La difficulté en cas de crash serait de localiser les bribes du même fichier disséminées on ne sait ou !
C’est pour cela que le LVM est très souvent couplé à du RAID (qui pourra assurer la restauration des données)

Installation de l’utilitaire LVM :
apt-get install lvm2 (debian)
yum install lvm2 (RH/Centos)

TP : Création d’un LVM sur une même unité de stockage

Formatage du disque ( disque USB ) :
fdisk /dev/sdx ( ex : /dev/sdb)
On crée 3 partitions de type Linux LVM (T=8e)
On a au maximum 3Go (3partitions de 1Go)

Création des PV :
pvcreate /dev/sdb1
pvcreate /dev/sdb2
pvcreate /dev/sdb3
Un petit pvs ou pvdisplay  #pour vérifier le tout …

Création du Groupe :
vgcreate vg0 /dev/sdb1 /dev/sdb2
un petit vgs ou vgdisplay #pour vérifier … (déjà vu) 🙂

Création du Volume :
lvcreate -L2G(ou g) -n/dev/vg0/lv0 # L pour la taille
lvcreate -l 100%VG -n/dev/vg0/lv0 # l pour le nombre d’extents

#on prend 2Go sur l’espace disponible du groupe MonGroupe
un petit lvs ou lvdisplay #…….

Création du File System :
mkfs.ext4 -m1 /dev/vg0/lv0
ou
mkfs.btrfs /dev/vg0/lv0
#m1 réservera simplement 1% des blocs à root -> convenable de nos jours vu les ‘gros’ disques !

Montage du Device :
mount -text4 /dev/vg0/lv0 /mnt/LVM

On place des fichiers dans ce point de montage pou vérifier que les données seront conservées même dans le cas du resize

—————————————————————————————————————————

Augmentation de l’espace du LVM :

On peut augmenter à chaud la taille du LVM sans démonter le point de montage, donc sans gêner les utilisateurs en production !

NB : si on souhaite tout de même arrêter la production et démonter => umount -l /mnt/LVM
#on démonte avec paresse 🙂 (Lazyness) le point de montage

On rajoute un nouveau disque :
mkfs.ext4 -m1 /dev/sdb3 #on créee le FS EXTxxx sur la partition)
vgextend /dev/vg0 /dev/sdb3 #On étend le groupe avec le(s) nouveau(x) PV
lvresize -L+1G /dev/vg0/lv0
#ou lvresize -L3G /dev/vg0/lv0

☼ ou mieux pour occuper tout l’espace disponible du VG (option petit L)
lvresize -l 100%VG /dev/MonGroupe/MonVolume

df -h /mnt/LVM #doit montrer le nouvel espace ?
ET non attention l’information de redimesionnement du LVM physique n’est pas transmise au point de montage ! ►
L’information de redimensionnement n’est pas automatiquement récupérée.
resize2fs /dev/vg0/lv0 (pour les FS EXT)
ou
btrfs filesystem resize max /mnt/LVM (pour les FS BTRFS)

———————————————————————————————————————
Les informations de conf de LVM sont stockées dans /etc/lvm/archive automatiquement !
Bon à savoir pour restaurer un LVM

NB : lvresize fonctionne en +, en – ou en valeur exacte 🙂
lvresize -L+1G /dev/MonGroupe/MonVolume
lvresize -L-550M /dev/MonGroupe/MonVolume # Attention on peut perdre des données
lvresize -L4G /dev/MonGroupe/MonVolume

et Voilà pour l’article ….

Michel BOCCIOLESI