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, commehomeoumedia. - 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.
