13.2. Création d'instantanés de machines virtuelles à l'aide de l'interface de ligne de commande


Pour sauvegarder l'état d'une machine virtuelle (VM) dans un instantané, vous pouvez utiliser la commande virsh snapshot-create-as.

Conditions préalables

  • Votre hôte utilise RHEL 9.4 ou une version ultérieure.
  • La VM utilise un stockage basé sur des fichiers. Pour vérifier si c'est le cas, utilisez la commande suivante et assurez-vous que le périphérique disk affiche disk type comme file:

    # virsh dumpxml <vm-name> | grep "disk type"
        <disk type='file' device='disk'>
        <disk type='file' device='cdrom'>
  • Si vous souhaitez créer un instantané de VM qui inclut la mémoire d'une VM en cours d'exécution, vous devez disposer de suffisamment d'espace disque pour stocker la mémoire de la VM.

    • L'espace minimum recommandé pour la sauvegarde de la mémoire d'une VM est égal à la RAM attribuée à la VM. Par exemple, la sauvegarde de la mémoire d'une VM avec 32 Go de RAM nécessite jusqu'à 32 Go d'espace disque.
    • Si la VM est soumise à une forte charge d'E/S, un espace disque supplémentaire important peut être nécessaire.
    • Si des périphériques VFIO passthrough ont été attribués à la VM, de l'espace disque supplémentaire peut être nécessaire.
    • Si un instantané est créé sans mettre la VM en pause, de l'espace disque supplémentaire peut être nécessaire.

      Avertissement

      Red Hat recommande de ne pas sauvegarder la mémoire d'une VM en cours d'exécution qui est soumise à une charge de travail très élevée ou qui utilise des périphériques VFIO passthrough. Sauvegarder la mémoire de telles VM pourrait remplir le disque de l'hôte et dégrader le système. Au lieu de cela, envisagez de créer des instantanés sans mémoire pour de telles VM.

      En outre, il convient de noter que tous les périphériques VFIO ne sont pas en mesure de créer des instantanés avec mémoire. Actuellement, la création d'un instantané avec mémoire ne fonctionne correctement que si le périphérique VFIO connecté est un VF Mellanox dont la capacité de migration est activée.

Procédure

  • Pour créer un instantané de VM avec les paramètres requis, utilisez la commande virsh snapshot-create-as.

    # virsh snapshot-create-as <vm-name> <snapshot-name> <optional-description> <additional-parameters>
    • Pour créer un instantané d'une VM arrêtée, utilisez le paramètre --disk-only. Par exemple, la commande suivante crée Snapshot1 à partir de l'état actuel du disque de la VM arrêtée Testguest1:

      # virsh snapshot-create-as Testguest1 Snapshot1 --disk-only
      Domain snapshot Snapshot1 created.
    • Pour créer un instantané qui sauvegarde l'état du disque d'une VM en cours d'exécution mais pas sa mémoire, utilisez les paramètres --disk-only --quiesce. Par exemple, la commande suivante crée Snapshot2 à partir de l'état actuel du disque de la VM en cours d'exécution Testguest2, avec la description clean system install:

      # virsh snapshot-create-as Testguest2 Snapshot2 "clean system install" --disk-only --quiesce
      Domain snapshot Snapshot2 created.
    • Pour créer un instantané qui met en pause une VM en cours d'exécution et sauvegarde son état de disque et de mémoire, utilisez le paramètre --memspec. Par exemple, la commande suivante met en pause la VM Testguest3 et crée Snapshot3 à partir de l'état actuel du disque et de la mémoire de la VM. La mémoire de la VM est enregistrée dans le fichier /var/lib/libvirt/images/saved_memory.img. Lorsque l'instantané est terminé, la VM reprend automatiquement ses activités.

      # virsh snapshot-create-as Testguest3 Snapshot3 --memspec /var/lib/libvirt/images/saved_memory.img
      Domain snapshot Snapshot3 created.

      La mise en pause de la VM pendant le processus d'instantané crée un temps d'arrêt, mais peut fonctionner de manière plus fiable que la création d'un instantané en direct d'une VM en cours d'exécution (en utilisant l'option --live ), en particulier pour les VM soumises à une charge importante.

    • Pour créer un instantané qui enregistre l'état du disque d'une VM en cours d'exécution ainsi que sa mémoire vive, utilisez les paramètres --live --memspec. Par exemple, la commande suivante crée Snapshot4 à partir de l'état actuel du disque et de la mémoire de la VM en cours d'exécution Testguest4, et enregistre l'état de la mémoire dans le fichier /var/lib/libvirt/images/saved_memory2.img.

      # virsh snapshot-create-as Testguest4 Snapshot4 --live --memspec /var/lib/libvirt/images/saved_memory2.img
      Domain snapshot Snapshot4 created.
Avertissement

L'enregistrement de la mémoire d'une VM dans un instantané permet de sauvegarder l'état des processus en cours d'exécution dans le système d'exploitation invité de la VM. Toutefois, lorsque vous revenez à un tel instantané, les processus peuvent échouer en raison de divers facteurs, tels que la perte de connectivité réseau ou la désynchronisation de l'heure système.

Vérification

  1. Liste les instantanés associés à la VM spécifiée :

    # virsh snapshot-list <Testguest1>
    
     Name                    Creation Time               State
    --------------------------------------------------------------
    Snapshot1               2024-01-30 18:34:58 +0100   shutoff
  2. Vérifiez que l'instantané a été créé à l'adresse external:

    # virsh snapshot-dumpxml <Testguest1> <Snapshot1> | grep external
    
      <disk name='vda' snapshot='external' type='file'>

    Si la sortie de cette commande inclut snapshot='external', l'instantané est externe et donc entièrement pris en charge par Red Hat.

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.