LVM se base sur des espaces de stockage virtuels appelés "groupes de volumes".
Un groupe de volumes a un nom arbitraire, est constitué d'un ou plusieurs "volumes physiques", et sert à contenir des "volumes logiques".
Un volume physique peut être tout type de périphérique bloc : disque entier, partition, ensemble RAID, volume chiffré...
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...
Quelques avantages de LVM sur les partitions classiques :
- un volume logique peut être constitué d'espace de stockage physique non contigu
- un volume logique peut être agrandi facilement à chaud si son groupe a de l'espace libre
- un groupe de volumes peut être agrandi à chaud en lui ajoutant un nouveau volume physique
- 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 de partition
- 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
Il y a aussi des inconvénients :
- une complexité accrue
- une possible fragmentation des volumes logiques qui peut impacter négativement les performances
- la récupération de données peut aussi être rendue plus difficile par la fragmentation des volumes logiques
- le noyau seul ne gère pas LVM, il faut des programmes pour activer les volumes logiques
- 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)
- 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).
- 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.
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, lors de leur création je devrais estimer l'espace nécessaire à long terme. Si une partition s'avère trop grande, j'aurai gaspillé de l'espace. 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, ce qui nécessite souvent d'arrêter le système et démarrer avec un système live.
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 l'agrandir à chaud facilement sans arrêter le système.
Dernière modification par raleur (04-01-2019 09:55:08)
Il vaut mieux montrer que raconter.