J’ai installé les kernel-debug mais…
Après un crash de serveur l’un des premiers réflexe (comment ça non ?) est d’aller voir si un crashdump est disponible et lisible. Lors d’une tentative de lecture du crashdump l’erreur suivante peut apparaître :
WARNING: kernels compiled by different gcc versions: /usr/lib/debug/lib/modules/2.6.32-358.14.1.el6.x86_64/vmlinux: 4.4.6 ../127.0.0.1-2013-06-13-15:45:39/vmcore kernel: 4.4.7
Pour faire court, le paquet kernel-debug installé pour lire les informations du crashdump n’est pas identique à la version du noyau utilisée lors du crash du serveur.
Mais quelle version utiliser alors ?
Installer un kernel-debug bidon c’est bien beau mais c’est inutile… 😀 Pourquoi ne pas essayer de connaître la version utilisée par notre joli core de la mort qui tue ? Pour faire ce genre de chose il suffit d’utiliser la commande strings sur notre fichier.
# strings vmcore | grep OSRELEASE
Résultat :
OSRELEASE=2.6.32-358.11.1.el6.x86_64
Le résultat est clair, la version du noyau lors du crash était 2.6.32-358.11.1 (merci RedHat pour ces numéros de versions de noyau…). Le message d’erreur vu plus haut nous montre que les kernel-debug installés sont faits pour un noyau 2.6.32-358.14.1 !
La solution consiste donc à installer la bonne version des kernel-debug en fonction du crashdump à analyser. Il est tout à fait possible d’avoir plusieurs versions de kernel-debug installés sur un serveur.
Liens
- Installer et utiliser Kdump sur Debian GNU/Linux
- Analyser un crashdump avec crash
- Paquets kernel-debuginfo pour RedHat EL 6.x
Gaëtan Trellu (goldyfruit)
Derniers articles parGaëtan Trellu (goldyfruit) (voir tous)
- Qinling, let’s the journey begin! - 23 mai 2019
- systemd-networkd, l’âge de la maturité ? - 13 mars 2018
- Hyper-V, Nova, VxLAN et Open vSwitch, enfin une belle histoire ! - 31 décembre 2017
WARNING: kernels compiled by different gcc versions par Gaëtan Trellu (goldyfruit) est sous Licence Creative Commons Internationale Attribution 4.0.