15.5. Gestion des volumes de stockage des machines virtuelles à l'aide de la CLI


Vous pouvez utiliser la CLI pour gérer les aspects suivants de vos volumes de stockage afin d'affecter du stockage à vos machines virtuelles (VM) :

15.5.1. Visualisation des informations sur les volumes de stockage à l'aide de l'interface de ligne de commande

En utilisant la ligne de commande, vous pouvez afficher une liste de tous les pools de stockage disponibles sur votre hôte, ainsi que des détails sur un pool de stockage spécifique

Procédure

  1. La commande virsh vol-list permet de répertorier les volumes de stockage d'un pool de stockage donné.

    # virsh vol-list --pool RHEL-Storage-Pool --details
     Name                Path                                               Type   Capacity  Allocation
    ---------------------------------------------------------------------------------------------
     .bash_history       /home/VirtualMachines/.bash_history       file  18.70 KiB   20.00 KiB
     .bash_logout        /home/VirtualMachines/.bash_logout        file    18.00 B    4.00 KiB
     .bash_profile       /home/VirtualMachines/.bash_profile       file   193.00 B    4.00 KiB
     .bashrc             /home/VirtualMachines/.bashrc             file   1.29 KiB    4.00 KiB
     .git-prompt.sh      /home/VirtualMachines/.git-prompt.sh      file  15.84 KiB   16.00 KiB
     .gitconfig          /home/VirtualMachines/.gitconfig          file   167.00 B    4.00 KiB
     RHEL_Volume.qcow2   /home/VirtualMachines/RHEL8_Volume.qcow2  file  60.00 GiB   13.93 GiB
  2. La commande virsh vol-info permet de répertorier les volumes de stockage d'un pool de stockage donné.

    # virsh vol-info --pool RHEL-Storage-Pool --vol RHEL_Volume.qcow2
    Name:           RHEL_Volume.qcow2
    Type:           file
    Capacity:       60.00 GiB
    Allocation:     13.93 GiB

15.5.2. Création et affectation de volumes de stockage à l'aide de la CLI

Pour obtenir une image de disque et l'attacher à une machine virtuelle (VM) en tant que disque virtuel, créez un volume de stockage et attribuez sa configuration XML à la VM.

Conditions préalables

  • Un pool de stockage avec de l'espace non alloué est présent sur l'hôte.

    • Pour vérifier, dressez la liste des pools de stockage sur l'hôte :

      # virsh pool-list --details
      
      Name               State     Autostart   Persistent   Capacity     Allocation   Available
      --------------------------------------------------------------------------------------------
      default            running   yes         yes          48.97 GiB    36.34 GiB    12.63 GiB
      Downloads          running   yes         yes          175.92 GiB   121.20 GiB   54.72 GiB
      VM-disks           running   yes         yes          175.92 GiB   121.20 GiB   54.72 GiB
    • Si vous n'avez pas de pool de stockage existant, créez-en un. Pour plus d'informations, voir Gestion du stockage pour les machines virtuelles.

Procédure

  1. Créez un volume de stockage à l'aide de la commande virsh vol-create-as. Par exemple, pour créer un volume qcow2 de 20 Go basé sur le pool de stockage guest-images-fs:

    # virsh vol-create-as --pool guest-images-fs --name vm-disk1 --capacity 20 --format qcow2

    Important: Certains types de pools de stockage ne prennent pas en charge la commande virsh vol-create-as et nécessitent des processus spécifiques pour créer des volumes de stockage :

    • iSCSI-based - Préparez les LUN iSCSI à l'avance sur le serveur iSCSI.
    • Multipath-based - Utilisez la commande multipathd pour préparer ou gérer le chemin multiple.
    • vHBA-based - Préparez la carte fibre channel à l'avance.
  2. Créez un fichier XML et ajoutez-y les lignes suivantes. Ce fichier sera utilisé pour ajouter le volume de stockage en tant que disque à une VM.

    <disk type='volume' device='disk'>
        <driver name='qemu' type='qcow2'/>
        <source pool='guest-images-fs' volume='vm-disk1'/>
        <target dev='hdk' bus='ide'/>
    </disk>

    Cet exemple spécifie un disque virtuel qui utilise le volume vm-disk1, créé à l'étape précédente, et configure le volume en tant que disque hdk sur un bus ide. Modifiez les paramètres respectifs en fonction de votre environnement.

    Important: Avec certains types de pools de stockage, vous devez utiliser différents formats XML pour décrire un disque de volume de stockage.

    • Pour les piscines multipath-based:

      <disk type='block' device='disk'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/mapper/mpatha' />
      <target dev='sda' bus='scsi'/>
      </disk>
    • Pour les piscines RBD-based storage:

        <disk type='network' device='disk'>
          <driver name='qemu' type='raw'/>
          <source protocol='rbd' name='pool/image'>
            <host name='mon1.example.org' port='6321'/>
          </source>
          <target dev='vdc' bus='virtio'/>
        </disk>
  3. Utilisez le fichier XML pour affecter le volume de stockage en tant que disque à une VM. Par exemple, pour affecter un disque défini dans ~/vm-disk1.xml à la VM testguest1, utilisez la commande suivante :

    # virsh attach-device --config testguest1 ~/vm-disk1.xml

Vérification

  • Dans le système d'exploitation invité de la VM, confirmez que l'image disque est devenue disponible en tant que disque non formaté et non alloué.

15.5.3. Suppression de volumes de stockage à l'aide de l'interface de programmation

Pour supprimer un volume de stockage de votre système hôte, vous devez arrêter le pool et supprimer sa définition XML.

Conditions préalables

  • Toute machine virtuelle utilisant le volume de stockage à supprimer est arrêtée.

Procédure

  1. La commande virsh vol-list permet de répertorier les volumes de stockage d'un pool de stockage donné.

    # virsh vol-list --pool RHEL-SP
     Name                 Path
    ---------------------------------------------------------------
     .bash_history        /home/VirtualMachines/.bash_history
     .bash_logout         /home/VirtualMachines/.bash_logout
     .bash_profile        /home/VirtualMachines/.bash_profile
     .bashrc              /home/VirtualMachines/.bashrc
     .git-prompt.sh       /home/VirtualMachines/.git-prompt.sh
     .gitconfig           /home/VirtualMachines/.gitconfig
     vm-disk1             /home/VirtualMachines/vm-disk1
  2. Optional: Utilisez la commande virsh vol-wipe pour effacer un volume de stockage. Par exemple, pour effacer un volume de stockage nommé vm-disk1 associé au pool de stockage RHEL-SP:

    # virsh vol-wipe --pool RHEL-SP vm-disk1
    Vol vm-disk1 wiped
  3. Utilisez la commande virsh vol-delete pour supprimer un volume de stockage. Par exemple, pour supprimer un volume de stockage nommé vm-disk1 associé au pool de stockage RHEL-SP:

    # virsh vol-delete --pool RHEL-SP vm-disk1
    Vol vm-disk1 deleted

Vérification

  • Utilisez à nouveau la commande virsh vol-list pour vérifier que le volume de stockage a été supprimé.

    # virsh vol-list --pool RHEL-SP
     Name                 Path
    ---------------------------------------------------------------
     .bash_history        /home/VirtualMachines/.bash_history
     .bash_logout         /home/VirtualMachines/.bash_logout
     .bash_profile        /home/VirtualMachines/.bash_profile
     .bashrc              /home/VirtualMachines/.bashrc
     .git-prompt.sh       /home/VirtualMachines/.git-prompt.sh
     .gitconfig           /home/VirtualMachines/.gitconfig
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.