cours LVM

vendredi 19 septembre 2008
par  Jerome ROBERT
popularité : 1%

Présentation du gestionnaire de disque logique (LVM)

Terminologie

Voici la signification de quelques abréviations utilisées
et définies dans la suite de ce chapitre :

 

PV (Physical Volume) : disque physique

VG (Volume Group) : groupe de volumes

LV (Logical Volume) : volume logique

PE (Physical Extend) : extension physique

LE (Logical Extend) : extension logique

FS (File Sytem) : système de fichier

Introduction

L’objectif du LVM est de simplifier la gestion de l’espace
disque pour l’administrateur, et de s’affranchir d’un certain nombre de
contraintes imposées par l’utilisation « classique Â » des disques.

 

Dans une configuration classique, les disques physiques sont
découpés en partitions (on parle aussi de sections), chacune d’elle pouvant
soit servir de swap, soit servir de système de fichier (FS) après formatage.
Une fois ce découpage effectué, il n’est plus possible de le modifier sans
perdre les données stockées sur le disque.

De plus, la taille d’une partition quelconque (et donc
celle d’un fichier) ne peut excéder la taille d’un disque.

Le LVM va nous permettre de gérer de manière beaucoup plus
souple l’espace disque, en particulier en permettant (en standard) :

  • un redimensionnement d’une partition (sans perte de
    données en cas d’extension),

  • la création de FS d’une taille supérieure àcelle
    d’un disque,

  • la gestion du stripping (SDS pour Software Disk
    Stripping).

Des extensions logicielles en option permettent en outre la
gestion :

  • du mirroring (produit HP MirrorDisk/UX),

  • des opérations de redimensionnement de manière
    dynamique (FS utilisés).

Principe du LVM

LVM est une couche logicielle permettant d’interfacer les
disques et les applications (son utilisation ne requière donc pas d’applications
spécifiques).

LVM gère les PV au sein d’un ou plusieurs VG ; ce VG
est vu comme un unique disque logique, dont la taille est égale àla somme des
tailles de chacun des disques qui le compose. Un PV ne peut appartenir qu’à
un seul VG.

Dans cet espace global, l’administrateur va pouvoir
« tailler Â » des partitions : les LV. Chaque LV va pouvoir être
utilisé comme swap ou comme FS (après formatage). De plus, les LV sont
redimensionnables (sans perte de données en cas d’extension d’un LV
supportant un FS).

 

 

Contenu du chapitre

Dans la suite de cours vont vous être présentées les
principales commandes àutiliser pour gérer le LVM ; il va de soi que l’outil
d’administration SAM (System Administration Manager) permet d’accéder àla

plupart des fonctionnalités du LVM. En général, une seule opération sous SAM
correspond àplusieurs commandes (cf. /var/sam/log/sam.log).

Par ailleurs, un certain nombre de fonctions avancées
(sauvegarde de la configuration, miroring, transfert de VG d’un système vers
un autre, ...) ne sont pas abordées dans ce cours.

La suite de ce cours suit une progression logique, en s’intéressant
d’abord aux disques, puis aux VG et enfin aux LV. La gestion de la swap et des
FS, indépendante du LVM, n’est pas abordée dans le présent cours.

Les volumes physiques (PV)

Avant d’être utilisable par un LVM, un disque doit être
créé :

pvcreate nom_fichier_spécial_en_mode_caractére

Les options utilisables sont les suivantes :

-b nombres correspondant aux index des blocs défectueux

-f supprime le message de confirmation si le disque
contient déjàdes données

-B réserve l’espace nécessaire aux données de boot
(pour les disques bootables)

-t type_disque lit les informations de
configuration dans le fichier /etc/disktab (type_disque est
une entrée de ce fichier ; vous pouvez récupérer le type d’un
disque àl’aide de la commande diskinfo). A utiliser si le driver
ne peut fournir ces informations.

-d soft_defects nombre minimum de blocs réservés
pour la réallocation des blocs défectueux (sauf disques HP-IB)

 

Cette commande a pour effet de réserver un certains nombre d’emplacements
sur le disque :

disque non bootable

 disque bootable

 

 

En-tête LIF (créé par la commande mkboot)  :
contient des informations sur la zone « répertoire LIF .

Physical Volume Reserved Area (créé par la commande
pvcreate) : contient les informations spécifiques au disque.

Répertoire LIF (créé par la commande mkboot) :
contient au moins ISL, HPUX, éventuellement les fichiers LABEL
(créés par lvlnboot)

Volume Group Reserved Area (créée par la commande vgcreate) :
contient les informations relative au groupe de volume. Cette zone est
dupliquée au sein du VG. On y trouve le Volume Group Status Area (VGSA)
qui contient des informations sur le « quorum Â » du groupe, et le Volume
Group Descriptor Area (VGDA)
où se trouvent des informations sur le pilote
de périphérique nécessaire àconfigurer le VG.

Cette zone contient aussi (si nécessaire) la table des
extensions logiques.

Bad Block Reallocation Area : réservée pour le
mécanisme de réallocation des blocs défectueux.

 

La commande diskinfo permet d’obtenir des
informations sur le disque physique.

Les groupes de volumes (VG)

Création

Elle requière en premier lieu la préparation d’un/de
plusieurs PV en tant que volumes physiques LVM. Il faut ensuite procéder en
plusieurs étapes :

Créer un répertoire /dev/vgnn pour le VG, où nn
représente le numéro de groupe de volume (àpartir de 00, numérotation en
séquence).

Créer le fichier spécial group en mode caractère,
utilisé par le noyau et les commandes LVM pour communiquer avec le VG, de la
manière suivante :

mknod /dev/vgnn/group c 64 0xnn0000

Créer le groupe de volume, en lui assignant au moins un
disque :

vgcreate /dev/vgnn /dev/dsk/cntmdp ...

 

Les options utilisables sont :

-e max_pe nombre maximum de PE allouables aux
disques LVM (1016 par défaut).

-l max_lv nombre maximum de LV (255 par défaut).

-p max_pv nombre maximum de PV (32 par défaut).

-s pe_size taille en Mo de la PE (de 1 à256 par
puissance de 2, 4 par défaut).

Consultation

Il est possible de contrôler le résultat de la
création :

vgdisplay /dev/vgnn

 

Un disque inclus dans un VG peut aussi être consulté :

pvdisplay /dev/dsk/cntmdp

 

Pour ces deux commandes, l’option -v permet d’obtenir
une sortie détaillée.

Extension

On peut ajouter des disques LVM àun VG existant, afin d’accroître
le nombre de PE disponibles :

vgextend /dev/vgnn /dev/dsk/cntmdp

Réduction

Il est possible de retirer un disque d’un groupe de volume.
Attention toutefois au cas où le disque que vous souhaitez enlever contient des
données (transférez les avec la commande pvmove). Puis :

vgreduce /dev/vgnn /dev/dsk/cntmdp

Suppression

vgremove /dev/vgnn

Le VG ne doit contenir :

aucun LV

un seul PV

Les volumes logiques (LV)

Création

Il est nécessaire de créer au moins un LV dans les VG afin
d’exploiter l’espace disque. Fonctionnellement, un LV correspond àune
partition qui va contenir soit du swap, soit des fichiers (organisés au sein d’un
FS).

En l’absence de miroring, LVM associe àchaque LE une PE
sur un disque (pas forcément consécutives). La taille d’une LE est donc
égale àcelle d’une PE.

lvcreate -L 40 /dev/vgnn # création d’un lv de 40
Mo

lvcreate -l 10 /dev/vgnn # création d’un lv de 10
LE

Les options disponibles sont :

-L size taille en Mo, arrondie au multiple de la
LE supérieure la plus proche.

-l le_size taille en nombre de LE.

-p perm permissions (w par défaut).

-n name nom personnalisé (par défaut, lvolx,
où x est un entier non nul incrémenté séquentiellement).

-r realloc réallocation des blocs défectueux,
active par défaut. Pour la désactiver, préciser -r n.

-C contiguous allocation contigüe (les PE d’un
LV sont alloués séquentiellement sur un PV), inactive par défaut.
Stipuler -C y pour l’activer. Obligatoire pour les LV root et la
swap primaire.

-i stripe nombre de PV où sont situées les PE.

-I stripe_size taille d’un « stripe Â »,
de 4Kb à64Kb par puissance de 2 (16Kb par défaut).

Consultation

lvdisplay /dev/vgnn/lvolx

L’option -v permet d’obtenir davantage d’informations
(disque(s) utilisé(s), index des blocs, ...).

Extension

lvextend -l size /dev/vgnn/lvolx

Le paramètre size est la nouvelle taille, et doit
donc être supérieur àla taille courante. Si le LV contient un FS, ce dernier
doit être démonté (et son extension devra être effectuée après celle du
LV).

Réduction

lvreduce [-f] -l size /dev/vgnn/lvolx

Le paramètre size est la nouvelle taille, et doit
donc être supérieur àla taille courante. Une confirmation est demandée si l’option
-f n’est pas utilisée. ATTENTION, toutes les données d’un éventuel
FS seront perdues.

Suppression

lvremove [-f] /dev/vgnn/lvolx


Statistiques

Dernière mise à jour

mardi 9 novembre 2021

Publication

275 Articles
Aucun album photo
Aucune brève
6 Sites Web
2 Auteurs

Visites

98 aujourd’hui
238 hier
904278 depuis le début
5 visiteurs actuellement connectés