Ubuntu Server - Gérer les volumes avec LVM
![]() |
Difficulté : Intermédiaire Notions : Ubuntu, CLI, partitions, formatage, points de montage. |
I. Introduction
Cette procédure à pour but d’expliquer la détection, le partitionnement, le formatage et le montage d’un nouveau disque sur Ubuntu Server en utilisant LVM.
LVM (Logical Volume Manager, ou gestionnaire de volumes logiques en français) permet la création et la gestion de volumes logiques sous Linux. L'utilisation de volumes logiques remplace en quelque sorte le partitionnement des disques. C'est un système beaucoup plus souple, qui permet par exemple de diminuer la taille d'un système de fichier pour pouvoir en agrandir un autre, sans se préoccuper de leur emplacement sur le disque.
Il permet notamment de redimensionner les partitions de disques sans reformatage. Il permet également de rajouter des disques à la volée.
Avantages de LVM
-
Il n'y a pas de limitations « étranges » comme avec les partitions (primaire, étendue, etc.).
-
On ne se préoccupe plus de l'emplacement exact des données.
-
On peut conserver quelques giga-octets de libres pour pouvoir les ajouter n'importe où et n'importe quand.
-
Les opérations de redimensionnement deviennent quasiment sans risques, contrairement au redimensionnement des partitions.
-
On peut créer des snapshots de volume sans perturber le fonctionnement de la machine et sans interruption de services.
Inconvénients de LVM
-
Si un des volumes physiques devient HS, alors c'est l'ensemble des volumes logiques qui utilisent ce volume physique qui sont perdus. Pour éviter ce désastre, il faudra utiliser LVM sur des disques raid par exemple.
Pré-requis
- Un disque ou une partition libre.
-
Ne pas avoir peur de la ligne de commande.
Il est possible d'utiliser LVM sur des volumes raid logiciels : Ubuntu Server - Paramétrer le RAID Logiciel
II. Détecter les partitions
Pour avoir un status actuel de l'utilisation des disques et partitions :
df -H
Il faut donc ajouter de l'espace disque.
Le disque a ici été agrandi de 10Gb.
Un nouveau disque de 20Gb a été ajouté.
Détecter les disques et partitions avec la commande suivante :
lsblk
III. Initialiser le Nouveau Volume
3.1 Initialiser le volume physique
Initialiser le volume physique avec lvm :
pvcreate /dev/sdb
Il est maintenant possible de voir les deux volumes physiques.
pvdisplay
3.2 Initialiser le volume group
Initialiser le volume group avec la commande :
vgcreate <nomDuVG> /dev/sdb
3.3 Initialiser le volume virtuel
Créer le volume et lui attribuer l'espace :
lvcreate -n <nom> -L <tailleAvecUnité> <volumeGroupName>
3.4 Formater le volume
Utiliser la commande suivante :
mkfs -t <typeFileSystem> <chemin/vers/volumelogique>
3.5 Monter la partition
3.5.1 Montage 'one time'
Utiliser la commande suivante :
mount <volume> </point/de/montage>
Pour démonter ensuite le volume : umount <volume>
3.5.2 Montage persistant
Pour que le volume soit monté au démarrage, il faut l’ajouter dans le fichier ‘fstab’.
Éditer le fichier :
vi /etc/fstab
Ajouter a la fin la ligne suivante en séparant chaque bloc avec des tabulations :
<volume> <point de montage> ext4 defaults,auto,_netdev 0 0
Sauvegarder et quitter. Puis redémarrer la machine. Le disque sera monté au redémarrage.
IV. Étendre un volume
Pour étendre un volume en rajoutant de l'espace physique, ajouter un ou des disque(s) et répéter l'opération d'initialisation du volume physique autant de fois que nécessaire.
4.1 Étendre un volume group
Suite à un ajout de disque
Une fois les nouveaux disques ajoutés et initialisés, pour les ajouter au volume group :
vgextend <nomDuVolumeGroup> </chemin/vers/volumephysique>
Suite à l'extension d'un disque existant
Si le système ne voit pas la nouvelle capacité de disque sur un lsblk, utiliser la commande suivante pour rescanner les disques :
echo '1' > /sys/class/scsi_disk/<iscsidiskID>/device/rescan
Puis faire :
pvresize /dev/<disque à resizer>
4.2 Étendre un volume virtuel
Vérifier l'espace libre sur les volumegroups, regarder le volumegroup du volume logique à augmenter:
vgs
Puis étendre le volume :
- Soit en ajoutant une certaine quantité d'espace :
lvresize --resizefs --size +<TailleUnite> </chemin/du/volume>
- Soit en utilisant tout le volume disponible
lvextend -l +100%FREE </chemin/du/volume>
4.3 Étendre le filesystem
Une fois le volume logique étendu, il faut adapter le filesystem pour lui dire de prendre toute la place disponible sur le LV.
resize2fs /dev/<NomDeVG>/<NomDeLV>
















