Outils pour utilisateurs

Outils du site


sysadmin:linux:lvm:etendre-volume-logique

Extension d'un volume logique

On détaille ici les opérations à effectuer pour étendre un volume logique LVM.

Prérequis

Pour l'exercice on va créer un fichier périphérique de 20 Mo que l'on associera a un groupe de volume vgtest. On créera un volume logique databank puis un système de fichier que l'on remplira à 100%.

La création d'un volume logique est détaillée dans le wiki
# creation du fichier périphérique
$ sudo dd if=/dev/zero of=/tmp/vdisk-1 bs=1M count=20
$ sudo losetup /dev/loop0 vdisk-1
 
# creation du volume logique
$ sudo pvcreate /dev/loop0
$ sudo vgcreate --physicalextentsize 1M vgtest /dev/loop0
$ sudo lvcreate --extents 19 --name databank vgtest
 
# creation et saturation du système de fichier
$ sudo mkfs.ext4 /dev/vgtest/databank
$ sudo mount /dev/vgtest/databank /mnt/
$ sudo dd if=/dev/zero of=/mnt/file.data bs=1M count=16

Procédure

Ici notre système de fichier est plein comme l'indique le retour de la commande df:

$ df -lh
Sys. de fichiers            Taille Utilisé Dispo Uti% Monté sur
/dev/sda1                     9,3G    1,1G  7,8G  12% /
...
/dev/mapper/vgtest-databank    18M     17M     0 100% /mnt

Utilisation à 100% du système de fichier sur le périphérique /dev/mapper/vgtest-databank.

Il va nous falloir agrandir notre système de fichier afin de continuer a l'utili Pour pouvoir agrandir le système de fichier contenu dans le volume logique databank il faut:

  • Ajouter un volume physique au groupe de volume vgtest
  • Étendre le volume logique databank

Ajout du volume physique

on utilise un fichier de 30 Mo monté via losetup:

$ sudo dd if=/dev/zero of=/tmp/vdisk-2 bs=1M count=30
$ sudo losetup /dev/loop1 /tmp/vdisk-2

Création du descripteur de groupe de volume sur le périphérique de type bloc:

$ sudo pvcreate /dev/loop1 
  Physical volume "/dev/loop1" successfully created

La commande pvscan détecte à présent 2 PVs:

$ sudo pvscan 
  PV /dev/loop0   VG vgtest   lvm2 [19,00 MiB / 0    free]
  PV /dev/loop1               lvm2 [30,00 MiB]
  Total: 2 [49,00 MiB] / in use: 1 [19,00 MiB] / in no VG: 1 [30,00 MiB]
  • Le périphérique de type bloc /dev/loop0 est utilisé par le groupe de volume vgtest
  • Le périphérique /dev/loop1 n'est associé à aucun groupe de volume pour l'instant.

vgdisplay permet d'afficher les attributs des groupes de volumes existants:

$ sudo vgdisplay vgtest
  --- Volume group ---
  VG Name               vgtest
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  ...
  VG Size               19,00 MiB
  PE Size               1,00 MiB
  Total PE              19
  Alloc PE / Size       19 / 19,00 MiB
  Free  PE / Size       0 / 0   
  VG UUID               TW5Miy-3QdA-3ve1-I4R5-50Hy-tfie-Cu7pf4

Ici vgtest a une taille totale de 19 Mo. Il se compose de 19 PE de 1 Mo tous utilisés.

On associe le volume physique /dev/loop1 au groupe de volume vgtest:

$ sudo vgextend vgtest /dev/loop1
  Volume group "vgtest" successfully extended

Un nouvel appel à vgdisplay permet de confirmer l'association du volume physique au groupe de volume vgtest et de noter la nouvelle taille ou le nombre de PE allouables:

$ sudo  vgdisplay vgtest
  --- Volume group ---
  VG Name               vgtest
  ...
  VG Size               48,00 MiB
  PE Size               1,00 MiB
  Total PE              48
  Alloc PE / Size       19 / 19,00 MiB
  Free  PE / Size       29 / 29,00 MiB

Ici 29 PE de 1Mo sont à présent disponibles. On affecte les PE disponibles au volume logique databank

$ sudo lvextend --extents +29 /dev/vgtest/databank

A présent il ne reste qu'a démonter et retailler le système de fichier pour qu'il s'adapte a la nouvelle taille du volume logique:

$ sudo umount /dev/vgtest/databank
$ sudo resize2fs /dev/vgtest/databank
$ sudo mount /dev/vgtest/databank /mnt

La commande df montre que le système de fichier a bien été agrandi:

$ df -lh /dev/vgtest/databank 
Sys. de fichiers            Taille Utilisé Dispo Uti% Monté sur
/dev/mapper/vgtest-databank    46M     17M   27M  39% /mnt

Références

sysadmin/linux/lvm/etendre-volume-logique.txt · Dernière modification : 2021/02/01 21:51 de 127.0.0.1