LVM

LVM

Gestion par volumes logiques

La gestion par volumes logiques (en anglais, logical volume management ou LVM) est une méthode et un logiciel de découpage, de concaténation et d'utilisation des espaces de stockage d'un serveur. Il permet de gérer, sécuriser et optimiser de manière souple les espaces de stockage en ligne dans les systèmes d'exploitation de type UNIX/Linux.

On parle également de gestionnaire de volumes ou Volume Manager en anglais.

Sommaire

Concepts

Volumes physiques

Les disques durs, partitions de disques durs, volumes RAID ou unités logiques provenant d'un SAN forment des « volumes physiques » (physical volumes ou PV).

Groupes de volumes

On concatène ces volumes physiques dans des « groupes de volumes » (volume groups ou VG).

Volumes logiques

Des « volumes logiques » (logical volumes ou LV) sont alors découpés dans les groupes de volumes, puis formatés et montés dans des systèmes de fichiers ou utilisés en tant que raw devices.

Volumes agrégés par bandes (striping)

Les volumes logiques peuvent être « stripés » sur un ensemble de volumes physiques, à l'instar du RAID 0.

Cette technique est utilisée pour améliorer les performances, mais rend plus vulnérable à une panne disque.

Miroir (mirroring)

Les volumes logiques peuvent être également mirrorés, à l'instar du RAID 1.

Cette technique permet de se protéger contre une panne sur un disque dur.

Extensions

Les extensions sont les plus petites unités de stockage LVM, elles sont utilisées pour augmenter la taille d'un groupe de volumes.

Il existe deux types d'extensions :

  • les extensions physiques ou PE (Physical Extents)
  • les extensions logiques ou LE (Logical Extent)

Clichés (snapshots)

Les snapshots sont des volumes logiques permettant d'effectuer une sauvegarde cohérente d'un autre volume logique du même groupe de volumes.

La création d'un snapshot consiste à prendre une « photo », un instantané du volume logique cible (ce qui est quasi-immédiat) et on commence alors à enregistrer les modifications apportées au volume logique cible.

Avantage des snapshots 
ils peuvent être utilisés comme une méthode de sauvegarde. Ils permettent de stocker une image statique d'un volume logique à un instant précis. On peut ensuite effectuer une sauvegarde sur cartouche du snapshot, qui contiendra les données présentes sur le volume cible au moment de la création du snapshot.
Limite des snapshots 
ils ne sont pas une sauvegarde complète d'un volume logique, ils enregistrent uniquement les modifications apportées au volume cible, ils ne contiennent pas les données de celui-ci ; de plus ils ne sont pas persistants, c’est-à-dire qu'ils disparaissent en cas de redémarrage de la machine.
Taille des snapshots 
une idée très répandue veut que la taille d'un snapshot doit être égale à environ 15-20 % de la taille du volume logique cible. Ces approximations sont totalement infondées, la taille nécessaire à un snapshot' dépendant de l'activité en écriture sur le volume logique cible pendant la durée de vie de ce snapshot. La suppression de toutes les données sur le volume logique cible demandera par exemple un snapshot d'une taille au moins égale à la taille du volume logique cible. La taille d'un snapshot doit donc être calculée suivant l'estimation du volume de données écrit sur le lecteur cible pendant la durée de votre sauvegarde. Dans la plupart des cas cela nécessitera bien moins de 15 %…

Partitions et systèmes de fichiers

Les partitions et systèmes de fichiers (filesystems) ne font pas partie de LVM.

Une partition peut être utilisée en volume physique, un système de fichiers doit être installé sur un volume logique pour pouvoir être monté et utilisé.

Agrandissement et réductions

Il est possible d'ajouter des PV à chaud dans des VG, mais un PV doit être inutilisé (aucune donnée) pour être retiré d'un VG.

Il est possible d'agrandir ou réduire des LV, mais les filesystems installés dessus doivent prendre en charge cette opération. De nombreux filesystems prennent en charge l'agrandissement et la réduction à chaud, à défaut il doit être démonté (donc interruption de service) pour subir cette opération.

Fonctionnalités

Les disques durs peuvent être locaux (branchés dans le serveur) ou distants, sur un SAN (Storage Area Network) ou un DAS (Direct Attach Storage) sous forme d'unités logiques (auxquelles on a associé des LUN, Logical Unit Number).

L'intérêt du LVM est que l'on peut modifier la taille des volumes logiques sans perte de données (voire à chaud dans le cas d'un agrandissement sur ext2, ext3 et reiserFS). Le démontage préalable est tout de même recommandé pour ext2 et ext3.

Pour reiserFS, le rétrécissement est aussi possible à chaud.

Exemples

Les logiciels libres LVM1, LVM2 et EVMS[1] sous Linux sont des exemples de Volume Managers, comme les logiciels propriétaires LVM de HP-UX ou Veritas Enterprise (VxVM) sous HP-UX et Solaris.

LVM2

Les commandes usuelles de LVM2

Avant d'utiliser LVM, il faut partitionner les disques (voir Outils de partitionnement) en type LVM.

Ensuite,

  • Pour les volumes physiques : pvcreate, pvscan, pvs, pvdisplay, pvremove, pvmove, pvchange
  • Pour les groupes de volume : vgcreate, vgdisplay, vgscan, vgs, vgck, vgremove
  • Pour les volumes logiques : lvcreate, lvmdiskscan, lvs, lvdisplay, lvremove, lvextend
  • Pour la sauvegarde/restauration de la structure LVM : vgcfgbackup, vgcfgrestore

Exemples concrets d'utilisation

Changement d'un disque défectueux

Votre serveur sous Linux contient deux disques durs qui partagent un volume groupe commun appelé ici henryvg (LVM) : l'un, nommé A, de 40 Go natif avec l'achat du PC, l'autre, B, de 80 Go acheté suite à un besoin de place. En achetant ce nouveau disque, vous avez créé au moins une grande partition de type « 8e - Gestion par volumes logiques » ; soit /dev/hdb6 son nom. Tout comme la partition /dev/hda6 du disque A, cette partition hdb6 avait été incorporée (au moment de l'achat du second disque) au volume groupe henryvg.

L'un des deux disques donne des signes de défaillance et une commande fsck a créé, à répétition, un fichier lost+found sur un ou plusieurs volumes logiques. Un de vos disques est donc défaillant ; le noyau doit avoir signalé dans un fichier warnings (par exemple sous /var/log/kernel) de quel disque, hda ou hdb, il s'agit. Supposons qu'il s'agisse du disque B qu'on doit remplacer par un disque d'une taille au moins égale, nommé C.

L'intérêt d'une « gestion par volumes logiques » réside dans le fait que les temps de déconnexion du serveur peuvent être minimes. Ils resteront néanmoins supérieurs à un serveur sous AIX par exemple, où il est possible de changer le disque à chaud ce qui n'est pas possible sur un PC de base. La procédure suivante peut être appliquée :

  • faire une sauvegarde des partitions de votre serveur (si vous avez une coupure de courant au cours de l'opération, vous risquez d'être embarrassé) ;
  • éteindre votre PC, puis ajouter le nouveau et troisième disque C, par exemple sur la nappe du DVD ;
  • allumer de nouveau votre serveur (il sera de nouveau opérationnel tout au long de l'opération), puis créer une ou plusieurs partitions sur /dev/hdc sous une forme analogue à celles du disque défectueux /dev/hdb. Soit /dev/hdc6 la grande partition de type 8e - LVM. Les commandes de lvm2 sous root sont alors les suivantes :
  1. lvm2 pvcreate /dev/hdc6 # de manière à créer un descripteur de groupe de volume en tête de la partition /dev/hdc6 ;
  2. lvm2 vgextend henryvg /dev/hdc6 # de manière à incorporer la partition physique hdc6 au groupe de volume henryvg ;
  3. lvm2 pvmove /dev/hdb6 # de manière à déplacer le contenu du « disque physique » B (et dans tous les volumes logiques créés sur votre serveur comme /usr, /var, /home etc.) sur les autres disques A et C. Cette étape peut être longue en fonction de la taille du disque, 45 minutes pour 40 Go par exemple ;
  4. lvm2 vgreduce --removemissing henryvg /dev/hdb6 # de manière à ôter le disque B de la gestion LVM (henryvg) ;
  5. le disque B peut alors être enlevé lors d'un prochain redémarrage. Le disque C sera alors mis en place du disque défectueux B (même endroit sur la nappe par exemple, même paramétrage) avant de rallumer le PC. En effet, l'ensemble de la configuration ayant été transféré à C, le serveur fonctionnera à l'identique sans aucune autre intervention ;
  6. il conviendra néanmoins de restaurer les fichiers qui avaient été endommagés par le disque défectueux et qui se trouvent sous le répertoire lost+found de chacun des volumes logiques (partitions dans l'ancien jargon).
Augmentation de la taille d'une partition à chaud

Avec les derniers noyaux de Linux (2.6.22 au moins), il est possible d'augmenter à chaud la taille d'une partition, sans même la démonter (du moins pour une partition de type ext3). Soit ainsi une partition ou volume logique de nom /dev/henryvg/homelv monté sur /home. La commande df (disk free) vous donne sa taille actuelle :

  # df /home
  Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
  /dev/mapper/henryvg-homelv
                         25G   20G  3,7G  85% /home

Notez qu'il est fréquent sur certains systèmes qu'un mapper réalloue /dev/henryvg/homelv en /dev/mapper/henryvg-homelv, mais il s'agit des mêmes noms. On souhaite augmenter la partition de 25 Go à 30 Go :

  • Il faut d'abord augmenter la taille du volume logique par la commande :
    # lvm2 lvextend -L30G /dev/henryvg/homelv
  • et dans un deuxième temps augmenter la taille de la partition elle-même. S'il s'agit d'une partition de type ext3, la commande est :
    # resize2fs -p /dev/henryvg/homelv
La taille s'ajustera automatiquement à celle du volume logique.
Réduction d'une partition
  • Il faut tout d'abord réduire la taille de la partition elle-même avant celle du volume logique.
Mais pour réduire cette partition, il faut auparavant démonter cette partition. Cela n'est parfois pas possible car elle est occupée par des processus qu'il faut tuer. En général, il est plus rapide d'utiliser un disque de démarrage Linux comme Knoppix ou un Mandriva (il faut dans ce dernier cas aller jusqu'à l'étape d'une nouvelle installation et demander un partitionnement manuel) qui charge les modules lvm. Une fois cette partition démontée et pour réduire un volume logique /dev/henryvg/homelv de 30 Go à 25 Go, il faut appliquer la commande :
     # resize2fs -p /dev/henryvg/homelv 25G
  • Puis il faut réduire le volume logique par la commande (notez qu'il faut spécifier la taille) :
     # lvm2 lvreduce -L25G /dev/henryvg/homelv
Si tout se passe bien, on peut alors monter la partition par la commande :
     # mount -t ext3 /dev/henryvg/homelv /home

Bien évidemment, par précaution il faut avoir des sauvegardes de vos données avant de se lancer dans ce genre d'opération.

Fichiers de configuration

  • lvmtab (créé initialement par la commande vgscan).
  • lvm.conf

Divers

Le type de système de fichiers pour un volume logique de type LVM est : 8e (en hexadécimal).

Notes

  1. (en) EVMS

Liens externes

Ce document provient de « Gestion par volumes logiques ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article LVM de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать курсовую

Regardez d'autres dictionnaires:

  • LVM — es una implementación de un administrador de volúmenes lógicos para el kernel de linux. Se escribió originalmente en 1998 por Heinz Mauelshagen, que se basó en el administrador de volúmenes de Veritas usado en sistemas HP UX. LVM incluye muchas… …   Enciclopedia Universal

  • LVM — can stand for: * Logical volume management, a method of transparently storing computer data spread over several partitions * Logical Volume Manager, an implementation of logical volume management in the Linux kernel * Ludwig von Mises Institute,… …   Wikipedia

  • LVM — Менеджер логических томов (англ. Logical Volume Manager) менеджер логических томов операционных систем Linux и OS/2. LVM это метод распределения пространства жёсткого диска по логическим томам, размер которых можно легко менять, в отличие от …   Википедия

  • Lvm — Die Abkürzung LVM hat unterschiedliche Bedeutungen. Sie steht für: Eine Abstraktionsebene im UNIX / Linux Umfeld, siehe Logical Volume Manager Eine Versicherungsgruppe, siehe LVM Versicherungen Linksventrikuläre Masse Die Dateiendung .lvm… …   Deutsch Wikipedia

  • LVM — Die Abkürzung LVM hat unterschiedliche Bedeutungen. Sie steht für: Eine Abstraktionsebene im UNIX / Linux Umfeld, siehe Logical Volume Manager Eine Versicherungsgruppe, siehe LVM Versicherung Linksventrikuläre Masse Die Dateiendung .lvm (LabVIEW… …   Deutsch Wikipedia

  • LVM Versicherungen — Landwirtschaftlicher Versicherungsverein Münster a.G. Unternehmensform Versicherungsverein auf Gegenseitigkeit Gründung …   Deutsch Wikipedia

  • LVM Versicherung — Landwirtschaftlicher Versicherungsverein Münster a.G. Rechtsform Versicherungsverein auf Gegenseitigkeit Gründung 1896 in Münster …   Deutsch Wikipedia

  • LVM Gang — Infobox Criminal organization name = LVM (Luzon Visayan Mobsters) years active = 1980s to late 1990s territory = San Gabriel Valley, La Palma, Cerritos, Fullerton ethnicity = Asian membership = 300 to 500 activities = Assault, Extortion, Home… …   Wikipedia

  • LVM — Logical Volume Manager (Computing » Networking) ** Logical Volume Management (Computing » Networking) * Local Vibrational Mode (Academic & Science » Electronics) * Line Verification Module (Computing » Telecom) * Lazy Virtual Machine (Computing » …   Abbreviations dictionary

  • LVM — left ventricular mass; left ventricular mass index …   Medical dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”