logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

LVM

Introduction

raleur a écrit sur le forum df ici :

Le choix de séparer les systèmes de fichiers n'a aucun rapport en soi avec le choix d'utiliser LVM. LVM rend juste plus facile cette séparation. Le problème quand on sépare, c'est de déterminer la taille des différents systèmes de fichiers.
Avec des partitions classiques, cette taille est plus ou moins figée à l'installation ; agrandir une partition n'est possible qu'après avoir réduit et déplacé la partition suivante.
Au contraire avec LVM on peut facilement agrandir n'importe quel volume logique en cas de besoin tant qu'il y a de l'espace libre dans le VG qu'on peut agrandir en ajoutant une partition, un disque… On n'a donc pas à anticiper les besoins futurs pour chaque volume individuel dès l'installation.
En un mot : LVM, c'est la souplesse.
Cerise sur le gâteau, les volumes sont identifiés de façon persistante par leur nom choisi par l'administrateur au lieu d'UUID sans signification.

Merci raleur :-)

LVM sont les initiales de Logical Volume Manager ou gestionnaire de volumes logiques.

Son utilisation consiste à :

  1. Créer une partition spécifique de type LVM, (qui correspond à un disque monté).
  2. A l'intérieur de laquelle, nous créons et modifions à volonté des volumes logiques, (qui correspondent aux partitions) que nous y créerons, eux-mêmes formatés et dimensionnés à notre convenance.

Ainsi, l’utilisation de Volumes Logiques remplace tout de go le partitionnement des disques habituel d'une manière beaucoup plus souple, permettant à tout moment la gestion du volume de chacun d'eux.

De même, il est possible de conserver une partie de la partition LVM sans volume logique d'installé, dans l'attente d'une gestion ultérieure…

ATTENTION !

1/ Une fois que LVM est installé sur un disque ou une partition de ce disque, Windows ne pourra plus y accéder.

2/ Si vous réduisez un Volume Logique, il doit conserver au minimum toute la capacité nécessaire pour représenter son contenu. S'il est diminué davantage que cette limite, les données excédentes seront irrémédiablement effacées.

Comment ça marche

LVM se base sur des espaces de stockage virtuels appelés “groupes de volumes”.
Un groupe de volumes :

  1. a un nom arbitraire,
  2. est constitué d'un ou plusieurs “volumes physiques”,
  3. et sert à contenir des “volumes logiques”.

Volume physique

  • Un volume physique peut être tout type de périphérique bloc :
    • disque entier,
    • partition,
    • ensemble RAID,
    • volume chiffré…

Volume logique

Un volume logique est un périphérique bloc qui a un nom arbitraire et peut s'utiliser comme une partition classique : système de fichiers, swap…

Avantages

Quelques avantages de LVM sur les partitions classiques :

  1. un volume logique peut être constitué d'espace de stockage physique non contigu
  2. un volume logique peut être agrandi facilement à chaud si son groupe a de l'espace libre
  3. un groupe de volumes peut être agrandi à chaud en lui ajoutant un nouveau volume physique
  4. un volume logique a un nom de périphérique persistant de la forme /dev/nom_groupe/nom_volume ou /dev/mapper/nom_groupe-nom_volume plus parlant qu'un nom de périphérique partition
  5. la possibilité de créer des “instantanés” (snapshots) d'un volume logique pouvant servir par exemple à créer des points de restauration ou faciliter les sauvegardes à chaud

Inconvénients

Il y a aussi des inconvénients :

  1. une complexité accrue
  2. une possible fragmentation des volumes logiques qui peut impacter négativement les performances
  3. la récupération de données peut aussi être rendue plus difficile par la fragmentation des volumes logiques
  4. le noyau seul ne gère pas LVM, il faut des programmes pour activer les volumes logiques
  5. le démarrage d'un système dont la racine est dans un volume logique nécessite donc un initramfs (déjà nécessaire avec les noyaux Debian) avec le support de LVM (comme dans Debian)
  6. le démarrage d'un système dont le contenu de /boot est dans un volume logique nécessite un chargeur d'amorçage qui supporte LVM, comme GRUB 2 (mais pas LILO ni GRUB 1).
  7. la perte d'un disque contenant un volume physique cause la perte de tous les volumes logiques qui sont stockés en partie ou totalement dans ce volume physique.

Utilisations

Une utilisation classique de LVM consiste à créer plusieurs volumes logiques dans un ensemble RAID ou un volume chiffré utilisé comme volume physique, plutôt que créer plusieurs ensembles RAID ou volumes chiffrés séparés.

LVM est aussi particulièrement pratique quand on veut créer beaucoup de volumes et gérer leurs tailles au plus juste.
Par exemple, je veux créer des systèmes de fichiers séparés pour :

  • /home
  • /srv
  • /tmp
  • /var/cache
  • /var/log

Pourquoi cette séparation ?

Parce que le contenu de ces répertoires peut grossir de façon incontrôlée, la séparation évite d'envahir la totalité du système de fichiers.

Mais voilà, je ne sais pas à l'avance quelle taille allouer à chacun ?

Avec des partitions habituelles non LVM, lors de leur création je devrais estimer l'espace nécessaire à long terme.

  1. Si une partition s'avère trop grande, j'aurai gaspillé de l'espace.
  2. Si une partition s'avère trop petite à l'usage, il faudra l'agrandir, et pour cela la déplacer ou réduire et/ou déplacer une ou plusieurs autres partitions.<note tip>Ce qui nécessite souvent d'arrêter le système et démarrer avec un système live.</note>

Avec LVM, je peux créer les volumes logiques avec

  • des tailles initiales minimum raisonnables,
  • et laisser beaucoup d'espace libre dans le groupe de volumes.

Si un volume s'avère trop petit à l'usage, je peux alors l'agrandir à chaud et facilement

sans arrêter le système !

Et tout ça sous le post de raleur sur le forum :

:-D

Installation

Installez LVM2 :

apt-get install lvm2

LVM - Initialisation

  • Pour illustrer cet article nous appellerons le disque système LVM : volumeGroupTest
  • Et nous appellerons la partition créé dans ce disque système : logicalVolumeTest1

Dans 2 partitions linux, initialisons LVM :

pvcreate /dev/partition_linux1 /dev/partition_linux2

Créons maintenant le groupe de volumes nommé volumeGroupTest :

vgcreate volumeGroupTest /dev/partition_linux1 /dev/partition_linux2

Volumes Logiques - Création

Il ne reste plus qu'à créer les Volumes Logiques LVM.
Les deux options vraiment importantes sont -n pour son nom, et -L pour sa taille. Puis on précise sur quel VG (ex: volumeGroupTest). Les tailles des volumes sont arbitraires mais doivent être compatibles avec celle du groupe. La taille ci-dessous est donnée à titre d'exemple.

lvcreate -L 1024M -n logicalVolumeTest1 volumeGroupTest
lvcreate -L <taille restante> -n logicalVolumeTest2 volumeGroupTest

Pour connaître cette taille restante, taper :

vgdisplay

et regarder la ligne :

  Free PE Size

Nos partitions sont prêtes.

Système de fichiers

Avec les partitions, on avait des noms ressemblant à /dev/hda3, etc…
Avec LVM, on utilise aussi des périphériques dans /dev, mais le chemin est :

  /dev/nom_du_vg/nom_du_lv

Puisqu’on a décidé d’appeler notre volume logique logicalVolumeTest1, le nom de périphérique de ce volume logique est :

  /dev/volumeGroupTest/logicalVolumeTest1

À partir de maintenant, /dev/volumeGroupTest/logicalVolumeTest1 peut être utilisé dans toutes les situations et avec toutes les commandes qui attendent /dev/…

Formater une partition créée

Nous appelons souvent vulgairement cette action : formater.
En fait nous créons une couche appelée système de fichier (ou filesystem) !

Donc, pour créer un système de fichier en ext4, démonter la partition LV logicalVolumeTest1 :

Puis, taper :

mkfs.ext4 /dev/volumeGroupTest/logicalVolumeTest1

maintenant on peut monter la partition

mount /dev/volumeGroupTest/logicalVolumeTest1 /media/nom_utilisateur/logicalVolumeTest1

le choix de /media permet de voir apparaître la partition comme périphérique dans le menu latéral du gestionnaire de fichier (comportement par défaut dans Thunar) Une fois la partition monté on va s'apercevoir que on ne peut ajouter aucun fichier ou répertoire car la partition appartient a root

On va donc se placer dans le répertoire /media/nom_utilisateur et changer le propriétaire du sous dossier

cd /media/nom_utilisateur
chown utilisateur:utilisateur logicalVolumeTest1

Agrandir une partition LV

Rappellez vous le schéma des couches :

 Disque ou partition(s)
 |----> Volume Group le/les disques,partition inclus dans LVM ''volumeGroupTest''
	----> Logicals Volumes la/les partition LV ''logicalVolumeTest1''
		|----> Filesystem sur ''logicalVolumeTest1''

Première opération : réduction de logicalVolumeTest2

La réduction du système de fichier à l'aide de resize2fs doit se faire au préalable, partition démonté, contrairement à l'agrandissement (voir man resize2fs) Pour la réduction du système de fichier on pourra utiliser l'utilitaire fsadm inclus dans le paquet LVM2 avec lequel on peut démonter la partition avec l'option -e , lui même utilise resize2fs

Enfin on choisira une taille de partition légèrement supérieur au système de fichier pour être sur de préserver les données

lvreduce -L-1024M /dev/volumeGroupTest/logicalVolumeTest2
Rounding size to bundary between physical extents : arrondi de taille demandé Ce message apparaît si la taille demandé n'est pas un multiple de PE (PE=4MiB par defaut), dans notre cas si nous avions demandé 1025M de réduction le système aurait adapter la taille demandé “de façon intelligente” a un multiple de PE (1024M) =)

Deuxième opération : agrandissons logicalVolumeTest1

Pour un agrandissement de la partition, l'opération peut se faire à chaud, sans démontage du volume.
Voir sur le forum :
http://debian-facile.org/viewtopic.php?pid=105114#p105114
lvextend -L+1024M /dev/volumeGroupTest/logicalVolumeTest1

Troisième opération : mettons le système de fichiers à la taille du LV.

resize2fs ne s'applique qu'aux systèmes de fichiers ext2, ext3 ou ext4. Pour les autres types (btrfs, xfs, reiserfs…) il faut utiliser les commandes appropriées.
resize2fs /dev/volumeGroupTest/logicalVolumeTest1
commande e2fsadm OBSOLÈTE après LVM 1 -t2/ext3 via e2fsadm.
e2fsadm -L+1024M /dev/volumeGroupTest/logicalVolumeTest1

Lien dans le forum :
http://debian-facile.org/viewtopic.php?pid=105114#p105114

Un exemple

Supprimer une partition LVM

ATTENTION !
Effacer une partition LVM revient à en perdre immédiatement tout le contenu.

lvremove

Pour supprimer une partition LVM, il suffit d'utiliser la commande umount pour la démonter :

umount /media/nom_utilisateur/logicalVolumeTest1

Puis de l'effacer avec la commande lvremove :

lvremove /dev/volumeGroupTest/logicalVolumeTest1

Chiffrer LVM

Supprimer tout le partitionnement LVM

Gparted

Utiliser depuis une live : Gparted.

Liens et remerciements

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/systeme/lvm.txt · Dernière modification: 19/04/2023 18:58 par bendia

Pied de page des forums

Propulsé par FluxBB