Outils pour utilisateurs

Outils du site


admin:procedures:redimensionnement-lvm

Redimensionnement d'un volume LVM

On s'intéresse à étendre les volumes.

Cas d'un logical volume utilisé « comme un disque »

On peut s'en assurer en essayant fdisk sur le volume. Par exemple :

# fdisk -l /dev/mapper/vg_bling-blang

Disk /dev/mapper/vg_bling-blang: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 77F6EC72-182F-4719-BFEB-DE7424080479

Device      Start       End   Sectors  Size Type
/dev/vg_bling-blang1  2048 209715166 209713119  100G Linux filesystem

On voit bien que le LV blang sur le VG bling est une périphérique bloc contenant une table de partition et une unique partition. Il va falloir agir manuellement aux différents niveaux.

Extension du logical volume

Pour étendre le volume de 100Go par rapport à sa taille actuelle, il suffit de faire

# lvextend -L+100G /dev/mapper/vg_bling-blang

Correction de la table de partition

Si on relance fdisk, on va avoir un gros warn :

GPT PMBR size mismatch (...) will be corrected by w(rite).

Donc on va faire ça. Sauf que fdisk ne semble pas toujours faire le job. Alternativement, parted fonctionne :

# parted /dev/mapper/vg_bling-blang
GNU Parted 3.2
Using /dev/mapper/vg_bling-blang
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Warning: Not all of the space available to /dev/mapper/vg_bling-blang appears to be used, you can fix the GPT to use all of the
space (an extra 209715200 blocks) or continue with the current setting? 
Fix/Ignore? Fix                                                           
[...]

Extension de la partition

On retaille la première partition en la terminant à 100% de l'espace disponible :

(parted) resizepart 
Partition number? 1                                                       
End?  [107GB]? 100%                                                       
(parted) quit                                                             

À ce stade, la partition a été élargie mais le système de fichier n'occupe pas toute la place.

Par ailleurs, si le volume est utilisé par une machine virtuelle, il faut que celle-ci soit mise au courant des changements de partition. Le plus simple c'est probablement de la redémarrer.

Extension du système de fichier

Dans notre cas le volume est utilisé par une machine virtuelle et la partition est montée. On peut redimensionner sans soucis une partition montée car on augmente sa taille. Mais on le fait depuis la VM. Dans notre cas la partition concernée est /dev/vdb1 ; il suffit donc de lancer :

# resize2fs /dev/vdb1

Cas d'un logical volume utilisé « comme une partition »

A priori pour étendre le volume de 100Go par rapport à sa taille actuelle, c'est beaucoup plus simple. Il suffit de faire :

# lvextend -L+100G --resizefs /dev/mapper/vg_bling-blang

Cas d'un logical volume utilisé « comme une partition » via libvirt (félicette)

Exemple de passage de 600G à 800G :

Se connecter à l'hôte (par ex galanga) :

# lvextend -L +200G /dev/vg_galanga/borg_backup
# virsh blockresize felicette --path /dev/vg_galanga/borg_backup --size 800G

Se connecter y félicette :

# parted /dev/vdb
(parted) resizepart
Warning: Not all of the space available to /dev/vdb appears to be used, you can fix the GPT to use all of the space (an extra 419430400 blocks) or continue with the current setting?
Fix/Ignore? F
Partition number? 1
Warning: Partition /dev/vdb1 is being used. Are you sure you want to continue?
Yes/No? yes
End?  [644GB]? 100%
(parted) quit
Information: You may need to update /etc/fstab.
# resize2fs /dev/vdb1
admin/procedures/redimensionnement-lvm.txt · Dernière modification : 2022/04/12 11:04 de qgibeaux