Rechercher

Chapitre 15. Gestion du stockage pour les machines virtuelles

download PDF

Une machine virtuelle (VM), tout comme une machine physique, nécessite un espace de stockage pour les données, les programmes et les fichiers système. En tant qu'administrateur de machines virtuelles, vous pouvez attribuer à vos machines virtuelles un espace de stockage physique ou en réseau en tant qu'espace de stockage virtuel. Vous pouvez également modifier la façon dont le stockage est présenté à une VM, quel que soit le matériel sous-jacent.

Les sections suivantes fournissent des informations sur les différents types de stockage de VM, leur fonctionnement et la manière dont vous pouvez les gérer à l'aide de l'interface CLI ou de la console Web.

15.1. Comprendre le stockage des machines virtuelles

Si vous êtes novice en matière de stockage de machines virtuelles (VM) ou si vous n'êtes pas sûr de son fonctionnement, les sections suivantes fournissent une vue d'ensemble des différents composants du stockage de VM, de son fonctionnement, des bases de la gestion et des solutions prises en charge fournies par Red Hat.

Vous pouvez trouver des informations sur :

15.1.1. Introduction aux pools de stockage

Un pool de stockage est un fichier, un répertoire ou un périphérique de stockage, géré par libvirt pour fournir un stockage aux machines virtuelles (VM). Vous pouvez diviser les pools de stockage en volumes de stockage, qui stockent les images des machines virtuelles ou sont attachés aux machines virtuelles en tant que stockage supplémentaire.

En outre, plusieurs machines virtuelles peuvent partager le même pool de stockage, ce qui permet une meilleure allocation des ressources de stockage.

  • Les pools de stockage peuvent être persistants ou transitoires :

    • Un pool de stockage persistant survit à un redémarrage du système de la machine hôte. Vous pouvez utiliser le site virsh pool-define pour créer un pool de stockage persistant.
    • Un pool de stockage transitoire n'existe que jusqu'au redémarrage de l'hôte. Vous pouvez utiliser la commande virsh pool-create pour créer un pool de stockage transitoire.

Types de stockage du pool de stockage

Les pools de stockage peuvent être locaux ou en réseau (partagés) :

  • Local storage pools

    Les pools de stockage locaux sont attachés directement au serveur hôte. Ils comprennent les répertoires locaux, les disques directement attachés, les partitions physiques et les groupes de volumes LVM (Logical Volume Management) sur les périphériques locaux.

    Les pools de stockage locaux sont utiles pour le développement, les tests et les petits déploiements qui ne nécessitent pas de migration ou qui comportent un grand nombre de machines virtuelles.

  • Networked (shared) storage pools

    Les pools de stockage en réseau comprennent des périphériques de stockage partagés sur un réseau à l'aide de protocoles standard.

15.1.2. Introduction aux volumes de stockage

Les pools de stockage sont divisés en storage volumes. Les volumes de stockage sont des abstractions de partitions physiques, de volumes logiques LVM, d'images de disque basées sur des fichiers et d'autres types de stockage gérés par libvirt. Les volumes de stockage sont présentés aux machines virtuelles comme des périphériques de stockage locaux, tels que des disques, quel que soit le matériel sous-jacent.

Sur la machine hôte, un volume de stockage est désigné par son nom et par l'identifiant du pool de stockage dont il provient. Sur la ligne de commande virsh, cela prend la forme suivante --pool storage_pool volume_name.

Par exemple, pour afficher des informations sur un volume nommé firstimage dans le pool guest_images.

# virsh vol-info --pool guest_images firstimage
  Name:             firstimage
  Type:             block
  Capacity:         20.00 GB
  Allocation:       20.00 GB

15.1.3. Gestion du stockage à l'aide de libvirt

En utilisant le protocole à distance libvirt, vous pouvez gérer tous les aspects du stockage des VM. Ces opérations peuvent également être effectuées sur un hôte distant. Par conséquent, une application de gestion qui utilise libvirt, telle que la console web RHEL, peut être utilisée pour effectuer toutes les tâches nécessaires à la configuration du stockage d'une VM.

Vous pouvez utiliser l'API libvirt pour demander la liste des volumes d'un pool de stockage ou pour obtenir des informations sur la capacité, l'allocation et le stockage disponible dans ce pool de stockage. Pour les pools de stockage qui le prennent en charge, vous pouvez également utiliser l'API libvirt pour créer, cloner, redimensionner et supprimer des volumes de stockage. En outre, vous pouvez utiliser l'API libvirt pour télécharger des données vers des volumes de stockage, télécharger des données à partir de volumes de stockage ou effacer des données à partir de volumes de stockage.

15.1.4. Vue d'ensemble de la gestion du stockage

Pour illustrer les options disponibles pour la gestion du stockage, l'exemple suivant présente un exemple de serveur NFS qui utilise mount -t nfs nfs.example.com:/path/to/share /path/to/data.

En tant qu'administrateur de stockage :

  • Vous pouvez définir un pool de stockage NFS sur l'hôte de virtualisation pour décrire le chemin du serveur exporté et le chemin cible du client. Par conséquent, libvirt peut monter le stockage soit automatiquement lorsque libvirt est démarré, soit au besoin lorsque libvirt est en cours d'exécution.
  • Vous pouvez simplement ajouter le pool de stockage et le volume de stockage à une VM par son nom. Il n'est pas nécessaire d'ajouter le chemin cible au volume. Par conséquent, même si le chemin d'accès du client cible change, cela n'affecte pas la VM.
  • Vous pouvez configurer les pools de stockage pour qu'ils démarrent automatiquement. Dans ce cas, libvirt monte automatiquement le disque partagé NFS dans le répertoire spécifié lors du démarrage de libvirt. libvirt monte le partage dans le répertoire spécifié, de la même manière que la commande mount nfs.example.com:/path/to/share /vmdata.
  • Vous pouvez interroger les chemins d'accès aux volumes de stockage à l'aide de l'API libvirt. Ces volumes de stockage sont essentiellement les fichiers présents sur le disque partagé NFS. Vous pouvez ensuite copier ces chemins dans la section de la définition XML d'une VM qui décrit le stockage source pour les périphériques de bloc de la VM.
  • Dans le cas de NFS, vous pouvez utiliser une application qui utilise l'API libvirt pour créer et supprimer des volumes de stockage dans le pool de stockage (fichiers dans le partage NFS) jusqu'à la limite de la taille du pool (capacité de stockage du partage).

    Notez que tous les types de pools de stockage ne prennent pas en charge la création et la suppression de volumes.

  • Vous pouvez arrêter un pool de stockage lorsqu'il n'est plus nécessaire. L'arrêt d'un pool de stockage (pool-destroy) annule l'opération de démarrage, dans ce cas, le démontage du partage NFS. Les données du partage ne sont pas modifiées par l'opération de destruction, malgré ce que le nom de la commande suggère. Pour plus d'informations, voir man virsh.

15.1.5. Types de pools de stockage pris en charge et non pris en charge

Supported storage pool types

Voici une liste des types de pools de stockage pris en charge par RHEL :

  • Pools de stockage basés sur un répertoire
  • Pools de stockage sur disque
  • Pools de stockage basés sur des partitions
  • pools de stockage basés sur iSCSI
  • Pools de stockage basés sur LVM
  • Pools de stockage basés sur NFS
  • Pools de stockage basés sur SCSI avec périphériques vHBA
  • Pools de stockage basés sur des chemins multiples
  • Pools de stockage basés sur les BDR

Unsupported storage pool types

Voici une liste des types de pools de stockage libvirt non pris en charge par RHEL :

  • Pools de stockage basés sur des chiens de berger
  • Pools de stockage basés sur Vstorage
  • Pools de stockage basés sur ZFS
  • pools de stockage iSCSI-direct
  • Pools de stockage GlusterFS
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.