====== 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 [[https://serverfault.com/questions/716270/resizing-partition-fdisk-fails-with-invalid-argument|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