Changements récents - Rechercher:

Espace Wiki ∂'Alembert
Documentation générale


Espace Guide de survie du SysAdmin
Documentation technique


Espace Guide de survie du Développeur
Pour les développeurs


Espace Institut ∂’Alembert
L'institut


Le Site
À propos du Site
Liste complète des Pages


Aide PmWikiFr

Help PmWiki

GSSA /

Logical Volume Manager

Page mise à jour le 10/10/2014 13:32

Vous êtes dans un espace restreint en écriture. (:numbered-sections format=0.A.1.a:)

Logical Volume Manager [LVM] est à la fois une méthode et un logiciel de gestion de l'utilisation des espaces de stockage d'un ordinateur. 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.


L'architecture LVM

Définitions

Volumes physiques, physical volume ou PV
Les disques durs, partitions de disques durs, volumes RAID ou unités logiques provenant d'un SAN forment des « volumes physiques ».
Groupes de volumes, Volume Group ou VG
On concatène ces volumes physiques dans des « groupes de volumes ». Ces VG sont équivalents à des pseudo-disques-durs.
Volumes logiques, Logical Volume ou LV
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. Les LV sont équivalents à des pseudo-partitions.
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 %. En outre, un facteur très important dans le calcul de l'espace disponible pour le snapshot est la quantité d'opération d'écriture par seconde. Un effacement complet du volume logique attaché nécessitera effectivement 100% d'espace disponible mais pourrait durer plusieurs jours alors que l'utilisation d'un snapshot pour externaliser un backup pendant que le volume principal continue d'être utilisé risque de remplir très rapidement l'espace disponible.


Créer une partition ext2/3/4

Ici, on crée le trio physical volumevolume grouplogical volume et on formate en ext3

  • créer un physical volume sur /dev/sdb
# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
  • créer un volume group vg
# vgscreate vg /dev/sdb
Volume group "vg" successfully created
  • créer une logical volume lv1 prenant 100% du volume group vg
# lvcreate -l 100%FREE -n lv1 vg
Logical volume "lv1" created
  • voir le résultat
# lvscan
...
ACTIVE '/dev/vg/lv1' [9.77 GB] inherit
  • formater la partition en ext2/3/4
# mkfs.ext3 /dev/vg/lv1
(attendre)
  • vérifier la partition
# e2fsck -f /dev/vg/lv1

Étendre une partition ext2/3/2

Là on augmente la taille d'une partition ext3 en ajoutant un nouveau physical volume au volume group et tout ça sans perte de données

partie LVM

  • voir la partition à étendre
# lvscan
...
ACTIVE '/dev/vg/lv1' [9.77 GB] inherit
  • crée le nouveau physical volume
# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created
  • étendre le volume group
# vgextend vg /dev/sdc
  • étendre le logical volume en ajoutant tout l'espace disponible
# lvextend -l +100%FREE lv1
Extending logical volume lv1 to 9,77 GB
Logical volume lv1 successfully resized

partie ext3

  • démonter la partition; redimentionner; remonter
# umount /dev/vg/lv1
# e2fsck -f /dev/vg/lv1
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg/lv1: 11/1149632 files (9.1% non-contiguous), 73934/2297856 blocks
# resize2fs /dev/vg/lv1
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/vg/lv1 to 2560000 (4k) blocks.
The filesystem on /dev/vg/lv1 is now 2560000 blocks long.

Réduire une partition ext2/3/4

Là on diminue la taille d'une partition ext3 sans perte de données

partie ext3

  • démonter la partition; réduire à 5Go;
# umount /dev/vg/lv1
# e2fsck -f /dev/vg/lv1
...
# resize2fs /dev/vg/lv1 5G
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/vg/lv1 to 1310720 (4k) blocks.
The filesystem on /dev/vg/lv1 is now 1310720 blocks long.
# e2fsck -f /dev/vg/lv1
...

partie LVM

  • désactiver le LV
# lvchange -an /dev/vg/lv1
  • réduire le LV
# lvreduce -L5G /dev/vg/lv1
WARNING: Reducing active logical volume to 5,00 GB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv1? [y/n]: y
Reducing logical volume lv1 to 5,00 GB
Logical volume /dev/vg/lv1 successfully resized
  • résactiver le LV
# lvchange -ay /dev/vg/lv1
  • voir si tout va bien
# e2fsck -f /dev/vg/lv1

Partitition « snapshot »

Créer une partitition « snapshot »

après création d'un logical volume, il est possible de créer plusieures « images instantanées » (snapshot) de ce LV. tout d'abord, mettre la LV en read-only (pas obligatoire mais évite les risque de modifucation/curruption du modèle)

# lvchange -pr /dev/vg/lv
  • vérifier l'espace disque libre sur le volume group associé
# vgdisplay /dev/vg|grep Free
Free PE / Size 2293 / 8.93 GB
  • créer le snapshot lv-snap de taille 1024M depuis le logical volume /dev/vg/lv
# lvcreate -s -L1024M -n lv-snap /dev/vg/lv
  • voir les partitions « snapshot »
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
lv vg ori-a- 5,00G
lv-snap vg swi-ao 1,00G lv 0,20

Supprimer une partitition « snapshot »

  • voir les partitions « snapshot »
# lvs -o lv_name,origin,snap_percent
LV Origin Snap%
lv
lv-snap lv 0,20
  • supprimer
# lvremove /dev/vg/lv
Logical volume "lv" successfully removed

Liens Externes

  • A.J. Lewis. « LVM HOWTO ». Disponible en ligne. (consulté le 12 mars 2008)
  • Red Hat, Inc. « LVM Administrator's Guide ». Disponible en ligne. (consulté le 12 mars 2008)
  • fr.wikipedia.org. « Gestion par volumes logiques ». Disponible en ligne. (consulté le 9 oct 2014)
À propos du site Licence Creative Commons Cooked with love in 2014-2023 by pcht
Page mise à jour le 10/10/2014 13:32