2 votes

Étendre le volume KVM

J'ai cette installation sur un hôte KVM :

virsh # pool-info --pool pool
Name:           pool
UUID:           bb13c37c-47fe-c4a9-78a4-9c8abc7524fe
State:          running
Persistent:     yes
Autostart:      yes
Capacity:       1.64 TiB
Allocation:     712.00 GiB
Available:      963.12 GiB

virsh # vol-list --details --pool pool
Name                 Path                           Type     Capacity  Allocation
---------------------------------------------------------------------------------
volume1              /dev/pool/volume1              block  192.00 GiB  192.00 GiB
volume2              /dev/pool/volume2              block  192.00 GiB  192.00 GiB
volume3              /dev/pool/volume3              block  192.00 GiB  192.00 GiB
volume4              /dev/pool/volume4              block  136.00 GiB  136.00 GiB

virsh # vol-info --pool pool volume3
Name:           volume3
Type:           block
Capacity:       192.00 GiB
Allocation:     192.00 GiB

J'ai une VM qui tourne dans le volume 3 et le disque est presque plein. Avant d'étendre le disque de la VM, je suppose que je dois étendre le volume sous-jacent.

Mais lorsque j'essaie d'étendre le volume 3 à 500 Go, j'obtiens l'erreur suivante :

virsh # vol-resize volume3 --capacity 500G --pool pool --allocate
error: Failed to change size of volume 'volume3' to 500G

error: invalid argument: storageVolumeResize: unsupported flags (0x1)

Lorsque j'essaie d'étendre le volume sans allouer l'espace, j'obtiens une erreur différente :

virsh vol-resize volume3 --capacity 500G --pool pool
error: Failed to change size of volume 'volume3' to 500G

error: this function is not supported by the connection driver: storage pool does not support changing of volume capacity

Des idées ?

EDIT : J'ai également essayé de bloquer la taille, sans changement :

virsh # blockresize volume3 /dev/pool/volume3 734003200
error: Failed to resize block device '/dev/pool/volume3'
error: internal error unable to execute QEMU command 'block_resize': An undefined error has occurred

4voto

David Points 31

Tout d'abord, vous devez redimensionner le périphérique de bloc en utilisant lvresize vous devez alors indiquer à libvirt la nouvelle taille.

Vous devriez pouvoir le faire de cette façon :

$ lvresize -L 500G /dev/pool/volume3
$ virsh blockresize volumes3 --path /dev/pool/volume3 --size 500G

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X