Logical Volume Manager (LVM) permet une couche d'abstraction entre le système d'exploitation et le matériel. Normalement, votre système d'exploitation recherche des disques (/dev/sda
, /dev/sdb
, etc.) et les partitions de ces disques (/dev/sda1
, /dev/sdb1
, etc.).
Dans LVM, une couche virtuelle est créée entre le système d'exploitation et les disques. Au lieu d'un disque contenant un certain nombre de partitions, LVM crée un pool de stockage unifié (appelé groupe de volumes ) qui s'étend sur n'importe quel nombre de disques physiques (appelés volumes physiques ). En utilisant le stockage disponible dans un groupe de volumes, LVM fournit ce qui semble être des disques et des partitions à votre système d'exploitation.
Et le système d'exploitation ignore complètement qu'il est "trompé".
Étant donné que LVM crée virtuellement des groupes de volumes et des volumes logiques, il est facile de les redimensionner ou de les déplacer, ou de créer de nouveaux volumes, même lorsque le système est en cours d'exécution. De plus, LVM fournit des fonctionnalités qui ne sont pas présentes autrement, comme la création d'instantanés en direct de volumes logiques, sans démonter le disque au préalable.
Un groupe de volumes dans un LVM est un conteneur virtuel nommé qui regroupe les disques physiques sous-jacents. Il agit comme un pool à partir duquel des volumes logiques de différentes tailles peuvent être créés. Les volumes logiques contiennent le système de fichiers réel et peuvent s'étendre sur plusieurs disques, et n'ont pas besoin d'être physiquement contigus.
Plus de ressources Linux
- Aide-mémoire des commandes Linux
- Aide-mémoire des commandes Linux avancées
- Cours en ligne gratuit :Présentation technique de RHEL
- Aide-mémoire sur le réseau Linux
- Aide-mémoire SELinux
- Aide-mémoire sur les commandes courantes de Linux
- Que sont les conteneurs Linux ?
- Nos derniers articles Linux
Fonctionnalités
- Les noms de partition ont normalement des désignations système comme
/dev/sda1
. Les volumes LVM ont des noms normaux compréhensibles par l'homme, commehome
oumedia
. - La taille totale des partitions est limitée par la taille du disque physique sous-jacent. Dans LVM, les volumes peuvent s'étendre sur plusieurs disques et ne sont limités que par la taille totale de tous les disques physiques dans LVM.
- Les partitions ne peuvent normalement être redimensionnées, déplacées ou supprimées que lorsque le disque n'est pas utilisé et qu'il est démonté. Les volumes LVM peuvent être manipulés pendant que le système est en cours d'exécution.
- Les partitions ne peuvent être étendues qu'en leur allouant un espace libre adjacent à la partition. Les volumes LVM peuvent prendre de l'espace libre de n'importe où.
- L'extension d'une partition implique le déplacement des données pour libérer de l'espace, ce qui prend du temps et peut entraîner une perte de données lors d'une panne de courant. Les volumes LVM peuvent prendre de l'espace libre n'importe où dans le groupe de volumes, même sur un autre disque.
- Parce qu'il est si facile de créer des volumes dans un LVM, cela encourage la création de différents volumes, comme la création de volumes séparés pour tester des fonctionnalités ou pour essayer différents systèmes d'exploitation. Avec les partitions, ce processus prendrait du temps et serait source d'erreurs.
- Les instantanés ne peuvent être créés que dans un LVM. Il vous permet de créer une image ponctuelle du volume logique actuel, même lorsque le système est en cours d'exécution. C'est idéal pour les sauvegardes.
Configuration des tests
À titre de démonstration, supposons que votre système possède la configuration de lecteur suivante :
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
`-xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 1G 0 disque
xvdc 202:32 0 1G 0 disque
xvdd 202:48 0 2G 0 disque
xvde 202:64 0 5G 0 disque
xvdf 202:80 0 8G 0 disqueÉtape 1. Initialiser les disques à utiliser avec LVM
Exécutez
pvcreate /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf
. Le résultat devrait être :Volume physique "/dev/xvdb" créé avec succès
Volume physique "/dev/xvdc" créé avec succès
Volume physique "/dev/xvdd" créé avec succès
Volume physique "/dev /xvde" créé avec succès
Volume physique "/dev/xvdf" créé avec succèsVoir le résultat en utilisant
pvs
oupvdisplay
:"/dev/xvde" est un nouveau volume physique de "5,00 Gio"
--- NOUVEAU volume physique ---
Nom PV /dev/xvde
Nom VG
PV taille 5.00 GIB
Allocattable NO
Taille PE 0
PE Total PE 0
PE 0
PE 0
PV UUID 728JTI-FFZD- h2dZ-JKnV-8IOf-YKdS-8srJtn
"/dev/xvdb" est un nouveau volume physique de "1,00 Gio"
--- NOUVEAU volume physique ---
Nom PV /dev/xvdb
Nom VG
Taille PV 1,00 Gio
Allouable NON
Taille PE 0
PE total >PE alloué 0
PV UUID zk1phS-7uXc-PjBP-5Pv9-dtAV-zKe6-8OCRkZ
"/dev/xvdd" est un nouveau volume physique de "2,00 Gio"
--- NOUVEAU Volume physique ---
Nom PV /dev/xvdd
Nom VG
Taille PV 2,00 Gio
Allouable NON
PE S ize 0
PE total 0
PE libre 0
PE alloué 0
PV UUID R0I139-Ipca-KFra-2IZX-o9-xJ "/dev/xvdc" est un nouveau volume physique de "1,00 Gio"
--- NOUVEAU volume physique ---
Nom PV /dev/xvdc
Nom VG
PV Taille 1.00 GIB
ALLOCABLE NO
Taille PE 0
PE Total PE 0
PE 0
PE alloué PE 0
PV UUID FDZCVS-SQ22-2B13-CYRJ -dXHf-QLjS-22Meae
"/dev/xvdf" est un nouveau volume physique de "8,00 Gio"
--- NOUVEAU volume physique ---
Nom PV / dev/xvdf
Nom VG
Taille PV 8,00 Gio
Allouable NON
Taille PE 0
PE total 0
PE libre /> 0
PE alloué 0
UUID PV TRVSH9-Bo5D-JHHb-g0NX-8IoS-GG6T-YV4d0pÉtape 2. Créer le groupe de volumes
Exécutez
vgcreate myvg /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf
. Voir les résultats avecvgs
ouvgdisplay
:--- Groupe de volumes ---
Nom VG myvg
ID système
Format lvm2
Zones de métadonnées 5
N° de séquence de métadonnées 1
VG Accès Lecture / Écrivez
Statut VG Refenseur
MAX LV 0
CUR LV 0
Ouvrir LV 0
MAX PV 0
CUR PV 5
Acte PV 5
Taille VG 16.98 GIB
Taille PE 4,00 MIB
PE Total PE 4347
ALLOC PE / Taille 0/0
PE / Taille gratuite 4347 / 16.98 GIB
VG UUID ewrrWp-Tonj-LeFa-4Ogi-BIJJ-vztN-yrepkhÉtape 3 :Créer des volumes logiques
Exécutez les commandes suivantes :
lvcreate myvg --name media --size 4G
lvcreate myvg --name home --size 4GVérifiez les résultats à l'aide de
lvs
oulvdisplay
:--- Volume logique ---
Chemin LV /dev/myvg/media
Nom LV media
Nom VG myvg
UUID LV LOBga3-pUNX-ZnxM-ZnxM -mABH-xsdF-3VBXFT
Accès en écriture LV lecture/écriture
Hôte de création LV, heure ip-10-0-5-236, 2017-02-03 05:29:15 +0000
Statut LV disponible
# Ouvrir 0
Taille de la LV 4.00 GIB
Le courant Le 1024
Segments 1
Allocation hériter
Lire les secteurs Auto
- actuellement défini sur 256
Bloquer l'appareil 252:0
--- Volume logique ---
Chemin LV /dev/myvg/home
Nom LV home
Nom VG myvg
LV UUID Hc06sl-vtss-DuS0-jfqj-oNce-qKf6-e5qHhK
LV Write Access read/write
LV Creation host, time ip-10-0- 5-236, 2017-02-03 05:29:40 +0000
Statut LV disponible
# ouvert 0
Taille LV 4,00 Gio
LE actuel 1024
Segments 1
Allocation hériter
Secteurs de lecture anticipée auto
- actuellement défini sur 256 appareil 252:1Étape 4 :Créer le système de fichiers
Créez le système de fichiers en utilisant :
mkfs.ext3 /dev/myvg/media
mkfs.ext3 /dev/myvg/homeMontez-le :
mount /dev/myvg/media /media
mount /dev/myvg/home /homeConsultez votre configuration complète à l'aide de
lsblk
:NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
`-xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 disque
xvdc 202:32 0 1G 0 disque
xvdd 202:48 0 2G 0 disque
xvde 202:64 0 5G 0 disque
`-myvg-media 252:0 4G 0 lvm /media
xvdf 202:80 0 8G 0 disque
`-myvg-home 252:1 0 4G 0 lvm /homeÉtape 5 :Extension de LVM
Ajoutez un nouveau disque à
/dev/xvdg
. Pour étendre lahome
volume, exécutez les commandes suivantes :pvcreate /dev/xvdg
vgextend myvg /dev/xvdg
lvextend -l 100%FREE /dev/myvg/home
resize2fs /dev/myvg/homeExécutez
df -h
et vous devriez voir votre nouvelle taille reflétée.Et c'est tout !
LVM permet une flexibilité extrême dans la configuration de votre stockage. Essayez-le et amusez-vous avec LVM !
Cet article a été initialement publié sur le blog personnel de l'auteur et a été adapté avec sa permission.