cours LVM

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

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,
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

mercredi 5 juillet 2017

Publication

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

Visites

79 aujourd’hui
183 hier
544659 depuis le début
6 visiteurs actuellement connectés