Pour obtenir un core dump d'une machine virtuelle Xen ou KVM à l'aide de virsh, suivez ces étapes :
Activer Crashkernel dans GRUB (pour CentOS/RHEL) :
Pour CentOS ou Red Hat Enterprise Linux (RHEL), vous devrez activer le crash kernel. Modifiez le fichier /etc/default/grub
et ajoutez le paramètre crashkernel
. Par exemple :
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet crashkernel=auto"
Ensuite, mettez à jour GRUB :
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Redémarrez le système pour que les modifications prennent effet.
Vérifier le noyau et kexec-tools :
Assurez-vous que vous avez installé kexec-tools et un paquet kernel-debug approprié sur votre système.
sudo yum install kexec-tools kernel-debug
Vérifiez que le service kexec est activé et en cours d'exécution :
sudo systemctl enable kexec-reboot
sudo systemctl start kexec-reboot
Simuler un crash de la machine virtuelle :
Simulez un crash du noyau à l'intérieur de la machine virtuelle. Vous pouvez le faire en exécutant la commande suivante à l'intérieur de la machine virtuelle :
echo c > /proc/sysrq-trigger
Surveiller l'événement de crash :
Sur l'hyperviseur, surveillez l'événement de crash à l'aide de dmesg :
dmesg | grep "crash"
Vous devriez voir des messages indiquant qu'un événement de crash a eu lieu.
Capturer le core dump avec virsh :
Utilisez virsh pour capturer le core dump :
sudo virsh dump <nom_du_domaine> /chemin/vers/sauvegarde/vmcore
Remplacez <nom_du_domaine>
par le nom de votre machine virtuelle.
Analyser le core dump :
Vous pouvez utiliser des outils comme crash ou gdb pour analyser le fichier vmcore. Installez crash s'il n'est pas déjà installé :
sudo yum install crash
Ensuite, utilisez crash avec le fichier vmcore :
sudo crash /chemin/vers/sauvegarde/vmcore /usr/lib/debug/lib/modules/$(uname -r)/vmlinux
Utilisez la commande bt
dans crash pour obtenir un backtrace et analyser le crash.
Remarque :
Obtenir un vmcore et l'analyser nécessite une certaine expertise dans le débogage des problèmes liés au noyau. Assurez-vous de sauvegarder les données importantes et les configurations avant de tenter l'une de ces étapes, car un crash du système et la capture d'un vmcore peuvent entraîner une perte de données ou une instabilité du système. Si vous avez des doutes, il est recommandé de demander de l'aide à un administrateur système expérimenté ou à des canaux de support.