Recherche de site Web

Guide du gestionnaire de volumes logiques Linux (LVM)


Commandes Linux LVM

Dans ce didacticiel, nous allons découvrir la Gestion des volumes Linux. Nous verrons qu'est-ce que LVM sous Linux, les avantages de LVM, comment créer un groupe de volumes et des volumes logiques dans Linux avec des exemples.

Qu'est-ce que le gestionnaire de volumes logiques (LVM) ?

Le Logical Volume Manager (LVM) est utilisé pour gérer le stockage par blocs sous Linux. LVM gère la gestion du stockage différemment et efficacement par rapport aux partitions standard.

LVM accumule les espaces extraits des partitions ou des disques entiers (appelés Volumes physiques) pour former un conteneur logique (appelé Groupe de volumes). Le groupe de volumes est divisé en partitions logiques appelées Volumes logiques.

Pour faire simple, LVM regroupe tout votre espace de stockage dans le pool et vous permet de créer des volumes (Logical Volumes) à partir de ce pool.

L'avantage de l'utilisation de LVM par rapport à une partition standard est que LVM vous offre plus de flexibilité et de fonctionnalités. Il permet le redimensionnement en ligne des groupes logiques et des volumes logiques. Ainsi, si l'une de vos partitions logiques manque d'espace, vous pouvez facilement augmenter la taille de la partition en utilisant l'espace disponible dans le pool de stockage.

Vous pouvez également exporter et importer des partitions. LVM prend également en charge la mise en miroir et la capture instantanée de volumes logiques.

Nous passerons en revue toutes les fonctionnalités séparément dans les prochains articles. Je vous suggère également de consulter les guides suivants pour comprendre comment les partitions standard sont créées et montées.

  • Créer et gérer des partitions de disque avec Parted sous Linux - OSTechNix
  • Créer des partitions de disque Linux avec Fdisk - OSTechNix

Couches d'abstraction dans LVM

LVM fournit une abstraction de couche entre le stockage physique et le système de fichiers, permettant au système de fichiers d'être redimensionné, de s'étendre sur plusieurs disques physiques et d'utiliser un espace disque arbitraire.

LVM utilise trois couches d'abstraction pour créer des partitions.

  • Volume physique,
  • Groupe de volumes,
  • Volume logique.

VOLUME PHYSIQUE

Tout commence par un disque physique. Le Volume physique est la première couche d'abstraction utilisée par LVM pour identifier le disque balisé pour les opérations LVM. Pour faire simple, si vous souhaitez travailler avec LVM, votre disque doit être initialisé en tant que volume physique. Il peut s'agir d'un disque entier ou de partitions standard créées à partir de ce disque.

GROUPE DE VOLUMES

Le Groupe de volumes est la combinaison de tous les volumes physiques. Supposons que vous disposiez de cinq disques distincts d'une taille de 1 To chacun. Vous allez d’abord initialiser les cinq disques en tant que volume physique, puis les ajouter au groupe de volumes.

Le groupe de volumes contiendra 5 To d'espace, qui correspond à l'espace disponible sur tout le volume physique. À partir du groupe de volumes, vous pouvez créer des partitions logiques.

VOLUMES LOGIQUES

À partir du pool d'espace (Volume Group), vous pouvez créer des volumes logiques. Considérez cela comme l'équivalent d'une partition de disque standard.

Assez avec les bases. Commençons par les commandes Linux LVM.

J'utilise le serveur Ubuntu exécuté dans Virtualbox pour la démonstration. Si vous apprenez LVM pour la première fois, effectuez vos tests sur n'importe quelle machine virtuelle.

Attention : les commandes LVM nécessitent le privilège root. Exécutez toutes les commandes en tant qu'utilisateur root ou avec le privilège sudo.

Étape 1 - Initialiser le volume physique

J'ai ajouté trois disques de tailles différentes et cela totalise 10G.

lsblk /dev/sd[b-e]

Exemple de résultat :

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 2G 0 disk
sdc 8:32 0 3G 0 disk
sdd 8:48 0 5G 0 disk

Pour initialiser n'importe quel disque en tant que volume physique, utilisez la commande pvcreate, avec le nom du périphérique comme argument.

sudo pvcreate /dev/sdb /dev/sdc /dev/sdd

Exemple de résultat :

Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.
Physical volume "/dev/sdd" successfully created.

Pour vérifier la liste des volumes physiques, vous pouvez exécuter l'une des commandes suivantes. Chaque commande vous donnera une sortie différente.

PVDISPLAY - La commande pvdisplay vous donnera des informations détaillées sur chaque volume physique, sous quel groupe de volumes il se trouve, l'ID unique et la taille disponible.

sudo pvdisplay

Sortie de la commande Pvdisplay

PVS & PVSCAN - Ces deux commandes vous donneront des informations telles que le volume physique, le groupe de volumes, la taille allouée et la taille libre.

$sudo pvs

Sortie de la commande Pvs

sudo pvscan

Sortie de la commande Pvscan

Étape 2 - Création d'un groupe de volumes

J'ai maintenant trois disques initialisés en tant que volume physique d'une taille totale de 10 Go. Ces volumes physiques doivent être ajoutés à un pool de stockage appelé groupe de volumes.

Exécutez la commande vgcreate pour créer un groupe de volumes. Vous devez transmettre un nom pour le groupe de volumes. Ici, j'utilise "ostechnix_files" comme nom du groupe de volumes.

sudo vgcreate ostechnix_files /dev/sd[b-d]
Volume group "ostechnix_files" successfully created

Exécutez l'une des commandes suivantes pour vérifier les détails du groupe de volumes.

sudo vgdisplay

Ou,

sudo vgdisplay <volume group name>

Sortie de la commande Vgdisplay

Étape 3 - Afficher les détails du groupe de volumes

Les commandes vgs et vgscan vous donneront des informations relatives à tous les groupes de volumes disponibles, au nombre de volumes physiques et nombre de volumes logiques, tailles allouées et libres du groupe de volumes.

sudo vgs
sudo vgscan

Sortie des commandes Vgs et Vgscan

Étape 4 - Création de volumes logiques

Comme je l'ai mentionné plus tôt, le volume logique est similaire aux partitions de disque. Nous disposons désormais de près de 10 Go d'espace libre dans le pool "ostechnix_files" (groupe de volumes). En plus de ce groupe de volumes, nous allons créer des volumes logiques, formater le volume avec le système de fichiers ext4, monter et utiliser le volume.

Pour créer le volume logique, vous pouvez utiliser la commande lvcreate. La syntaxe générale de la commande lvcreate est donnée ci-dessous.

sudo lvcreate -L <volume-size> -n <logical-volume-name> <volume-group>

Ici,

  • -L => taille en Ko, Mo, Go
  • -n => Nom de votre volume
  • => Quel groupe de volumes utiliser

Maintenant, je crée un volume logique d'une taille de 3 Go. J'ai nommé le volume logique "guides".

sudo lvcreate -L 3GB -n guides ostechnix_files
  Logical volume "guides" created.

Étape 5 - Afficher les informations sur les volumes logiques

Vous pouvez utiliser l'une des commandes suivantes pour afficher les informations sur le volume logique.

La commande lvdisplay vous donne des informations détaillées sur le volume logique, le groupe de volumes associé, la taille du volume, le chemin du volume logique, etc.

lvdisplay

Ou bien, mentionnez explicitement le nom du volume logique :

lvdisplay guides

Sortie de la commande Lvdisplay

Les commandes lvscan et lvs fourniront également des informations de base sur les volumes logiques.

lvscan
lvs

Sortie des commandes Lvscan et Lvs

Étape 6 - Formatage et montage des volumes logiques

Vous devez formater le volume logique avec un système de fichiers et monter le volume. Ici, je formate le volume avec le système de fichiers ext4 et je le monte dans le répertoire /mnt/.

Vous devriez voir le fichier de périphérique pour le volume logique sous /dev/volume-group/logical-volume. Dans mon cas, le fichier de périphérique sera /dev/ostechinix_files/guides.

sudo mkfs.ext4 /dev/ostechnix_files/guides

Exemple de résultat :

mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 786432 4k blocks and 196608 inodes
Filesystem UUID: a477d1b6-e806-451f-ab34-4be9978c1328
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

Pour monter le répertoire, exécutez la commande suivante. Vous pouvez monter le répertoire à n'importe quel emplacement comme vous le souhaitez.

sudo mount /dev/ostechnix_files/guides /mnt/

Pour afficher les volumes montés, exécutez :

mount | grep -i guides
/dev/mapper/ostechnix_files-guides on /mnt type ext4 (rw,relatime)

Vous pouvez également exécuter la commande df pour vérifier les informations sur le système de fichiers monté. Vous pouvez voir que le système de fichiers est nommé avec le nom du volume. Il vous sera assez facile de comprendre le volume sous-jacent et son groupe avec cette convention de dénomination.

df -h /mnt/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ostechnix_files-guides 2.9G 9.0M 2.8G 1% /mnt

Pour rendre le montage persistant lors des redémarrages, vous devez ajouter une entrée au fstab. Si vous n'avez aucune idée de fstab, je vous suggère de consulter notre article complet sur fstab.

  • Qu'est-ce que Fstab sous Linux | Une introduction au fichier Linux /etc/fstab

Conclusion

Dans cet article d'introduction, nous avons vu l'abstraction LVM et comment créer un groupe de volumes et des volumes logiques à l'aide de LVM sous Linux. Dans le prochain article, nous verrons comment agrandir et réduire l'espace du volume.

Lire ensuite :

  • Partie 2 - Comment redimensionner les partitions LVM sous Linux
  • Partie 3 : Comment utiliser LVM Snapshot pour sauvegarder vos données sous Linux
  • partie 4 - Comment déplacer un groupe de volumes LVM vers une autre machine sous Linux
  • Partie 5 - Comment utiliser Ansible pour automatiser Logical Volume Manager (LVM) sous Linux

Articles connexes