Chapitre 23. Diagnostiquer les problèmes des machines virtuelles


Lorsque vous travaillez avec des machines virtuelles (VM), vous pouvez rencontrer des problèmes plus ou moins graves. Certains problèmes peuvent être résolus rapidement et facilement, tandis que pour d'autres, vous devrez peut-être capturer des données et des journaux liés aux machines virtuelles afin de signaler ou de diagnostiquer les problèmes.

Les sections suivantes fournissent des informations détaillées sur la génération de journaux et le diagnostic de certains problèmes courants liés aux machines virtuelles, ainsi que sur le signalement de ces problèmes.

23.1. Générer les journaux de débogage de libvirt

Pour diagnostiquer les problèmes des machines virtuelles (VM), il est utile de générer et d'examiner les journaux de débogage de libvirt. Il est également utile de joindre les journaux de débogage lorsque vous demandez de l'aide pour résoudre des problèmes liés aux machines virtuelles.

Les sections suivantes expliquent ce que sont les journaux de débogage, comment les rendre persistants, les activer pendant l'exécution et les joindre lorsque vous signalez des problèmes.

23.1.1. Comprendre les journaux de débogage de libvirt

Les journaux de débogage sont des fichiers texte qui contiennent des données sur les événements qui se produisent pendant l'exécution de la machine virtuelle (VM). Les journaux fournissent des informations sur les fonctionnalités fondamentales côté serveur, telles que les bibliothèques hôtes et le démon libvirt. Les fichiers journaux contiennent également la sortie d'erreur standard (stderr) de toutes les machines virtuelles en cours d'exécution.

La journalisation de débogage n'est pas activée par défaut et doit l'être au démarrage de libvirt. Vous pouvez activer la journalisation pour une session unique ou de manière persistante. Vous pouvez également activer la journalisation lorsqu'une session du démon libvirt est déjà en cours d'exécution en modifiant les paramètres d'exécution du démon.

Il est également utile de joindre les journaux de débogage de libvirt lorsque l'on demande de l'aide pour un problème de VM.

23.1.2. Activation des paramètres persistants pour les journaux de débogage de libvirt

Vous pouvez configurer la journalisation de débogage de libvirt pour qu'elle soit automatiquement activée à chaque démarrage de libvirt. Par défaut, virtqemud est le démon principal de libvirt dans RHEL 9. Pour apporter des modifications persistantes à la configuration de libvirt, vous devez éditer le fichier virtqemud.conf, situé dans le répertoire /etc/libvirt.

Note

Dans certains cas, par exemple lors d'une mise à niveau à partir de RHEL 8, libvirtd peut encore être le démon libvirt activé. Dans ce cas, vous devez éditer le fichier libvirtd.conf à la place.

Procédure

  1. Ouvrez le fichier virtqemud.conf dans un éditeur.
  2. Remplacez ou réglez les filtres en fonction de vos besoins.

    Tableau 23.1. Débogage des valeurs des filtres

    1

    enregistre tous les messages générés par libvirt.

    2

    enregistre toutes les informations non déboguées.

    3

    enregistre tous les messages d'avertissement et d'erreur. Il s'agit de la valeur par défaut.

    4

    n'enregistre que les messages d'erreur.

    Exemple 23.1. Exemple de paramètres de démon pour les filtres de journalisation

    Les paramètres suivants :

    • Enregistrer tous les messages d'erreur et d'avertissement provenant des couches remote, util.json et rpc
    • Ne consigner que les messages d'erreur provenant de la couche event.
    • Enregistrer les journaux filtrés dans /var/log/libvirt/libvirt.log
    log_filters="3:remote 4:event 3:util.json 3:rpc"
    log_outputs="1:file:/var/log/libvirt/libvirt.log"
  3. Sauvegarder et quitter.
  4. Redémarrer le démon libvirt.

    $ systemctl restart virtqemud.service

23.1.3. Activation des journaux de débogage de libvirt pendant l'exécution

Vous pouvez modifier les paramètres d'exécution du démon libvirt pour activer les journaux de débogage et les enregistrer dans un fichier de sortie.

Ceci est utile lorsque le redémarrage du démon libvirt n'est pas possible parce que le redémarrage résout le problème, ou parce qu'un autre processus, tel que la migration ou la sauvegarde, s'exécute en même temps. La modification des paramètres d'exécution est également utile si vous souhaitez essayer une commande sans éditer les fichiers de configuration ou redémarrer le démon.

Conditions préalables

  • Assurez-vous que le paquet libvirt-admin est installé.

Procédure

  1. Optional: Sauvegarder l'ensemble actif des filtres de journalisation.

    # virt-admin -c virtqemud:///system daemon-log-filters >> virt-filters-backup
    Note

    Il est recommandé de sauvegarder l'ensemble des filtres actifs afin de pouvoir les restaurer après la génération des journaux. Si vous ne restaurez pas les filtres, les messages continueront à être enregistrés, ce qui peut affecter les performances du système.

  2. Utilisez l'utilitaire virt-admin pour activer le débogage et définir les filtres en fonction de vos besoins.

    Tableau 23.2. Débogage des valeurs des filtres

    1

    enregistre tous les messages générés par libvirt.

    2

    enregistre toutes les informations non déboguées.

    3

    enregistre tous les messages d'avertissement et d'erreur. Il s'agit de la valeur par défaut.

    4

    n'enregistre que les messages d'erreur.

    Exemple 23.2. Exemple de paramètres virt-admin pour les filtres de journalisation

    La commande suivante :

    • Enregistre tous les messages d'erreur et d'avertissement provenant des couches remote, util.json et rpc
    • Ne consigne que les messages d'erreur provenant de la couche event.
    # virt-admin -c virtqemud:///system daemon-log-filters "3:remote 4:event 3:util.json 3:rpc"
  3. Utilisez l'utilitaire virt-admin pour enregistrer les journaux dans un fichier ou un répertoire spécifique.

    Par exemple, la commande suivante enregistre la sortie du journal dans le fichier libvirt.log du répertoire /var/log/libvirt/.

    # virt-admin -c virtqemud:///system daemon-log-outputs "1:file:/var/log/libvirt/libvirt.log"
  4. Optional: Vous pouvez également supprimer les filtres pour générer un fichier journal contenant toutes les informations relatives aux machines virtuelles. Cependant, cela n'est pas recommandé car ce fichier peut contenir une grande quantité d'informations redondantes produites par les modules de libvirt.

    • Utilisez l'utilitaire virt-admin pour spécifier un ensemble vide de filtres.

      # virt-admin -c virtqemud:///system daemon-log-filters
        Logging filters:
  5. Optional: Restaurer les filtres dans leur état d'origine à l'aide du fichier de sauvegarde.
    Effectuez la deuxième étape avec les valeurs sauvegardées pour restaurer les filtres.

23.1.4. Attacher les logs de débogage de libvirt aux demandes de support

Il se peut que vous deviez demander une assistance supplémentaire pour diagnostiquer et résoudre les problèmes liés aux machines virtuelles (VM). Il est fortement recommandé de joindre les journaux de débogage à la demande d'assistance afin que l'équipe d'assistance ait accès à toutes les informations dont elle a besoin pour résoudre rapidement le problème lié à la machine virtuelle.

Procédure

  • Pour signaler un problème et demander de l'aide, ouvrez un dossier d'assistance.
  • En fonction des problèmes rencontrés, joignez les journaux suivants à votre rapport :

    • En cas de problème avec le service libvirt, joignez le fichier /var/log/libvirt/libvirt.log de l'hôte.
    • Pour les problèmes liés à une VM spécifique, joignez le fichier journal correspondant.

      Par exemple, pour la VM testguest1, joignez le fichier testguest1.log, qui se trouve à l'adresse /var/log/libvirt/qemu/testguest1.log.

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.