La gestion logique des volumes fournit une vision de plus haut-niveau de l'espace disque sur un ordinateur que la vue traditionnelle des disques et des partitions. Cela offre à l'administrateur plus de souplesse pour allouer du stockage aux applications ou aux utilisateurs.
Les volumes de stockage créés sous le contrôle du gestionnaire logiques de volumes (LVM) peuvent être redimensionnés et déplacés presque à volonté.
Il existe plusieurs types :
Avant toute chose, il faut installer le paquet requis : apt install lvm2
Rappel : les volumes physiques sont les disques durs physiques, RAID, ... Cette commande va rendre les volumes disponibles pour la création du LVM.
Syntaxe :
pvcreate /dev/disque
Création :
pvcreate /dev/sdX
pvcreate /dev/sdY
Il y a deux possibilités sur la création des disques physiques:
- On prend tout le disque
- On crée une partition dédiée au LVM
Nous l'aurez compris, il faut répéter cette commande pour tous les disques durs devant être mis dans le cluster LVM.
On vérifie ensuite avec la commande pvdisplay
.
Rappel : Un groupe de volume va permettre de rassembler plusieurs volumes physiques pour n'en faire qu'un. Par exemple, pour 3 disques dur de 1To, on peut créer un groupe sur ces 3 disques, puis créer une partition de 3To si on en a besoin.
Syntaxe :
vgcreate nomGroupe /dev/disque1 /dev/disque2 /dev/disqueX
Création d'un groupe test
avec les disques sda et sdb :
vgcreate test /dev/sda /dev/sdb
On vérifie avec la commande vgdisplay
Syntaxe :
lvcreate -n nomVolume -L taille<m/g> nomGroupe
Création de deux volumes logiques : sauvegarde et données :
lvcreate -n sauvegarde -L 50g test
lvcreate -n données -L 500g test
Syntaxe :
mkfs -t <type> /dev/nomGroupe/nomVolume # On formatte la partition
mkdir /chemin/montage # On crée le chemin pour recevoir le montage
mount /dev/nomGroupe/nomVolume /chemin/montage # On monte la partition dans répertoire
Exemple :
mkfs -t ext4 /dev/test/sauvegarde
mkdir /mnt/sauvegarde
mount /dev/test/sauvegarde /mnt/sauvegarde
pvcreate /dev/sdX
vgextend nomGroupe /dev/sdX
lvresize -L +taille<m/g> /dev/nomGroupe/nomVolume # Redimentionner le volume
resize2fs /dev/nomGroupe/nomVolume # Redimentionner le système de fichier
umount nomDuMontage
lvresize --size +<taille>G /dev/<nom_groupe_vol>/<vol>
ATTENTION : Pour l'étape suivante, ne pas oublier de mettre la taille à la fin de la commande, sinon le système se mettra en erreur.
resize2fs /dev/<nom_groupe_vol>/<vol> TailleFinale<M/G>
e2fsck -ff /dev/<nom_groupe_vol>/<vol>
ATTENTION : Si la taille de destination du volume est inférieure à la taille utilisée, alors il y a un risque de perte de données. Bien que les outils peuvent vous prévenir si c'est le cas, ce n'est pas obligatoire et il faut rester vigilant.
umount <point-de-montage>
e2fsck -ff /dev/<nom_groupe_vol>/<vol>
ATTENTION : Pour l'étape suivante, ne pas oublier de mettre la taille à la fin de la commande, sinon le système se mettra en erreur.
resize2fs /dev/<nom_groupe_vol>/<vol> Taille<M/G>
lvreduce -L -<taille>G /dev/<nom_groupe_vol>/<vol>
La taille ici correspond à la différence entre la taille initiale et la taille d'arrivée. Le calcul sera donc taille_initiale-taille_finale.
resize2fs /dev/<nom_groupe_vol>/<vol>