TUTOS.EU

Linux et LVM : Logical Volume Manager : augmenter la taille d'un disque

Gestion de volumes logiques sous Linux

Vous avez augmenté la taille d'un disque d'une VM sous Linux et vous voulez maintenant l'allouer sur votre volume LVM.

Pour afficher vos points de montage, tapez

df -h
Lien vers le fichier : cliquez ici

Les volumes logiques LVM sont sous /dev/mapper

Pour afficher les volumes lvm, tapez cette commande.
Free PE / Size devrait indiquer si il reste de l'espace libre

vgdisplay
Lien vers le fichier : cliquez ici

Exemple :

Ici il reste dans les 44Gb de libre

La commande vgs fait la même chose en moins complet

vgs
Lien vers le fichier : cliquez ici

Faire un éventuel scan scsi des disques attachés à la VM

scsi-rescan --forcerescan
Lien vers le fichier : cliquez ici

Afficher les volumes physiques avec

pvs
Lien vers le fichier : cliquez ici

La commande affichera des informations de ce type

  PV         VG       Fmt  Attr PSize    PFree
  /dev/sda2  centos   lvm2 a--   <63,00g <27,00g
  /dev/sdb1  logstash lvm2 a--  <500,00g      0

 

Il faut noter le chemin du volume que l'on veut étendre. Par exemple /dev/sdb1

Ensuite il faut trouver le chemin du disque qui héberge ce volume. Pour cela on peut soit tout simplement adapter le chemin. Par exemple pour /dev/sdb1 cela sera /dev/sdb

 

Pour cela la commande lsblk permet d'avoir quelque-chose de plus visuel pour repérer les disques

lsblk -f
Lien vers le fichier : cliquez ici

Par exemple si on veut étendre sdb1 on voit facilement qu'il va falloir s'attaquer au disque sdb

On fait ensuite un fdisk dessus en adaptant la commande ci dessous. Le chemin du disque sdb va être /dev/sdb (il faut ajouter /dev (pour device) devant)
Le but est de vérifier que le disque affiche bien la nouvelle taille.

fdisk -l /dev/sdb
Lien vers le fichier : cliquez ici

Si ce n'est pas le cas (c'est le but de ce tuto), il faut supprimer et refaire la partition LVM avec la nouvelle taille.
Cela ne provoquera pas la perte des données. On les retrouvera par la suite.

fdisk -u /dev/sdb
Lien vers le fichier : cliquez ici

Une fois sous fdisk

taper m pour avoir l'aide puis 

p pour voir la table des partitions

v pour vérifier la table des partitions

 

On efface et on recrée la partition de type primary (on récupérera les données)
d pour effacer une partition
n pour la recréer
p pour primary

dans mon cas j'ai laissé les réponses par défaut en appuyant sur entrée

mais si vous ne voulez pas assigner la totalité de la taille du disque, vous pouvez. Pour faire un disque de 600Gb, tapez +600G

Exemple

Ensuite appuyer sur

t pour changer l'id de la partition
mettre 8e comme type de partition pour lvm

w pour écrire la modification

rebooter avec la commande

reboot
Lien vers le fichier : cliquez ici

Il peut être nécessaire d'informer le noyau de la modification de la table de partitions via la commande partprobe

partprobe
Lien vers le fichier : cliquez ici

Faire un pvsresize du disque étendu. Pour cela on peut commencer par les afficher avec

pvs
Lien vers le fichier : cliquez ici

Ensuite étendre le disque souhaité en adaptant cette commande :

pvresize /dev/sdb1
Lien vers le fichier : cliquez ici

Il va maintenant affecter le volume supplémentaire à votre volume.
Notez le nom de celui qui vous intéresse suite à ce que vous affiche la commande
vgs

puis sous
lvs

ajouter /dev devant ce qui peut donner par exemple un chemin du type

/dev/logstash/lv-logstash

ou encore /dev/centos/opt comme détaillé ci-dessous

 

Maintenant on va utiliser la commande lvextend

Exemples d'usage: 

La commande suivante étend le volume logique appelé testlv afin de remplir tout l'espace non alloué du groupe de volumes myvg 
lvextend -l +100%FREE /dev/logstash/lv-logstash

 

Etendre le volume jusqu'à 12 giga-octets. 
lvextend -L12G /dev/logstash/lv-logstash

    

Ajoute un giga-octet
lvextend -L+1G /dev/logstash/lv-logstash

 

En phase finale, afficher le type de système de fichier 

# lsblk -f 

suivant ce qui est à étendre, adaptez ces commandes

 

 

EXT4 : 

resize2fs /dev/centos/root 

XFS :  

xfs_growfs /dev/centos/root 

Exemple

xfs_growfs /dev/logstash/lv-logstash
Lien vers le fichier : cliquez ici

Pages Web

Site WebDescription
doc.ubuntu-fr.org/Article sur LVM sur ubuntu-fr.org