Utilisez LVM pour regrouper plusieurs disques de données ou partitions dans un pool de stockage extensible dynamiquement, puis créez des volumes logiques.
Fonctionnement
La création d'un volume logique (LV) comprend quatre étapes :
Créer un volume physique (pvcreate) : Marquez un disque de données pour une utilisation avec LVM.
Créer un groupe de volumes (vgcreate) : Regroupez les PV dans un pool de stockage.
Créer un LV (lvcreate) : Allouez une partition logique à partir du groupe de volumes (VG).
Créer et monter un système de fichiers (mkfs & mount) : Formatez le LV et montez-le sur un chemin d'accès.
Dans cet exemple, deux disques de données de 40 Go (/dev/vdb et /dev/vdc) sont initialisés en tant que PV et ajoutés à un VG nommé vg_01, formant ainsi un pool de stockage de 80 Go. Un LV de 55 Go nommé lv01 est alloué à partir du pool.
Procédure
Étape 1 : Créer un PV
La création d'un PV efface toutes les données présentes sur le disque. Sauvegardez vos données avant de poursuivre.
-
Connectez-vous à l'instance ECS.
Accédez à Console ECS - Instances. Dans le coin supérieur gauche, sélectionnez la région et le groupe de ressources correspondant à la ressource cible.
Sur la page des détails de l'instance, cliquez sur Connect > Workbench et connectez-vous au terminal.
-
Installez l'outil LVM.
Alibaba Cloud Linux et CentOS
sudo yum install -y lvm2Debian et Ubuntu
sudo apt-get install -y lvm2 -
Exécutez
sudo lsblk -fpour identifier les noms des périphériques cibles.sudo lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINT vda ├─vda1 ├─vda2 vfat 7938-FA03 /boot/efi └─vda3 ext4 root 33b46ac5-7482-4aa5-8de0-60ab4c3a4c78 / vdb vdc vdd └─vdd1Si la colonne
FSTYPEn'est pas vide, le périphérique est déjà initialisé et ne peut pas être utilisé comme PV.-
Si la colonne
FSTYPEest vide :Si le périphérique ne comporte aucune partition, utilisez directement son nom. Exemple :
vdb→vdb,vdc→vdc.Si le périphérique contient des partitions, utilisez le nom de la partition. Exemple :
vdd→vdd1.
-
Créez les PV.
Remplacez
<target_device_name>par les noms de périphérique obtenus à l'étape précédente. Séparez les noms par des espaces.sudo pvcreate /dev/<target device name>.../dev/<target device name>Exemple : pour utiliser
vdbetvdc, exécutezsudo pvcreate /dev/vdb /dev/vdc. Cela crée deux PV de 40 Go.La présence de
successfully createddans la sortie confirme la réussite de l'opération.
Étape 2 : Créer un VG
-
Créez le VG.
Remplacez
<vg_name>par un nom personnalisé et<target_device_name>par les noms de périphérique indiqués à l'étape 1.sudo vgcreate <vg_name> /dev/<target device name>.../dev/<target device name>Exemple : pour créer le VG
vg_01avecvdbetvdc, exécutez :sudo vgcreate vg_01 /dev/vdb /dev/vdc.La présence de
successfully createddans la sortie confirme la réussite de l'opération. -
Vérifiez l'espace libre du VG.
Exécutez
sudo vgs. Notez la colonneVFree, qui indique la capacité restante.sudo vgs
Étape 3 : Créer un LV
-
Créez le LV.
sudo lvcreate -L <lv_size> -n <lv_name> <vg_name>Exemple : pour créer le LV
lv01(55 Go) à partir du VGvg_01, exécutez :sudo lvcreate -L 55g -n lv01 vg_01.Paramètre
Description
<lv_size>Ne doit pas dépasser l'espace libre du VG.
<lv_name>Nom personnalisé du nouveau LV.
<vg_name>Nom du VG que vous avez créé.
Le message
Logical volume "<lv_name>" createddans la sortie confirme la réussite de l'opération. -
Consultez les informations relatives au LV.
Exécutez
sudo lvdisplay. Notez leLV Pathpour l'utiliser à l'étape suivante.sudo lvdisplay--- Logical volume --- LV Path /dev/vg_01/lv01 LV Name lv01 VG Name vg_01 LV UUID NgcCdz-efSY-vCrm-E35b-Dg6p-LNYq-xxxxxx LV Write Access read/write LV Creation host, time iZbp13kehgn0kh64txxxxxx, 2025-09-15 16:57:21 +0800 LV Status available # open 0 LV Size 55.00 GiB Current LE 14080 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:0Dans cet exemple, le
LV Pathpourlv01est/dev/vg_01/lv01.
Étape 4 : Créer et monter un système de fichiers
-
Créez un système de fichiers.
ext4 gère mieux les petits fichiers que xfs.
ext4
-
Créez un système de fichiers ext4.
Remplacez
<lv_path>par le LV Path obtenu à l'étape 3.sudo mkfs -t ext4 <lv_path>Exemple : LV Path
/dev/vg_01/lv01→ exécutezsudo mkfs -t ext4 /dev/vg_01/lv01. -
Vérifiez la création.
Exécutez
sudo lsblk -f. SiFSTYPEafficheext4, le système de fichiers a bien été créé.
xfs
-
Installez l'outil xfsprogs.
-
Pour Alibaba Cloud Linux et CentOS :
sudo yum install -y xfsprogs -
Pour Debian et Ubuntu :
sudo apt-get install -y xfsprogs
-
-
Créez un système de fichiers xfs.
Remplacez
<lv_path>par le LV Path obtenu à l'étape 3.sudo mkfs -t xfs <lv_path>Exemple : LV Path
/dev/vg_01/lv01→ exécutezsudo mkfs -t xfs /dev/vg_01/lv01. -
Vérifiez la création.
Exécutez
sudo lsblk -f. SiFSTYPEaffichexfs, le système de fichiers a bien été créé.
-
-
Créez un point de montage et montez le système de fichiers.
sudo mkdir <mount point> && sudo mount <lv_path> <mount point>Paramètre
Description
<lv_path>LV Path obtenu à l'étape 3.
<mount point>Chemin de répertoire personnalisé et vide commençant par
/. Le montage sur un répertoire non vide masque son contenu d'origine, ce qui peut perturber les services et rendre les fichiers d'origine inaccessibles.Exemple : montez
/dev/vg_01/lv01sur/mnt/lv01:sudo mkdir /mnt/lv01 && sudo mount /dev/vg_01/lv01 /mnt/lv01. -
Vérifiez si le système de fichiers est correctement monté.
Exécutez
sudo lsblk. Si le périphérique cible affiche une valeur dans la colonneMOUNTPOINT, le montage a réussi.ImportantCe montage est temporaire et sera perdu après un redémarrage. Pour rendre le montage persistant, configurez le montage automatique au démarrage.
FAQ
-
Comment ajouter un nouveau PV à un VG existant ?
-
Connectez-vous à l'instance ECS.
Accédez à Console ECS - Instances. Dans le coin supérieur gauche, sélectionnez la région et le groupe de ressources correspondant à la ressource cible.
Sur la page des détails de l'instance, cliquez sur Connect > Workbench.
-
Consultez les informations relatives aux PV et aux VG.
-
Consultez les PV.
Exécutez
sudo pvdisplay. Notez le nom du PV indiqué dans le champPV Name. -
Consultez les VG existants.
Exécutez
sudo vgs. Notez le nom du VG indiqué dans le champVG.
-
-
Ajoutez d'autres PV créés.
Remplacez
<vg_name>et<pv_name>par les valeurs obtenues à l'étape précédente.sudo vgextend <vg_name> <pv_name>...<pv_name>
-
-
Pourquoi obtiens-je une erreur « 404 Not Found » lors de l'installation des outils ?
Cause : Cette erreur survient car CentOS 6 et Debian 9/10/11 ont atteint leur fin de vie (EOL), et leurs dépôts de packages par défaut ne sont plus actifs.
Solution : Vous devez mettre à jour la source du dépôt de votre système pour qu'elle pointe vers un serveur d'archive officiel. Après avoir mis à jour la source, vous pouvez exécuter à nouveau la commande d'installation.
Pour CentOS 6, suivez le guide pour changer la source du dépôt CentOS.
Pour Debian 9/10/11, suivez le guide pour changer la source du dépôt Debian.
-
Pourquoi les informations de montage de mon LV disparaissent-elles après un redémarrage, et comment résoudre ce problème ?
Cause : Le volume a été monté manuellement sans entrée dans
/etc/fstab, qui contrôle les montages automatiques au démarrage.Solution :
Montez manuellement le système de fichiers s'il n'est pas déjà monté. Consultez l'étape 4.
Configurez le montage automatique au démarrage en ajoutant une entrée dans
/etc/fstab.
-
Lors de l'exécution de
lvcreate, pourquoi l'erreur « Volume group "vg01" has insufficient free space (23038 extents): 51200 required. » s'affiche-t-elle lors de la création d'un LV ?Cause : La taille spécifiée pour le LV (
-L <lv_size>) dépasse l'espace libre disponible dans le VGvg_01.Solution :
Exécutez
sudo vgset notez la valeurVFree.Réexécutez
lvcreateavec une taille inférieure ou égale à l'espace libre disponible.
Références
Si votre LV manque d'espace, utilisez lvextend pour étendre le LV.