J'exécute Ubuntu 12.04 sur AWS / EC2 et j'ai un grand nombre d'hôtes en hausse. J'essaie d'activer le vidage du noyau, mais lorsque je simule une panique du noyau, il n'y a aucun fichier .crash écrit nulle part sur le système de fichiers.
J'ai suivi les instructions ici: https://wiki.ubuntu.com/Kernel/CrashdumpRecipe
Et les choses semblent bien configurées:
# cat /proc/cmdline
root=LABEL=cloudimg-rootfs ro console=hvc0 crashkernel=384M-2G:64M,2G-:128M
# dmesg |grep crash
[ 0.000000] Command line: root=LABEL=cloudimg-rootfs ro console=hvc0 crashkernel=384M-2G:64M,2G-:128M
[ 0.000000] Reserving 64MB of memory at 832MB for crashkernel (System RAM: 1708MB)
[ 0.000000] Kernel command line: root=LABEL=cloudimg-rootfs ro console=hvc0 crashkernel=384M-2G:64M,2G-:128M
# cat /sys/kernel/kexec_crash_loaded
1
Mais quand j'exécute:
# echo c | sudo tee /proc/sysrq-trigger
Le système redémarre comme prévu, mais aucun fichier de «crash» d'aucune sorte n'est généré. Que pourrais-je faire de mal?
kernel-panic
crash
Stephan
la source
la source
/var/log/messages
?Réponses:
Assurez-vous que le script de démarrage de kdump est activé. Les packages kexec_crash s'appuient sur un initscript pour contourner la routine de démarrage normale. Il détermine si l'appel en cours de ou non a
init
été invoqué par un plantage et l'utilise pour déterminer si l'état d'exécution précédent doit être vidé ou non avant d'effectuer un véritable redémarrage.Cela dit, si votre système de test n'est pas assez petit pour tenir dans 64 Mo sans que vous remarquiez que chaque autre plantage réduit votre mémoire totale, ce n'est probablement pas ce qui se passe.
La principale chose que vous devez rechercher est de savoir si le second
init
tire. Immédiatement après avoir fait planter le système, vous devriez voir des séquences de démarrage initscript sur la console qui ne sont pas précédées d'un redémarrage .init
feu, le redémarrage du système,init
démarre à nouveau , et malgré tout cela , vous avez encore pas de fichier ... vous devez résoudre ce qui se passe juste avant le kdump initscript délivre le redémarrage. Ironiquement, l'une des meilleures méthodes consiste à désactiver l'initscript et à exécuter les commandes à la main. (attention: assurez-vous que vos services peuvent tenir dans la mémoire du noyau de crash avant de tenter cela!)la source