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