_
~ DAMOLAB - Les tambouilles textes, teks et hacks ~
"à cheval donnée, on ne regarde pas la bouche." - proverbe
DAMOLAB (#TAGS) _./._ XBNF blog _./._ Blog _./._

Manipuler des volumes de stockage avec LVM


| FR | par DAMO | | 13/06/2025 21h00 | (last update 24/02/2026 20h35) | Commentaires |
#LINUX #ARCHITECTURE
comprendre et débuter avec docker
|


/!\\ Comme vous pouvez l'imaginer, bien travailler sur un système de test avant de faire ce type d'actions sur une système live...
(backuper, sécuriser, relire, ...)

Gestion par volumes logiques.

Pages de manuel.

Utilisation LVM (Logical Volume Manager) sous Linux

LVM se base sur la hiérarchie suivante :
1) PV : disque physique
2) VG : Volume groupe
3) LV : Volume logique
4) système de fichier (/mapper/)

/!\\ Dans le cas d'un cluster (architecture à plusieurs noeuds qui partage du stockage), LVM est piloté par une couche manageur,
je me contente juste d'évoquer le sujet sans traiter ce sujet casse gueule.
Il existe un certain nombre de couche logiciel et lié aux contructeurs (HP, Solaris, Cloud, ...).

1) Interroger LVM


  • lister les devices physiques alloués à LVM

 pvdisplay 

  • il peut s'avérer utile de détecter les éléments LVM:

(après reboot ou sur pour un cluster)
 lvmdiskscan 

 vgscan 

 lvscan 

  • lister les Volume Group

Vue compact:
 vgs 

 vgdisplay 

  • les devices associés aux VG:

 pvdisplay 

  • lister les Logical-Volume et notamment le <LV path>:

Vue compact:
 lvs 

 lvdisplay 

  • identifier les <LVM device> déja utilisés cad montés:

 df -h | grep /mapper/ 

 mount | grep /mapper/ 

Le fileset monté est de la forme : /dev/mapper/<Volume-Group>-<Logical-Volume> (Ex: /dev/mapper/DATAvg-LogVolORADATA)
  • pour voir tous les LVM device existant (montés ou pas):

 fdisk -l | grep /mapper/ 


2) Crée un simple volume LVM



Identifier le disque physique ou partition, le nom de VG puis de LV que vous souhaitez utiliser.

Voici un exemple compact de création d'un VG/LV/mountage LVM:
pvcreate <device physique ou partition>
pvdisplay
vgcreate <VG name> <device physique (*)>
pvdisplay
vgdisplay
lvcreate -L {SIZE} <LV name>
lvdisplay


Il est possible de sauvegarder la config LVM pour la rejouer (dans le cas d'un cluster):
 vgcfgbackup <VG name> 


(*) A noter que le type utilisé pour le PV sera 8e (Linux LVM).

Il faut identifier le <LVM device> qui service de device pour un fileset cible (EX: / ou /data):
 fdisk -l | grep /mapper/ 


Le formater avec le bon type souhaité par exemple ici ext4:
 mkfs.ext4 <LVM device> 


Pout monter le point de montage cible:
mkdir /data
mount <LVM device> /data
df -h /data


Lorsque le point de montage est ok, ajouter dans fstab:
cp /etc/fstab /etc/fstab.{TIMESTAMP}
vi /etc/fstab
<LVM device> /data ext4 rw,discard,errors=remount-ro,x-systemd.growfs 0 1 
mount -a
df -h


3) cas d'un cluster



Vous pouvez être amené à activer ou désactiver manuellement un VG selon le noeud.
/!\\ LVM est piloté par votre gestionnaire de cluster si vous en avez un.

Activation d'un VG:
vgchange -a y <VG name> 


Déactivation d'un VG:
vgchange -a n <VG name> 


Mécanisme de tagging qui permet potentiellement de piloter LVM:
vgchange --addtag <env> <VG name> 

vgchange --deltag <env> <VG name> 


Voir man.

4) étendre un fileset LVM




4.1) pré-requis


Avant de procéder, suivre les actions préalables:
  • backuper les données sensibles si besoin
  • garder une trace de l'opération voir <Interroger la configuration LVM>
    • date/machine/modop employés
    • taille du disque à ajouter (EX: 30Go)
    • <device> physique à utiliser (EX: /dev/sdb)
  • indentifier les éléments cibles :
    • VG/Volume-Group (EX: DATAvg)
    • <LV path> / Logical-Volume path (EX: /dev/DATAvg/LogVolORADATA)
    • <LVM device> (EX: /dev/mapper/DATAvg-LogVolORADATA)
    • type de fileset (EX: ext4)


4.2) ajout du disque


Ajouter un disque sur votre VM (vmWare), instance (Cloud), machine physique, ...
Cela peut être effectué à chaud ou après démontage du point de montage cible.


Identifier le disque physique ajouté.
/!\\ Selon l'architecture cela peut prendre un peu de temps ou nécessiter de forcer la détection du disque.
Un reboot ou scan peut être nécessaire.
vmWare scan

 fdisk -l 

 lsblk 

 partprobe -v


 tail -f /var/log/messages 

Apr 10 14:29:07 pic kernel: sd 0:0:5:0: [sdf] 209715200 512-byte logical blocks: (107 GB/100 GiB)
Apr 10 14:29:07 pic kernel: sd 0:0:5:0: [sdf] Write Protect is off
Apr 10 14:29:07 pic kernel: sd 0:0:5:0: [sdf] Cache data unavailable
Apr 10 14:29:07 pic kernel: sd 0:0:5:0: [sdf] Assuming drive cache: write through
Apr 10 14:29:07 pic kernel: sd 0:0:5:0: Attached scsi generic sg6 type 0
Apr 10 14:29:07 pic kernel: sd 0:0:5:0: [sdf] Attached SCSI disk


Sur une VM vmWare la commande suivante a donnée satisfaction:
 for host in /sys/class/scsi_host/*; do echo "- - -" | sudo tee $host/scan; ls /dev/sd* ; done 


4.3) extension LVM


Une fois détecter, ajouter le disque dans LVM.
 pvcreate <device> 


<device> peut être du genre /dev/sdb ou une partition du genre /dev/sdb2.

Etendre le volume-group existant:
 vgextend <Volume-group> <device> 


Allouer de l'espace sur le Logical-volume:
 lvextend -L+20G <LV path> 


4.4) prise en compte sur le fileset <LM device>


Il reste encore a mettre à jour le fileset pour prise en compte,
pour Ext3/4:
 resize2fs <LVM device> 


pour XFS:
 xfs_growfs -d <LVM device> 


Vérifier l'augmentation d'espace sur le fileset:
 df -h 


/!\\ attentions dans le cas du swap

Généralement au moment de la création de la machine,
on crée une partition dédiée hors gestionnaire de volume.

mount ou df ne permet pas de lister ce point de montage particulier.

Que le swap soit dans LVM ou pas, il faut reformater le fileset du swap :
 swapon 


swapoff /dev/<device>
mkswap /dev/<device>
swapon


5) récupérer un espace LVM inutilisé



Si vous souhaiter ré-utiliser un volume logique.

Identifier le <fileset> à récupérer:
 df -h 


Démonter le point de montage:
 umount /.../data/ 


Retirer le point de montage pour éviter une erreur au prochain démarrage:
cp /etc/fstab /etc/fstab.<20YYMMDD>
vi /etc/fstab
 # Commenter la ligne correspondante


Rechercher le volume logique en listant mes LVs du VG:
 lvdisplay <VG> 


Non testé: sortir le <device> du VG avec un pvremove.

Supprimer le Volume logique:
 lvremove <LV path> 


Vérifier que l'espace a bien été libéré:
 vgdisplay <VG> 


Si c'est ok, vous pouvez maintenant ré-allouer l'espace sur un autre LV avec lvextend et
comme précédemment prise en compte sur le point de montage.



Bon stockage !


0.1) DamoLab


DamoLab@Sourceforge
DamoLab@DockerHub

0.2) Calculette composants radio


Electro-slide

0.3) Technologies


-- IA --
Mistral IA (le chat) (i)

-- Cyber-securité --
Shodan (i)11
Have I been pwned ? (i)
personal-data-leak-check
Osint
Zataz actualités

-- Adresses IP --
Mes Infos (IP, UA, ...)
info IP: WHOIS,ping,...
info IP: WHOIS,ping,...
info IP: Locallisation
info IP: abus
DNS checker

-- Mails --
GMX
Hushmail - mail temporaire sécurisé

encode/decode email for defeating bots
 $_='mailto: matt@org';s/(.)/chr(ord($1)+5)/eg;$_ 


-- Linux --
News LinuxFr
Mind-map Linux
Tutorials
crontab

-- Blogs Teks --
@TechWorldwithNana
@Cookieconnect
@GoCloudArchitects
@grafikart
@Underscore_
@cybernewsenfrancais


-- Geek Code --

décoder un GC

GCS d>+(---) s- a+ C++$ UL+>$ UOS++$
P++++>$ L++ E W++(++) N(+) o-- K+ w>--- O- M>+ PS+>+++ PE-- Y+@ t-(+) >5 X+ R>+ !tv b+
D---- D+ G e+++ h---- r+++ z+++



Rescue NEO...
(JS by Rezmason)


Nom/surnom:
Message:


revenir sur l'article
#LINUX #ARCHITECTURE

Aucun commentaire.

dans
une
galaxy
lointaine
Charte du site damolab.zapto.org est motorisé par

"La force est une sorte de fluide crée par tout être vivant, une énergie qui nous entoure et nous pénètre, et qui maintient la galaxie en un tout unique."
- Obi-Wan à Luke Yoda