Augmenter l'espace d'un Volume logique

Un des intérêts de LVM, est de pouvoir augmenter la taille d'un volume sans perturber le fonctionnement de la machine et sans interruption de services. Si votre groupe de volume n'est pas suffisant, mais que vous venez de rajouter un disque ou de l'espace disque sur une VM pour agrandir votre volume, comment ajouter cette espace à votre partition lvm?

Un groupe de volume n'est pas assez large :

Pour réaliser cet article, j'ai augmenté l'espace disque sur l'interface graphique de Vshpere, d'une VM ce qui m'a créé une partition.Il faudra probablement redémarré la VM ou le serveur en question

Agrandir un volume groupe

Avec la commande cfdisk /dev/sdX (sda, sdb ou sdc,… dépend du système en place), sélectionner la partition libre, puis créer une partition Logique avec tous l'espace.

Dans mon exemple :

cfdisk /dev/sda

Dans mon exemple voici ce que j’obtiens :

cfdisk (util-linux 2.20.1)
Unité disque : /dev/sda
Taille : 107374182400 octets, 107.3 Go
Têtes : 255 Secteurs par piste : 63 Cylindres : 13054
Nom Ind. Partition S. Fic. [Étiq.] Taille (Mo)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Primaire Espace libre 1,05 *
sda1 Amorce Primaire ext2 254,81 *
Pri/Log Espace libre 1,05 *
sda5 NC Logique LVM2_member 53429,15 *
Pri/Log Espace libre 53688,14 *

Il faut sélectionner avec les flèches directionnelles (haut, bas) l'espace libre (que nous avons créée avec vsphere) dans mon cas c'est la dernière ligne, puis appuyer sur la touche n pour [Nouvelle]

Puis saisir la touche l pour [Logique] et mettre l'espace disque que vous souhaitez, moi j'ai mis tous l’espace disponible. Dans mon exemple voici ce que j'obtiens :

Taille (en Mo) : 53688,14

Le menu reviens avec votre nouvelle partition.

Dans mon exemple voici ce que j'obtiens :

cfdisk (util-linux 2.20.1)
Unité disque : /dev/sda
Taille : 107374182400 octets, 107.3 Go
Têtes : 255 Secteurs par piste : 63 Cylindres : 13054
Nom Ind. Partition S. Fic. [Étiq.] Taille (Mo)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Primaire Espace libre 1,05 *
sda1 Amorce Primaire ext2 254,81 *
Pri/Log Espace libre 1,05 *
sda5 NC Logique LVM2_member 53429,15 *
sda6 Logique Linux 53688,14 *

Sélectionné avec les flèches directionnelles (gauche, droite) [Écrire] et saisir oui, saisir q pour sortir de cfdisk.

Si en faisant fdisk vous ne retrouvez pas votre partition nouvellement créée, pour ne pas redémarrer le système installé le package parted en effet il faut scanner le disque pour retrouver les partitions nouvellement créée.

aptitude install parted

Puis scanner le disque à la recherche de nouvelle partition.

partprobe /dev/sdX #ou X représentent le nom

dans mon exemple :

partprobe /dev/sda

Création d'un nouveau volume physique :

Nous allons ajouter notre nouvelle partition dans un volume physique pour pouvoir en disposer après.

pvcreate /dev/sdXX #ou X représentent le nom et le num de la partition

Dans mon exemple :

pvcreate /dev/sda6

Étendre le volume groupe, enfin

Nous allons étendre le groupe de volume avec notre nouvelle partition:

vgextend VVV /dev/sdXX

VVV: représente le nom du volume groupe
XX: représente le nom et le numéros de la partition
Dans mon exemple :

vgextend VG0 /dev/sda6

vérifier avec ''vgdisplay'' :

voici le résultat dans un exemple :

~#vgdisplay
--- Volume group ---
VG Name VG0
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 99,75 GiB
PE Size 4,00 MiB
Total PE 25537
Alloc PE / Size 12738 / 49,76 GiB
Free PE / Size 12799 / 50,00 GiB
VG UUID Ly0aPS-Pk8E-unFU-scln-Q1PJ-Px4w-xggP5w

La ligne la plus importante à vérifier est Free PE / Size, si vous avez récupéré de l'espace disque

Étendre une partition lvm

Vérifier l'espace disponible sur le volume groupe, faite la commande vgdisplay.

Si la ligne Free PE / Size vous indique qu'il reste de la place vous pouvez continuer.

Pour étendre un volume logique faire la commande lvextend :

ne jamais dépasser la ligne Free PE / Size de la commande vgdisplay

lvextend -L+[tailleG/M/K] /dev/mapper/[nom-du-groupe-de-volume]_[nom-du-volume-logique]

[tailleG/M/K] : correspond à la taille que vous désirez ajouter au volume logique.

G: giga

M: mega

K: kilo

[nom-du-groupe-de-volume] : correspond au nom du groupe de volume, vous pouvez l'obtenir avec la commande vgdiplay ligne VG Name
[nom-du-volume-logique] : correspond au nom du volume logique, que vous souhaitez agrandir, vous pouvez l'obtenir avec la commande lvdiplay ligne LV Name

Puis, redimensionner la partition logique avec la commande resize2fs :

resize2fs -p /dev/mapper/[nom-du-groupe-de-volume]_[nom-du-volume-logique]

[nom-du-groupe-de-volume] : correspond au nom du groupe de volume, vous pouvez l'obtenir avec la commande vgdiplay ligne VG Name
[nom-du-volume-logique] : correspond au nom du volume logique, que vous souhaitez agrandir, vous pouvez l'obtenir avec la commande lvdiplay ligne LV Name

Dans mon exemple, j'ajoute 49G sur le volume logique qui s'appelle var qui fait parti du groupe de volume VG0

ne jamais dépasser la ligne Free PE / Size de la commande vgdisplay

lvextend -L+49G /dev/mapper/VG0-var
resize2fs -p /dev/mapper/VG0-var

Pour vérifier, avec les df ou vgdisplay vous constaterez que nous avons bien ajouté 49G