Gestion des partitions avec LVM

LVM (Logical Volume Manager) va nous permettre de gérer des volumes logiques de façon à avoir une gestion de stockage souple en pouvant agrandir des volumes sans se soucier de leur emplacement.

Publié le 16/11/2014

LVM (Logical Volume Manager) va nous permettre de gérer des volumes logiques de façon à avoir une gestion de stockage souple en pouvant agrandir des volumes sans se soucier de leur emplacement.

On va travailler dans une VM Virtual Box sur une Debian 7.6. On va créer avec Virtual Box un nouveau disque.

Installation du paquet LVM :

sudo apt-get install lvm2

Un physical volume (PV) représente un disque ou une partition.

Un volume groupe (VG) représente un ensemble de physical volumes.

Un volume logique (LV) va contenir le système de fichier (FS).

Remarque : éviter de mettre /boot dans un LVM. Cela peut rendre instable le démarrage du système.

Commandes :

vgdisplay : affiche la liste des volume groups

pvdisplay : affiche la liste des physical volumes

lvdisplay : affiche la liste des logical volumes

vgs : affiche la taille des volumes groupes

pvs : affiche la taille des physical volumes

lvs : affiche la taille des logical volumes

1 - Création d'un logical volume

Affichage des disques :

fdisk -l

On doit voir le disque créé avec VirtualBox :

Disque /dev/sdb : 8589 Mo, 8589934592 octets 255 têtes, 63 secteurs/piste, 1044 cylindres, total 16777216 secteurs Unités = secteurs de 1 * 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Identifiant de disque : 0x00000000

Vérification de l'espace disponible :

vgdisplay

Ajout de disques physiques :

pvcreate /dev/sdb

Vérifier que le physical volume est bien crée avec un pvdisplay.

2 - Création d'un volume group

On va créer un volume group pour le physical volume que l'on vient de créer.

vgcreate mysql /dev/sdb

Vérifier que le volume group est bien crée avec un vgdisplay.

3 - Création d'un logical volume

On va créer un logical volume dans le volume group mysql :

lvcreate -n DbVol1 -L 5g mysql

Vérifier que le logical volume est bien crée avec un lvdisplay.

4 - Création d'un file system pour le logical volume et montage

On va créer un file system pour le logical volume DbVol1 :

mkfs -t ext4 /dev/mysql/DbVol1

Création d'un point de montage et montage de la partition :

mkdir /DbStorage1 mount /dev/mysql/DbVol1 /DbStorage1

5 - Suppression d'un logical volume

On peut supprimer la partition montée de la façon suivante :

umount /DbStorage1 lvremove /dev/mysql/DbVol1

On peut supprimer les physical volumes et volume groups avec les commandes suivantes :

pvremove vgremove

6 - Etendre la capacité d'un logical volume

On peut étendre la capacité d'un logical volume avec les commandes suivantes, df -h va nous permettre de voir la nouvelle taille de notre partition :

lvextend -L +1G /dev/mysql/DbVol1 resize2fs /dev/mysql/DbVol1 df -h

7 - Création de snapshot d'un logical volume

On va pouvoir réaliser des sauvegardes d'un volume en faisant un snapshot de ce dernier :

lvcreate -L 1G -s -n Snap1DbVol1 /dev/mysql/DbVol1

On va trouver le snapshop réalisé dans /deb/mysql/ et on va pouvoir le faire monter si l'on souhaite accéder à son contenu :

mkdir /DbStorage1BackUP mount /dev/mysql/Snap1DbVol1 /DbStorage1BackUP