Redimensionner un volume logique

L'objectif de cette note est de présenter le redimensionnement d'un volume logique créé grâce au LVM (Logical Volume Manager). Ces opérations ont été réaliasées sur une distribution RedHat avec un noyau Linux 2.6.

Le but n'est pas ici de présenter le LVM, simplement d'avoir une note synthétique sur le redimensionnement. D'autres notes suivront probablement, sur la création d'un volume logique par exemple.

1 – Description

Le redimensionnement (agrandir et réduire) d'un volume logique se fait grâce à la commande lvresize, qui accepte deux types d'unités :

  • les PE (Physical Extent) => option -l
  • les unités classique (Mio, Gio, Tio, etc.) => option -L

La commande lvresize permet en outre 3 types d'opérations sur un volume logique :

  • assigner une taille fixe
  • agrandir d'une certaine taille => option +
  • réduire d'une certaine taille => option -

Si l'on travaille avec les PE on peut également définir les tailles en pourcentage de la taille totale ou de l'espace libre.

2 – Déterminer l'espace du VG (Volume Group)

La première opération à réaliser lorsque l'on veut redimensionner un volume logique est de déterminer quelle est la taille restante sur le Volume Group (VG).

Pour cela, on utilise la commande vgdisplay, éventuellement suivie du nom du VG si on le connait :

$ vgdisplay
  --- Volume group ---
  VG Name               rootvg
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  20
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                19
  Open LV               18
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               136.19 GB
  PE Size               32.00 MB
  Total PE              4358
  Alloc PE / Size       1543 / 48.22 GB
  Free  PE / Size       2815 / 87.97 GB
  VG UUID               xxxxxx

On peut notamment consulter l'espace utilisé (Alloc PE / Size) ainsi que l'espace restant (Free PE / Size). Ces deux informations sont indiquées en PE puis en taille classique.

3 – Redimensionner le volume logique

Une fois cette information en tête on peut redimensionner selon la méthode souhaitée.

Par exemple, pour spécifier au volume logique lv_toto situé sur le VG rootvg une taille de 6 Gio :

$ lvresize -L 6G /dev/rootvg/lv_toto

Pour l'agrandir de 100 PE :

$ lvresize -l +100 /dev/rootvg/lv_toto

Pour le réduire de 10% de sa propre taille :

$ lvresize -l -10%LV /dev/rootvg/lv_toto

A noter : attention avec la réduction de taille d'un volume logique, il y a risque de destruction du système de fichier situé dessus si la taille indiqué est inférieure à la taille du système de fichiers.

Et voilà, le volume logique est maintenant redimensionné. On peut consulter sa nouvelle taille grâce à la commande lvdisplay suivie du chemin du volume logique :

$ lvdisplay /dev/rootvg/lv_toto
  --- Logical volume ---
  LV Name                /dev/rootvg/lv_toto
  VG Name                rootvg
  LV UUID                xxxxx
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                6.00 GB
  Current LE             192
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

4 – Redimensionner le système de fichiers

Une fois que le volume logique est redimensionné, on peut vouloir redimensionner un système de fichiers contenu à l'intérieur.

Pour les systèmes de fichiers ext2 & ext3 il y a l'outil resize2fs qui permet de redimensionner. Sur un noyau Linux 2.6 un système de fichiers ext3 peut d'ailleurs être redimensionné à chaud 🙂

Par exemple, pour un système de fichiers ext3 que l'on veut mettre à 6 Gio sur le volume logique lv_toto situé dans le groupe de volume rootvg :

$ resize2fs /dev/rootvg/lv_toto 6G

On peut constater la nouvelle taille grâce à un simple df :

$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/rootvg-lv_toto
                       6092936      7653   5771162   1% /toto

Et voilà pour cette petite note sur le redimensionnement d'un volume logique.

1 pensĂ©e sur “Redimensionner un volume logique”

Laisser un commentaire