Rechercher

15.6. Gestion des images de disques virtuels à l'aide de la CLI

download PDF

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

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

  1. 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
  2. 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.

    Avertissement

    La 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.

  3. 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.

    Avertissement

    Le 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

  1. 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
  2. Facultatif : Sauvegarder l'image disque actuelle.

    # cp <example-image.qcow2> <example-image-backup.qcow2>
  3. 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
  4. 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

  1. 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
  2. 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

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

  1. 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
  2. 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

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.