{{tag>sysadmin linux lvm}}
====== LVM ======
===== Généralités =====
**LVM** pour **L**ogical **V**olume **M**anager.
* La version utilisée est aujourd'hui LVM2 complètement compatible avec LVM.
* LVM2 s'appuie sur le pilote **Device Mapper** des noyaux 2.6 et supérieurs.
Le principal intérêt d'une gestion par disques logiques LVM est d'offrir une vision de plus haut niveau du système de stockage informatique courant basé sur les disques physique et les partitions. Ce modèle offre à l'administrateur plus de flexibilité pour l' allocation du stockage aux applications et aux utilisateurs.
Contrairement à un volume physique partitionné, les disques logiques créés peuvent être redimensionnés et déplacés à volonté sans opérations complexes ou pouvant entraîner des risques de pertes de données.
Les atouts d'une gestion par volumes logiques se dévoilent davantage sur des systèmes contenant un grand nombre de disques. Gérer un grosse quantité de disques de différentes tailles, repartir les besoins (souvent conflictuels) en stockage entre les nombreux usages peut vite devenir un cauchemar.
* Le manager permet de définir et de gérer des groupes de stockage nommés permettant à l'administrateur de travailler avec des conteneurs plus représentatifs "applis" ou "production" plutôt qu'avec des fichiers périphériques tels que "sda" ou "sdb".
* Les groupes d'utilisateurs du systèmes peuvent être associés aux groupes de volumes et aux volumes logiques et ceux-ci peuvent s'agrandir dynamiquement autant que nécessaire. L'administrateur peut faire le choix de réserver une partie de l'espace de stockage puis de l'attribuer aux groupes lorsque le besoin s'en fait sentir.
* Quand de nouveaux disques physiques sont ajoutés au système, il n'est plus nécessaire de déplacer fichiers utilisateurs pour profiter des nouveaux espaces de stockage. Il suffit d'ajouter le disque à un groupe de volume existant de d'agrandir ou de regrouper les volumes logiques disponibles.
* Le manager rend aisé le retrait d'anciens disques en déplaçant les données vers des périphériques plus récents. Cela peut être fait sans interruption de service.
Ci dessous un représentation de l'architecture LVM:
sda1 md1 (PV: Physical Volume, construits sur partitions ou disques entiers)
\ /
\ /
diskvg (VG: Volume Group)
/ | \
/ | \
usrlv rootlv varlv (LV:Logical Volume)
| | |
ext2 reiserfs xfs (filesystems)
* Le groupe de volume **VG**, est le conteneur de plus haut niveau. Il rassemble dans une unité de gestion une collection de volumes physiques (PV) sur lesquels seront définis les volumes logiques (LV).
* **PV** pour **P**hysical **V**olume est un espace de stockage, un disque dur ou tout fichier périphérique se comportant comme un disque dur (ex: périphérique RAID logiciel).
* **LV** pour **L**ogical **V**olume est l’équivalent d'une partition sur un système non LVM. C'est l'abstraction d'une partition. Le **LV** est visible comme un périphérique de type bloc pouvant accueillir un système de fichier.
* **PE** pour **P**hysical **E**xtents. Les PV sont morcelés en unités de données les **PE**, équivalent abstrait du secteur pour un périphérique physique. Les PE ont la même taille que les Logical Extends pour le VG considéré.
* **LE** pour **L**ogical **E**xtends. Chaque LV est morcelé en unité de données les LE. La taille des LE est identique pour tous les volumes logiques du groupe de volume.
===== Exemple =====
On a définit un groupe de volume nommé VG1 avec des PE de 4Mo. Dans ce groupe de volume, on insère les partitions physiques de deux périphériques de stockages sda2 et sdb7 de taille différente. Ces partitions deviennent PV1 et PV2. Ces deux PVs sont morcelés en PE de 4Mo. Les PVs de tailles différentes ne contiennent pas la même quantité de PE. Lorsque le LV est créé, une association (mappping) est définie entre les LE et les PE. Le LV a une taille variant de 1 PE au nombre total de PE disponibles dans le groupe de volume. Le mode de mapping entre LE et PE peut être linéaire ou alterné (linear, stripped), au LE n°1 peut correspondre le PE n°30, ainsi les données écrites dans le premier LE du du volume logique est en fait écrit sur le 30ième PE de PV1.
===== Installation =====
Pas de difficulté pour installer le manager intégré au gestionnaire de paquets des principales distributions. Pour une Debian like:
$ sudo apt-get install lvm2
===== Cas d'utilisations =====
* [[sysadmin:linux:lvm:creation-lv|Création d'un volume logique.]]
* Agrandir un volume logique.
* Migrer et retirer un volume physique.
===== Références =====
* https://www.vincentliefooghe.net/content/utilisation-lvm-logical-volume-manager-sous-linux
* http://tldp.org/HOWTO/LVM-HOWTO/
* https://doc.ubuntu-fr.org/lvm