27 octobre 2021

TUTO Configurer LVM sous Debian

LVM, ou Local Volume Manager, permet en gros de créer des espaces logiques de stockage dont la structure sera indépendante de l’infrastructure physique de vos disques durs. Pour simplifier, avec LVM, vous pouvez par exemple créer une seule partition de 1To avec 2 disques durs de 500Go. On peut donc personnaliser des espaces de stockage qui englobent plusieurs matériels de stockage. Admettons que j’ai une baie de stockage de 6 disques durs, je peux organiser l’espace à ma disposition de la façon dont je l’entends. Par exemple je pourrais créer 2 volumes de 3 disques chacun, et les mettre en RAID 1 comme s’il s’agissait de 2 disques durs en tout. Le LVM offre donc des applications intéressantes qui peuvent simplifier la gestion de l’espace disque disponible. LVM peut donc très bien permettre de gérer des baies de stockage SAN, et intègre en plus des fonctions de sauvegarde et snapshots. On peut même installer un OS dans des volumes logiques…


Vocabulaire :

Quelques notions sont à connaitre avant d’aller plus loin :

  • PV : Physical Volume, ou volume physique : Il s’agit de l’espace physique à notre disposition pour créer les LVM. Les PV peuvent être des disques durs ou des partitions.
  • VG : Volume Group, ou groupe de volumes : Il s’agit d’un ensemble de PV rassemblés de façon logicielle par LVM.
  • LV : Logical Volume, ou volume logique. Ce sont des volumes qui vont seront créés dans un VG. Un VG peut être découpé en plusieurs LV, ou posséder un seul grand LV.
schema architecture lvm

Principe de fonctionnement

Voici un résumé de ce que nous allons faire : On va voir ici une simple mise en situation pour survoler un peu le fonctionnement. J’ai une VM Debian 11 qui dispose de 6 disques durs. Le premier est réservé à l’OS, et les 5 autres font 30Go et seront tous dédié à un LV de 150Go.

  • Partitionner chaque disque dur (de sdb à sdf chez moi) avec le label de type LVM.
  • Définir chacune des partitions comme PV.
  • Créer un VG nommé Datastore01 qui contient les 5 PV.
  • Créer un LV nommé Datastore01_LV01 qui occupe entièrement notre VG Datastore01.
  • Formater le LV Datastore01_LV01 avec un système de fichiers EXT4.
  • On verra ensuite comment remplacer un des disques durs du LV. Les connaissances apportées pourront être utilises dans d’autres cas de figure.

Cet article n’a pas la prétention d’être un cours exhaustif, mais plutôt un pense-bête qui recense les commandes de bases. Il existe des tonnes de doc sur le Net, notamment chez Redhat.


Installation de LVM :

LVM est un programme qui n’est pas forcément installé par défaut sur votre distribution. Pour l’installer : apt-get install lvm2


Partitionnement

Il faut maintenant créer une partition de type LVM sur chacun des disques durs. LVM permet de gérer plusieurs partitions par disque dur, mais il est conseillé d’utiliser une partition par disque dur. C’est plus facile à gérer. On ne formatera pas ces partitions. cfdisk /dev/sdb

  • Sélectionner Nouvelle.
  • Laisser la taille maximal du disque pour la partition.
  • Choisir Primaire.
  • Sélectionner Type.
  • Sélectionner 8e LVM Linux.
  • Sélectionner Ecrire puis confirmer.
  • Quitter cfdisk et réitérer l’opération pour chaque disque dur que vous souhaiter intégrer à votre VG.
  • Vous pouvez constater l’existence des nouvelles partitions dans /dev :
ls /dev

Creation des PV :

On va maintenant créer les Physical Volumes sur chacun des disques durs ou partitions que l’on souhaite gérer via LVM.

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1

Physical volume « /dev/sdx1 » succesfully created.

  • On peut ensuite afficher les PV existants :

pvdisplay

« /dev/sdx » is a new physical volume of « 30,00 GiB »— NEW Physical volume —PV Name /dev/sdxVG NamePV Size 30,00 GiBAllocatable NOPE Size 0Total PE 0Free PE 0Allocated PE 0PV UUID 9eqyX4-X1Cl-KSx6-R3Fo-hvTM-Fuuj-1ncuCO
  • On peut supprimer un PV avec une commande du type :
pvremove /dev/sdb1

Création du VG

Je vais maintenant créer le Volume Group qui contiendra mes 5 partitions de 30Go. Dans la commande suivante, le nom Datastore01 est indicatif et vous pouvez mettre ce que vous voulez. J’enchaine ensuite par le nom des 5 partitions : vgcreate Datastore01 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 Volume group « Datastore01 » successfully created De la même façon que les PV, on peut afficher les infos, ou supprimer :

  • vgdisplay Datastore01
  • vgremove Datastore01

Création du LV

Pour cette exemple, je vais créer un LV qui occupe la totalité du mon VG Datastore01. Dans la commande suivante, l’objet Datastore01_LV01 sera le nom du LV, et il peut être personnalisé : lvcreate -n Datastore01_LV01 -l 100%VG Datastore01

  • J’indique donc que je veux créer un LV nommé Datastore01_LV01 qui occupera 100% de l’espace du VG Datastore01.

->On peut toujours afficher les infos de LV : lvdisplay ->Et bien sûr supprimer des LV : lvremove Datastore01/Datastore01_LV01

  • Pour supprimer un LV il faut préciser le nom du VG qui le contient comme dans la commande ci-dessus.

Formatage du LV

  • A partir de là, le VG et le LV sont apparus dans /dev sous la forme :
/dev/Datastore01/Datastore01_LV01
  • Il faut maintenant formater notre partition LV, puis on définira un point de montage, comme un volume classique.
mkfs.ext4 /dev/Datastore01/Datastore01_LV01

Montage du volume

  • On défini maintenant un point de montage. Je vais créer un dossier à cet effet dans /mnt. Vous pouvez bien sûr le monter ailleurs.
mkdir /mnt/Datastore01_LV01
  • Puis on monte le système de fichiers.
mount /dev/Datastore01/Datastore01_LV01 /mnt/Datastore01_LV01
  • Vous pouvez tester le fonctionnement du montage en créant un fichier dedans puis en le démontant. Une fois démonté le fichier ne devrait plus y être.
touch /mnt/Datastore01_LV01/test.txt umount /mnt/Datastore01_LV01

Afficher des infos :

Quelques commandes pour afficher des infos :

  • La commande pvs permet d’afficher les volumes utilisé comme PV et dans quel VG ils sont. Pour info la colonne PFREE qui est à zéro n’indique pas qu’il n’y a plus d’espace libre, seulement que l’entièreté du disque dur est utilisée comme PV.
  • La commande vgs permet de voir les VG disponibles, de combien de PV ils sont composés, combien de LV il possèdent, et l’espace total.
  • La commande lvs permet d’afficher les LV, leur VG et l’espace du LV.
  • Puis vous avez la commande df -h qui permet d’afficher les infos classiques sur les partitions, et donc l’espace disponible. Le LV doit être monté pour être visible avec df.


->Voyons maintenant, à la page suivante, les opérations à effectuer pour remplacer un disque dur intégré dans un VG. Page 2

Pages: 1 2
Share

You may also like...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


The reCAPTCHA verification period has expired. Please reload the page.