GNU/Linux >> Tutoriels Linux >  >> Linux

Ajouter du stockage avec LVM

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, 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 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ès

Voir le résultat en utilisant pvs ou pvdisplay :

"/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 avec vgs ou vgdisplay :

--- 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 4G

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

--- 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/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 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 la home volume, 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 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.


Linux
  1. Configuration du stockage local sous Linux avec Stratis

  2. Créer des volumes logiques sous Linux avec LVM

  3. Couper avec Lvm et Dm-crypt ?

  4. La commande lvremove échoue avec l'erreur "LVM - Impossible de supprimer le volume logique ouvert"

  5. Est-il possible de réduire en ligne un volume EXT4 avec LVM ?

Comment ajouter un stockage externe à ownCloud 9

Apprendre LVM sur Linux avec des outils graphiques

Un guide sur les instantanés LVM avec ext4 sur CentOS 7

Comment créer un groupe de volumes sous Linux avec LVM

Gestionnaire de volume logique (LVM) par rapport au partitionnement standard sous Linux

Comment redimensionner un volume logique avec 5 commandes LVM simples