Gestion LVM

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 5

Logical Volume Manager

I. Présentation

Nous allons ici étudier le fonctionnement et la mise en place de LVM (Logical Volume
Manager). Sous Linux, il faut voir les LVM comme une couche d’abstraction entre les
disques physiques (que l’on appellera PV pour Physical Volume) et les points de montages
typiques à Linux (/root, /, /var, etc..). De façon basique, on peut voir le montage des partitions
de la façon suivante :

De façon très simple on a un disque dur avec une ou plusieurs partitions sur laquelle on monte
nos points de montage. Cependant cela pose plusieurs problèmes comme l’impossibilité
d’étendre un point de montage (/var par exemple) car celui-ci dépendra de la taille de la
partition sur laquelle il est monté. Le but de LVM est d’apporter une plus grande flexibilité
des espaces de stockage.
Vocabulaires :
 PV : Physical Volume, c’est un disque physique. Le plus souvent on parle de partition car un
disque (/dev/sdb par exemple) doit contenir au moins une partition (nommée /dev/sdb1) pour
faire partie d’un VG. Toutes les commandes permettant de gérer les PV commencent par "pv"
 VG : Volume Group, c’est un ensemble de PV mis en commun, on concatène l’ensemble des
PV pour en faire un gros volume que nous pourrons séparer en LV plus tard. Toutes les
commandes permettant de gérer les VG commencent par "vg"
 LV : Logical Volume, c'est un espace défini dans le VG que nous allons délimiter pour y
mettre un système de fichiers. Il s'agit là de l'équivalent des partitions physiques sauf que
celles-ci sont redimensionnables beaucoup plus facilement, nous y mettons nos points de
montage. . Toutes les commandes permettant de gérer les LV commencent par "lv".
Voici un schéma illustrant le fonctionnement des LVM
Comme nous le voyons ici, deux couches sont ici ajoutées afin de permettre une plus grande
flexibilité de nos points de montages. On va ici grouper les volumes physiques (PV) dans un
Volume Groupe puis rediviser ce Volume groupe en plusieurs parties, les Logical Volume,
qui pourront facilement être redimensionnées par la suite, c'est sur ces Logical Volume que
nous allons mettre notre système de fichiers puis nos points de montage. Dans le principe de
gestion des disques physiques, cela ressemble au RAID JBOD (Just a Bunch of Disk) qui
consiste à mettre à la suite plusieurs disques durs, avec les inconvénients que cela amène.
Notons toutefois qu'il est possible de faire du RAID mirroring entre plusieurs Volume group
pour palier aux problème de pertes de disque dur physique.

II. Création d’une structure LVM

Nous allons maintenant passer à la mise en place d'une structure LVM simple comprenant
deux disques durs, un volume group que nous nommerons "VG01" et deux volumes logiques
que nous nommerons volume1 et volume2, ceux-ci seront montés dans /data/volume1 et
/data/volume2 en EX4.
On commence par installer l'ensemble des commandes qui vont nous permettre la gestion des
LVM :
apt-get install lvm2
ou
yum install lvm2
Note : Pour créer un LV depuis un disque ou une partition (par exemple ici le
disque /dev/sdc et sa seule partition /dev/sdc1), il faut avoir créé cette partition en
utilisant fdisk.
La commande « fdisk –l » permettra de voir les disques et partitions du système et donc de
voir ceux non utilisés ou ceux qui viennent d’être ajoutés.
On voit
par exemple ici notre disque /dev/sdb mais on ne voit pas de partition valide sur celui-ci, il ne
peut donc pas être mis en tant que PV dans un VG
Nous allons maintenant créer des partitions uniques sur nos deux disques
durs "sdb" et "sdc". Pour créer une partition qui sera formatée pour travailler en LVM, on
utilise la commande suivante :
fdisk /dev/sdb
Puis :
n e8

«e8 »
est le code de partitionnement pour les Linux LVM. On peut voir ces codes en saisissant (l)
On sélectionne ensuite le numéro de partition ainsi que sa taille et on écrit sur le disque les
changements via « w ». Une fois les données validées, on pourra visionner à nouveau nos
partitions avec "fdisk -l" :

On voit
ici qu'une nouvelle partition est présente sur notre disque. On doit avoir au moins une
partition valide au bon format pour en faire un Physical Volumepouvant intégrer un VG.
Il faut bien sûr effectuer la même manipulation pour le deuxième disque (sdc). Une fois cela
fait, on peut faire de nos partitions /dev/sdb1 et /dev/sdc1 des PV qui pourront être intégrés à
un VG :
pvcreate /dev/sdb1
pvcreate /dev/sdc1

Il est possible de visionner les PV disponibles et créés via la commande suivante :


pvdisplay
On pourra alors ensuite créer notre Volume Group qui se nommera "VG01" en y intégrant
directement nos partitions :
vgcreate VG01 /dev/sdb1 /dev/sdc1
Il est possible de visionner les VG disponibles et créés via la commande suivante :
vgdisplay

On voit ici le nom du VG et son format. Une autre information intéressante est le
« Metadata » qui sert à afficher le nombre de PV qui compose le VG, ici 2 PV. On a
également sa taille totale, le cumul de la taille de tous les PV (20 Go). Enfin, on va pouvoir
créer nos LV :
lvcreate -n Volume1 -L 1g VG01
lvcreate -n Volume2 -L 2g VG01
Ici, on créer un LV nommé "Volume1" qui fait 1Go et un autre nommé "Volume2" qui fait
2Go. On pourra retrouver nos LV dans /dev/, par exemple :
On pourra à partir de là les formater pour y mettre notre système de fichier (ext4 dans notre
cas) :
mkfs -t ext4 /dev/VG01/Volume1
mkfs -t ext4 /dev/VG01/Volume2
Puis monter nos LV dans les dossiers que nous allons également créer :
mkdir /Volume1
mkdir /Volume2
mount /dev/VG01/Volume1 /Volume1
mount /dev/VG01/Volume2 /Volume2
On pourra vérifier les points de montages présents et les espaces via la commande suivante :
df -h

III. Étendre un Volume Group :

Nous allons ici voir comment ajouter un disque dur dans un VG existant puis étendre
notre LV ainsi que notre point de montage final (Vol1). C’est une procédure qui peut
s’effectuer à chaud sur la plupart des systèmes. On partitionnera notre disque via « fdisk »
comme fait en début de ce tutoriel puis on fera de cette partition un PV via pvcreate :
pvcreate /dev/sdd1
On va ensuite ajouter notre PV dans le VG01 déjà existant :
vgextend VG01 /dev/sdd1
On va ensuite étendre notre LV Volume2 en y ajoutant 5Go :
lvresize -L +5g /dev/VG01/Volume2 # redimensionnement du volume
resize2fs /dev/VG01/Volume2 # redimensionnement du système de fichier
On vient ici d’ajouter 5Go au LV puis de redimensionner le système de fichier, l'un ne vas pas
sans l'autre.

Vous aimerez peut-être aussi