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?
Il faudra probablement redémarré la VM ou le serveur en question
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
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
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
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
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
:
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.
[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
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