23.2. Vider le cœur d'une machine virtuelle
Pour analyser les raisons d'un crash ou d'un dysfonctionnement d'une machine virtuelle (VM), vous pouvez enregistrer le noyau de la VM dans un fichier sur le disque pour une analyse et un diagnostic ultérieurs.
Cette section présente brièvement le core dumping et explique comment vous pouvez effectuer le dumping d'un core de VM dans un fichier spécifique.
23.2.1. Comment fonctionne le vidage du cœur d'une machine virtuelle
Une machine virtuelle (VM) nécessite de nombreux processus en cours d'exécution pour fonctionner de manière précise et efficace. Dans certains cas, une VM en cours d'exécution peut s'arrêter de manière inattendue ou présenter des dysfonctionnements pendant que vous l'utilisez. Le redémarrage de la VM peut entraîner la réinitialisation ou la perte des données, ce qui complique le diagnostic du problème exact à l'origine de la panne de la VM.
Dans ce cas, vous pouvez utiliser l'utilitaire virsh dump
pour enregistrer (ou dump) le noyau d'une VM dans un fichier avant de redémarrer la VM. Le fichier core dump contient une image brute de la mémoire physique de la VM qui contient des informations détaillées sur la VM. Ces informations peuvent être utilisées pour diagnostiquer les problèmes de la VM, soit manuellement, soit à l'aide d'un outil tel que l'utilitaire crash
.
Ressources supplémentaires
-
crash
page de manuel -
Le dépôt Github
crash
23.2.2. Création d'un fichier de vidage du cœur de la machine virtuelle
Le core dump d'une machine virtuelle (VM) contient des informations détaillées sur l'état d'une VM à un moment donné. Ces informations, qui s'apparentent à un instantané de la VM, peuvent vous aider à détecter des problèmes en cas de dysfonctionnement ou d'arrêt soudain d'une VM.
Conditions préalables
- Assurez-vous que vous disposez d'un espace disque suffisant pour enregistrer le fichier. Notez que l'espace occupé par la VM dépend de la quantité de RAM allouée à la VM.
Procédure
Utilisez l'utilitaire
virsh dump
.Par exemple, la commande suivante extrait les cœurs de la VM
lander1
, sa mémoire et le fichier de registre commun du processeur versgargantua.file
dans le répertoire/core/file
.# virsh dump lander1 /core/file/gargantua.file --memory-only Domain 'lander1' dumped to /core/file/gargantua.file
L'utilitaire crash
ne prend plus en charge le format de fichier par défaut de la commande virsh dump. Pour analyser un fichier core dump à l'aide de crash
, vous devez créer le fichier avec l'option --memory-only
.
De plus, vous devez utiliser l'option --memory-only
lors de la création d'un fichier core dump à joindre à un cas d'assistance Red Hat.
Résolution de problèmes
Si la commande virsh dump
échoue avec une erreur System is deadlocked on memory
, assurez-vous que vous attribuez suffisamment de mémoire au fichier core dump. Pour ce faire, utilisez la valeur de l'option crashkernel
suivante. Sinon, n'utilisez pas du tout la commande crashkernel
, qui attribue automatiquement de la mémoire au fichier core dump.
crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M
Ressources supplémentaires
-
La commande
virsh dump --help
-
La page de manuel
virsh
- Ouverture d'un dossier d'assistance