15.6. Gestion des images de disques virtuels à l'aide de la CLI
Les images de disques virtuels sont un type de volumes de stockage virtuels et fournissent un espace de stockage aux machines virtuelles (VM) de la même manière que les disques durs fournissent un espace de stockage aux machines physiques.
Lors de la création d'une nouvelle VM, libvirt
crée automatiquement une nouvelle image disque, sauf indication contraire de votre part. Toutefois, en fonction de votre cas d'utilisation, vous pouvez souhaiter créer et gérer une image de disque séparément de la VM.
15.6.1. Création d'une image de disque virtuel à l'aide de qemu-img
Si vous avez besoin de créer une nouvelle image de disque virtuel séparément d'une nouvelle machine virtuelle (VM) et que la création d'un volume de stockage n'est pas viable pour vous, vous pouvez utiliser l'utilitaire de ligne de commande qemu-img
.
Procédure
Créez une image de disque virtuel à l'aide de l'utilitaire
qemu-img
:# qemu-img create -f <format> <image-name> <size>
Par exemple, la commande suivante crée une image disque qcow2 nommée test-image d'une taille de 30 gigaoctets.
# qemu-img create -f qcow2 test-image 30G Formatting 'test-img', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=32212254720 lazy_refcounts=off refcount_bits=16
Vérification
Affichez les informations relatives à l'image que vous avez créée et vérifiez qu'elle a la taille requise et qu'elle n'est pas corrompue :
# qemu-img info <test-img> image: test-img file format: qcow2 virtual size: 30 GiB (32212254720 bytes) disk size: 196 KiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: false refcount bits: 16 corrupt: false extended l2: false
Ressources supplémentaires
15.6.2. Vérification de la cohérence d'une image de disque virtuel
Avant d'attacher une image de disque à une machine virtuelle (VM), assurez-vous que l'image de disque ne présente pas de problèmes, tels qu'une corruption ou une fragmentation importante. Pour ce faire, vous pouvez utiliser la commande qemu-img check
.
Si nécessaire, vous pouvez également utiliser cette commande pour tenter de réparer l'image disque.
Conditions préalables
- Toutes les machines virtuelles (VM) qui utilisent l'image disque doivent être arrêtées.
Procédure
Utilisez la commande
qemu-img check
sur l'image que vous souhaitez tester. Par exemple :# qemu-img check <test-name.qcow2> No errors were found on the image. 327434/327680 = 99.92% allocated, 0.00% fragmented, 0.00% compressed clusters Image end offset: 21478375424
Si la vérification trouve des problèmes sur l'image de disque, la sortie de la commande ressemble à ce qui suit :
167 errors were found on the image. Data may be corrupted, or further writes to the image may corrupt it. 453368 leaked clusters were found on the image. This means waste of disk space, but no harm to data. 259 internal errors have occurred during the check. Image end offset: 21478375424
Réparez-les en utilisant la commande
qemu-img check
avec l'option-r all
. Notez cependant que cela peut ne résoudre qu'une partie des problèmes.AvertissementLa réparation de l'image disque peut entraîner une corruption des données ou d'autres problèmes. Sauvegardez l'image disque avant de procéder à la réparation.
# qemu-img check -r all <test-name.qcow2> [...] 122 errors were found on the image. Data may be corrupted, or further writes to the image may corrupt it. 250 internal errors have occurred during the check. Image end offset: 27071414272
Cette sortie indique le nombre de problèmes trouvés sur l'image disque après la réparation.
-
Si d'autres réparations d'images de disque sont nécessaires, vous pouvez utiliser divers outils
libguestfs
dans le shellguestfish
.
Ressources supplémentaires
-
La page de manuel
qemu-img
-
La page de manuel
guestfish
15.6.3. Redimensionnement d'une image de disque virtuel
Si une image de disque existante nécessite de l'espace supplémentaire, vous pouvez utiliser l'utilitaire qemu-img resize
pour modifier la taille de l'image afin de l'adapter à votre cas d'utilisation.
Conditions préalables
- Vous avez créé une copie de sauvegarde de l'image disque.
Toutes les machines virtuelles (VM) qui utilisent l'image disque doivent être arrêtées.
AvertissementLe redimensionnement de l'image disque d'une VM en cours d'exécution peut entraîner une corruption des données ou d'autres problèmes.
- Le disque dur de l'hôte dispose de suffisamment d'espace libre pour la taille prévue de l'image disque.
- Facultatif : vous vous êtes assuré que l'image de disque ne présente pas de corruption de données ou de problèmes similaires. Pour plus d'informations, voir Vérification de la cohérence d'une image de disque virtuel.
Procédure
Déterminez l'emplacement du fichier d'image disque de la VM que vous souhaitez redimensionner. Par exemple :
# virsh domblklist <vm-name> Target Source ---------------------------------------------------------- vda /home/username/disk-images/example-image.qcow2
Facultatif : Sauvegarder l'image disque actuelle.
# cp <example-image.qcow2> <example-image-backup.qcow2>
Utilisez l'utilitaire
qemu-img resize
pour redimensionner l'image.Par exemple, pour augmenter la taille de <example-image.qcow2> de 10 gigaoctets :
# qemu-img resize <example-image.qcow2> 10G
- Redimensionnez le système de fichiers, les partitions ou les volumes physiques à l'intérieur de l'image disque pour utiliser l'espace supplémentaire. Pour ce faire, dans un système d'exploitation invité RHEL, suivez les instructions des sections Gestion des périphériques de stockage et Gestion des systèmes de fichiers.
Vérification
Affiche des informations sur l'image redimensionnée et vérifie si elle a la taille prévue :
# qemu-img info <converted-image.qcow2> image: converted-image.qcow2 file format: qcow2 virtual size: 30 GiB (32212254720 bytes) disk size: 196 KiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: false refcount bits: 16 corrupt: false extended l2: false
- Vérifiez que l'image de disque redimensionnée ne contient pas d'erreurs potentielles. Pour plus d'informations, voir Vérification de la cohérence d'une image de disque virtuel.
Ressources supplémentaires
-
La page de manuel
qemu-img
- Gestion des périphériques de stockage
- Gestion des systèmes de fichiers
15.6.4. Conversion entre formats d'images de disques virtuels
Vous pouvez convertir l'image du disque virtuel dans un format différent à l'aide de la commande qemu-img convert
. Par exemple, la conversion d'un format d'image de disque virtuel à un autre peut s'avérer nécessaire si vous souhaitez attacher l'image de disque à une machine virtuelle (VM) fonctionnant sur un hyperviseur différent.
Conditions préalables
- Toutes les machines virtuelles (VM) qui utilisent l'image disque doivent être arrêtées.
Procédure
Utilisez la commande
qemu-im convert
pour convertir une image de disque virtuel existante dans un format différent. Par exemple, pour convertir une image de disque raw en une image de disque QCOW2:# qemu-img convert -f raw <original-image.img> -O qcow2 <converted-image.qcow2>
Vérification
Affiche des informations sur l'image convertie et vérifie si elle a le format et la taille prévus.
# qemu-img info <converted-image.qcow2> image: converted-image.qcow2 file format: qcow2 virtual size: 30 GiB (32212254720 bytes) disk size: 196 KiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: false refcount bits: 16 corrupt: false extended l2: false
- Vérifiez que l'image du disque ne contient pas d'erreurs potentielles. pour plus d'informations, voir Vérifier la cohérence d'une image de disque virtuel.
Ressources supplémentaires
- Vérification de la cohérence d'une image de disque virtuel
-
La page de manuel
qemu-img