Lvm

Un article de MemoWiki.

Sommaire

LVM – mise en oeuvre

Ce document décrit l'utilisation de LVM. Il s'agit d'un aide mémoire plutôt que d'un document de référence. La distribution utilisée est CentOS 4.1 avec un noyau 2.6.9 release 11.EL.


Ce document suppose la présence de deux petits disques de 128 Mo. Ici, il s'agit de disque ajoutés sur une machine virtuelle. Il serait possible de simuler des disques physiques en utilisant la commande dd (voir annexes).

  • Le volum group créé se nomme volGroupFbt.
  • Le volume logique créé se nomme lvfbt1.
  • Le point de montage de la partition correspondante se nomme /fbt1.

Préparation des partions

Dans l'exemple ci-dessous, les disques sont marqués pour lvm directement sans créer de partition. Ce mode de fonctionnement peut être dangereux à posteriori, car les outils comme fdisk ou parted considèrent les disques inutilisés. Il est préférable de créer une partition sur les disques et de positionner le drapeau lvm sur celle-ci, puis de faire le pvcreate sur cette partition identifiée comme lvm.

Vérifications des disques disponibles

sfdisk -l
lvmdiskscan

Création des volumes physiques

pvcreate /dev/sdb
pvcreate /dev/sdc

Vérification

pvscan
pvdisplay

Création du volume group

vgcreate VolGroupFbt /dev/sdb /dev/sdc

Vérification

vgdisplay VolGroupFbt -v


Création d'un volume logique

Création d'un volume logique de 64 Mo dans le volume group volgroupFbt

lvcreate -L 64M -n lvfbt1 volGroupFbt

Etendre un logical volume

lvextend -L+256 /dev/volgroup/lvol

créer un systeme de fichier sur un logical volume

mkfs.ext3 -j /dev/volGroupFbt/lvfbt1

montage du volume

creation d'un point de montage

mkdir /fbt1

montage du volume

mount /dev/volGroupFbt/lvfbt1 /fbt1

Vérification

mount

Rendre le montage persistent

modifier le fichier /etc/fstab pour ajouter la ligne correspondante au point de montage

/dev/volGroupFbt/lvfbt1 /fbt1           defaults 1 1

Vérifier le fonctionnement

umount /fbt1
mount

recharger les liens du fstab

mount -a
mount

Modification des volume groups et des logical volumes

L'intéret de LVM et de pouvoir modifier la taille des volumes sans avoir à réinstaller le système de fichiers, voire de faire ces modifications pendant la production.

Extension d'un volume group

Il est possible d'ajouter un volume physique à un volum group existant.

vgextend volGroupFbt /dev/sdc

Réduction d'un volume group

Il est possible de supprimer un disque d'un volume group à condition qu'il ne soit pas utilisé. Il faudra déplacer les données le cas échéant avec pvmove.

vgreduce volGroupFbt /dev/sdc

Extension d'un volume logique

Il est possible d'affecter de l'espace supplémentaire à un volume logique. Il faudra aussi redimensionner le file system linux pour prendre en compte ce nouvel espace. Cette opération peut être faite à chaud avec ext2online. Extention du volume logique

lvextend -L +20M /dev/volGroupFbt/lvfbt1

Extention du file system

ext2online /dev/volGroupFbt/lvfbt1 84M

Réduire la taille d'un volume logique

Il faut réduire dans un premier temps la taille du file system contenu. Cette opération implique de démonter la partition

umount /fbt1
e2fsck -f /dev/dev/volGroupFbt/lvfbt1
resize2fs /dev/dev/volGroupFbt/lvfbt1 64M
mount /fbt1

Déplacement des données d'un volume physique vers un autre

Il est possible de déplacer les données d'un volume physique vers un autre appartenant au même volume groupe. Il est possible de remplacer de cette manière un disque par un autre de capacité supérieure ou même de consolider plusieurs petits volumes physiques sur un plus important.

pvmove /dev/sdb /dev/sdd

On peut ensuite supprimer /dev/sdb du volum group:

vgreduce volGroupFbt /dev/sdb

Il restera à étendre le volume logique et le file system comme décrit plus haut.

Outils personnels