Recherche de site Web

LFCS : Comment gérer et créer LVM à l'aide des commandes vgcreate, lvcreate et lvextend - Partie 11


En raison des changements apportés aux exigences de l'examen LFCS à compter du févr. Le 2 février 2016, nous ajoutons les sujets nécessaires à la série LFCS publiée ici. Pour vous préparer à cet examen, nous vous encourageons fortement à utiliser également la série LFCE.

L'une des décisions les plus importantes lors de l'installation d'un système Linux est la quantité d'espace de stockage à allouer aux fichiers système, aux répertoires personnels et autres. Si vous faites une erreur à ce stade, développer une partition qui manque d'espace peut être fastidieux et quelque peu risqué.

La gestion des volumes logiques (également connue sous le nom de LVM), qui est devenue une valeur par défaut pour l'installation de la plupart (sinon la totalité) des distributions Linux, présente de nombreux avantages par rapport à la gestion traditionnelle des partitionnements. La caractéristique la plus distinctive de LVM est peut-être qu'il permet de redimensionner (réduire ou augmenter) les divisions logiques à volonté sans trop de tracas.

La structure du LVM se compose de :

  1. Un ou plusieurs disques durs ou partitions entiers sont configurés en tant que volumes physiques (PV).
  2. Un groupe de volumes (VG) est créé à l'aide d'un ou plusieurs volumes physiques. Vous pouvez considérer un groupe de volumes comme une unité de stockage unique.
  3. Plusieurs volumes logiques peuvent ensuite être créés dans un groupe de volumes. Chaque volume logique est en quelque sorte équivalent à une partition traditionnelle – avec l'avantage de pouvoir être redimensionné à volonté comme nous l'avons mentionné précédemment.

Dans cet article, nous utiliserons trois disques de 8 Go chacun (/dev/sdb, /dev/sdc et /dev /sdd) pour créer trois volumes physiques. Vous pouvez soit créer les PV directement au-dessus de l'appareil, soit le partitionner d'abord.

Bien que nous ayons choisi d'opter pour la première méthode, si vous décidez d'opter pour la seconde (comme expliqué dans la partie 4 – Créer des partitions et des systèmes de fichiers sous Linux de cette série), assurez-vous de configurer chaque partition comme type 8e . .

Création de volumes physiques, de groupes de volumes et de volumes logiques

Pour créer des volumes physiques au-dessus de /dev/sdb, /dev/sdc et /dev/sdd, procédez :

pvcreate /dev/sdb /dev/sdc /dev/sdd

Vous pouvez lister les PV nouvellement créés avec :

pvs

et obtenez des informations détaillées sur chaque PV avec :

pvdisplay /dev/sdX

(où X est b, c ou d)

Si vous omettez /dev/sdX comme paramètre, vous obtiendrez des informations sur tous les PV.

Pour créer un groupe de volumes nommé vg00 en utilisant /dev/sdb et /dev/sdc (nous enregistrerons /dev/sdd pour illustrer plus tard la possibilité d'ajouter d'autres périphériques pour augmenter la capacité de stockage en cas de besoin) :

vgcreate vg00 /dev/sdb /dev/sdc

Comme c'était le cas pour les volumes physiques, vous pouvez également afficher des informations sur ce groupe de volumes en exécutant :

vgdisplay vg00

Étant donné que vg00 est constitué de deux disques 8 Go, il apparaîtra comme un seul disque 16 Go :

Lorsqu’il s’agit de créer des volumes logiques, la répartition de l’espace doit tenir compte des besoins actuels et futurs. Il est considéré comme une bonne pratique de nommer chaque volume logique en fonction de son utilisation prévue.

Par exemple, créons deux LV nommés vol_projects (10 Go) et vol_backups (espace restant), que nous pourrons utiliser plus tard pour stocker la documentation du projet. et les sauvegardes du système, respectivement.

L'option -n est utilisée pour indiquer un nom pour le LV, tandis que -L définit une taille fixe et -l (L minuscule) est utilisé pour indiquer un pourcentage de l’espace restant dans le conteneur VG.

lvcreate -n vol_projects -L 10G vg00
lvcreate -n vol_backups -l 100%FREE vg00

Comme auparavant, vous pouvez consulter la liste des LV et les informations de base avec :

lvs

et des informations détaillées avec

lvdisplay

Pour afficher des informations sur un seul LV, utilisez lvdisplay avec VG et LV comme paramètres, comme suit :

lvdisplay vg00/vol_projects

Dans l'image ci-dessus, nous pouvons voir que les LV ont été créés en tant que périphériques de stockage (reportez-vous à la ligne LV Path). Avant que chaque volume logique puisse être utilisé, nous devons créer un système de fichiers dessus.

Nous utiliserons ici ext4 comme exemple puisqu'il nous permet à la fois d'augmenter et de réduire la taille de chaque LV (contrairement à xfs qui permet uniquement d'augmenter la taille) :

mkfs.ext4 /dev/vg00/vol_projects
mkfs.ext4 /dev/vg00/vol_backups

Dans la section suivante, nous expliquerons comment redimensionner les volumes logiques et ajouter de l'espace de stockage physique supplémentaire lorsque le besoin s'en fait sentir.

Redimensionnement des volumes logiques et extension des groupes de volumes

Imaginez maintenant le scénario suivant. Vous commencez à manquer d'espace dans vol_backups, alors que vous disposez de beaucoup d'espace disponible dans vol_projects. En raison de la nature de LVM, nous pouvons facilement réduire la taille de ce dernier (disons 2,5 Go) et l'allouer au premier, tout en redimensionnant chaque système de fichiers en même temps.

Heureusement, c'est aussi simple que de faire :

lvreduce -L -2.5G -r /dev/vg00/vol_projects
lvextend -l +100%FREE -r /dev/vg00/vol_backups

Il est important d'inclure les signes moins (-) ou plus (+) lors du redimensionnement d'un volume logique. Sinon, vous définissez une taille fixe pour le LV au lieu de le redimensionner.

Il peut arriver que vous arriviez à un point où le redimensionnement des volumes logiques ne puisse plus répondre à vos besoins de stockage et que vous deviez acheter un périphérique de stockage supplémentaire. Pour faire simple, vous aurez besoin d’un autre disque. Nous allons simuler cette situation en ajoutant le PV restant de notre configuration initiale (/dev/sdd).

Pour ajouter /dev/sdd à vg00, faites

vgextend vg00 /dev/sdd

Si vous exécutez vgdisplay vg00 avant et après la commande précédente, vous verrez l'augmentation de la taille du VG :

vgdisplay vg00

Vous pouvez désormais utiliser l'espace nouvellement ajouté pour redimensionner les LV existants en fonction de vos besoins, ou pour en créer d'autres si nécessaire.

Montage de volumes logiques au démarrage et à la demande

Bien sûr, cela ne servirait à rien de créer des volumes logiques si nous ne voulons pas réellement les utiliser ! Pour mieux identifier un volume logique, nous devrons découvrir quel est son UUID (un attribut non modifiable qui identifie de manière unique un périphérique de stockage formaté).

Pour ce faire, utilisez blkid suivi du chemin d'accès à chaque appareil :

blkid /dev/vg00/vol_projects
blkid /dev/vg00/vol_backups

Créez des points de montage pour chaque LV :

mkdir /home/projects
mkdir /home/backups

et insérez les entrées correspondantes dans /etc/fstab (assurez-vous d'utiliser les UUID obtenus auparavant) :

UUID=b85df913-580f-461c-844f-546d8cde4646 /home/projects	ext4 defaults 0 0
UUID=e1929239-5087-44b1-9396-53e09db6eb9e /home/backups ext4	defaults 0 0

Enregistrez ensuite les modifications et montez les LV :

mount -a
mount | grep home

Lorsqu'il s'agit d'utiliser réellement les LV, vous devrez attribuer les autorisations ugo+rwx appropriées, comme expliqué dans la partie 8 – Gérer les utilisateurs et les groupes sous Linux de cette série.

Résumé

Dans cet article, nous avons présenté Logical Volume Management, un outil polyvalent pour gérer les périphériques de stockage qui offre une évolutivité. Lorsqu'il est combiné avec RAID (que nous avons expliqué dans la partie 6 – Créer et gérer un RAID sous Linux de cette série), vous pouvez profiter non seulement de l'évolutivité (fournie par LVM) mais également de la redondance (offerte par RAID).

Dans ce type de configuration, vous trouverez généralement LVM au-dessus du RAID, c'est-à-dire que vous configurez d'abord le RAID, puis configurez LVM par-dessus.

Si vous avez des questions sur cet article ou des suggestions pour l'améliorer, n'hésitez pas à nous contacter en utilisant le formulaire de commentaires ci-dessous.