Recherche de site Web

Ajouter du stockage avec LVM


LVM permet une flexibilité extrême dans la façon dont vous configurez votre stockage.

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 les disques (/dev/sda, /dev/sdb, etc.) et les partitions au sein 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 seul 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é ».

Opensource.com, CC BY-SA 4.0

Étant donné que LVM crée virtuellement des groupes de volumes et des volumes logiques, il facilite leur redimensionnement, leur déplacement, ou la création de nouveaux volumes, même lorsque le système est en cours d'exécution. De plus, LVM fournit des fonctionnalités qui ne seraient 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.

Caractéristiques

  • Les noms de partition portent généralement des désignations système telles que /dev/sda1. Les volumes LVM portent des noms normaux compréhensibles par l'homme, comme home ou media.
  • 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 du LVM.
  • Les partitions ne peuvent normalement être redimensionnées, déplacées ou supprimées que lorsque le disque n'est pas utilisé et 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 de l'espace libre adjacent à la partition. Les volumes LVM peuvent utiliser de l'espace libre de n'importe où.
  • L'extension d'une partition implique de déplacer les données pour libérer de l'espace, ce qui prend du temps et peut entraîner une perte de données en cas de panne de courant. Les volumes LVM peuvent utiliser de l'espace libre n'importe où dans le groupe de volumes, même sur un autre disque.
  • Parce qu'il est si simple 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 sujet aux 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 dispose 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 disk
xvdc    202:32   0   1G  0 disk
xvdd    202:48   0   2G  0 disk
xvde    202:64   0   5G  0 disk
xvdf    202:80   0   8G  0 disk

É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 :

Physical volume "/dev/xvdb" successfully created
Physical volume "/dev/xvdc" successfully created
Physical volume "/dev/xvdd" successfully created
Physical volume "/dev/xvde" successfully created
Physical volume "/dev/xvdf" successfully created

Consultez le résultat en utilisant pvs ou pvdisplay :

"/dev/xvde" is a new physical volume of "5.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/xvde
VG Name
PV Size               5.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               728JtI-ffZD-h2dZ-JKnV-8IOf-YKdS-8srJtn

"/dev/xvdb" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/xvdb
VG Name
PV Size               1.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               zk1phS-7uXc-PjBP-5Pv9-dtAV-zKe6-8OCRkZ

"/dev/xvdd" is a new physical volume of "2.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/xvdd
VG Name
PV Size               2.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               R0I139-Ipca-KFra-2IZX-o9xJ-IW49-T22fPc

"/dev/xvdc" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/xvdc
VG Name
PV Size               1.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               FDzcVS-sq22-2b13-cYRj-dXHf-QLjS-22Meae

"/dev/xvdf" is a new physical volume of "8.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/xvdf
VG Name
PV Size               8.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               TRVSH9-Bo5D-JHHb-g0NX-8IoS-GG6T-YV4d0p

Étape 2. Créez le groupe de volumes

Exécutez vgcreate myvg /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf. Consultez les résultats avec vgs ou vgdisplay :

--- Volume group ---
VG Name               myvg
System ID
Format                lvm2
Metadata Areas        5
Metadata Sequence No  1
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                0
Open LV               0
Max PV                0
Cur PV                5
Act PV                5
VG Size               16.98 GiB
PE Size               4.00 MiB
Total PE              4347
Alloc PE / Size       0 / 0
Free  PE / Size       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 4G

Vérifiez les résultats à l'aide de lvs ou lvdisplay :

--- Logical volume ---
LV Path                /dev/myvg/media
LV Name                media
VG Name                myvg
LV UUID                LOBga3-pUNX-ZnxM-GliZ-mABH-xsdF-3VBXFT
LV Write Access        read/write
LV Creation host, time ip-10-0-5-236, 2017-02-03 05:29:15 +0000
LV Status              available
# open                 0
LV Size                4.00 GiB
Current LE             1024
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           252:0

--- Logical volume ---
LV Path                /dev/myvg/home
LV Name                home
VG Name                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
LV Status              available
# open                 0
LV Size                4.00 GiB
Current LE             1024
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           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/home

Montez-le :

mount /dev/myvg/media /media
mount /dev/myvg/home /home

Consultez 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   1G  0 disk
xvdc         202:32   0   1G  0 disk
xvdd         202:48   0   2G  0 disk
xvde         202:64   0   5G  0 disk
`-myvg-media 252:0    0   4G  0 lvm  /media
xvdf         202:80   0   8G  0 disk
`-myvg-home  252:1    0   4G  0 lvm  /home

Étape 5 : Extension du LVM

Ajoutez un nouveau disque dans /dev/xvdg. Pour étendre le volume home , exécutez les commandes suivantes :

pvcreate /dev/xvdg
vgextend myvg /dev/xvdg
lvextend -l 100%FREE /dev/myvg/home
resize2fs /dev/myvg/home

Exé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 façon dont vous configurez 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 autorisation.

Articles connexes: