Gérer des partitions avec LVM

LVM – Gestionnaire de volumes logiques

LVM est un gestionnaire de volumes logiques (Logical Volume Manager) écrit pour Linux en 1998. L’objectif de LVM est de fournir une couche d’abstraction entre le système de fichiers (Ext2/3/4, XFS, ReiserFS, FAT, NTFS, …) et le disque physiaue sur lequel il repose. Ce tutoriel vous propose un rapide tour d’horizon de l’architecture de LVM, ainsi qu’une mise en pratique de cette fonctionnalité.

L’architecture de LVM

LVM définit trois grands types d’objet :

  • PV : Physical Volume, un volume physique qui correspond à une partition sur un disque, formatée spécifiquement pour LVM ;
  • VG : Volume Group, un aggrégat de PV de type RAID-0/JBOD ;
  • LV : Logical Volume, un volume virtuel créé dans un VG, qui expose un block device sur lequel on créera un système de fichiers.

L'architecture LVM

Les volumes physiques, ou PV, sont créés sur une partition disque stnadard (par exemple /dev/sdb2). Ensuite, ces PVs sont utilisés pour former un Volume Group (VG). Un VG est un aggrégat de volumes physiques formant un volume virtuel de type RAID-0 (ou “JBOD“). Vous pouvez ajouter de nouveaux PVs à un VG quand bon vous semble afin d’ajouter de l’espace.

C’est sur ce VG que nous allons ensuite créer des volumes logiques (LV). Ces LV vont consommer l’espace disque disponible dans le VG sur lequel ils sont créés. Notez que ces VG ne sont pas directement utilisés. Vous pouvez créer plusieurs LV dans un VG.

Une fois un LV créé, un nouveau block device sera créé dans /dev/mapper, sur lequel nous viendrons installer un système de fichiers grâce à la commande mkfs. Nous le monterons ensuite comme n’importe quel autre système de fichiers.

Mise en application

Nous allons passer en revue l’ensemble des actions requises pour monter un système de fichiers basé sur un volume LVM. Cette procédure a été effectuée sur un système Debian GNU/Linux 9 (stretch), mais elle devrait fonctionner sur n’importe quel système basé sur un noyau Linux 3.2 et plus récent.

0 – Installation des outils LVM

Si cela n’est pas déjà fait, vous devez installer les outils LVM à l’aide des commandes suivantes :

Pour Debian :

% sudo apt-get install lvm2

Pour RHEL et similaires :

% sudo yum install lvm2-cluster

1 – Préparation d’une partition physique pour LVM

Dans notre cas, nous avons une machine virtuelle fonctionnant avec deux disques durs : un pour le système (/dev/vda), et un que nous allons utiliser pour LVM (/dev/vdb). Nous formattons ce disque à l’aide de l’outil fdisk.

We initialize the empty disk with a new primary partition that will be used as a LVM Physical Volume (PV).

Une fois l’opération effectuée, le noyau lit la nouvelle table des partitions et créé les block devices associées — dans notre cas, /dev/vdb1.

2 – Création des ressources LVM

Nous initialisons ensuite cette nouvelle partition pour l’utiliser avec LVM grâce à la commande pvcreate :

Nous pouvons vérifier les propriété de ce nouveau PV avec la commande pvdisplay :

Ensuite, nous initialisons un nouveau Volume Group (VG) basé sur ce PV :

De même, nous pouvons contrôler ses propriétés avec la commande vgdisplay :

Deux commandes moins verbeuses existent également pour cela : pvs and vgs

Comme nous pouvons le constater, l’ensemble de l’espace disque correspondant à la taille du PV est disponible dans le VG. C’est dans cet espace que nous allons piocher pour créer nos volumes logiques (LV).

Nous allons maintenant créer un LV de 10 GiB à l’aide de la commande lvcreate :

Ici, nous spécifions le VG sur lequel nous allons créer le LV, suivi de sa taille (option -L), puis de son label ( -n).

Comme auparavant, nous pouvons vérifier sa création et ses propriétés avec les commandes lvdisplay ou lvs :

Un nouveau block device a été créé : /dev/dm-0. Un lien symbolique existe également /dev/mapper pour faciliter son identification par l’administrateur système ; la convention de nommage est <vgname>-<lvname> :

Comme nous pouvons le voir ci-dessous, il ne reste plus que 15 GiB d’espace disponible dans le VG, puisque nous avons alloué 10 GiB à notre LV :

Toutes les étapes requises pour créer un volume logique sont maintenant effectuée, il est temps de le formatter avec un système de fichiers.

3 – Création et montage du système de fichiers

Chez Jaguar Network, nous sommes depuis toujours des fans de XFS, un système de fichiers développé par SGI en 1993. La plupart des noyaux Linux aujourd’hui intègrent le support pour XFS, mais il se pourrait que vous deviez installer les outils pour le formatter :

Ensuite, nous pouvons formatter notre LV :

Puis le monter sur un répertoire de notre arborescence Unix :

Vérifions l’espace disponible :

Tout semble corect. Dans le prochain tutoriel, nous verrons comment créer d’autre volumes logiques, comment les agrandir, comment rajouter de nouveaux PV dans un VG, et beaucoup d’autres choses intéressantes avec LVM !

Gérer des partitions avec LVM
Vote

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.