Kdump est un mécanisme avancé de vidage sur incident. Lorsqu'il est activé, le système est démarré à partir du contexte d'un autre noyau. Ce deuxième noyau réserve une petite quantité de mémoire et son seul but est de capturer l'image de vidage de mémoire en cas de panne du système. Étant donné que la possibilité d'analyser le vidage mémoire aide considérablement à déterminer la cause exacte de la défaillance du système, il est fortement recommandé d'activer cette fonctionnalité.
Kexec est un mécanisme de démarrage rapide qui permet de démarrer un noyau Linux à partir du contexte d'un noyau déjà en cours d'exécution sans passer par le BIOS. Kdump utilise kexec pour démarrer dans un deuxième noyau chaque fois que le système plante.
# up2date --nox -u kexec-tools Fetching Obsoletes list for channel: el5_i386_latest... ######################################## Fetching rpm headers... ######################################## Name Version Rel ---------------------------------------------------------- kexec-tools 1.101 194.4.el5.0.1 i386 Testing package set / solving RPM inter-dependencies... ######################################## kexec-tools-1.101-194.4.el5 ########################## Done. Preparing ########################################### [100%] Installing... 1:kexec-tools ########################################### [100%]
Les valeurs spécifiées doivent indiquer que kexec est activé et que ce noyau peut être utilisé comme noyau de plantage :
# cat /boot/config-`uname -r` CONFIG_KEXEC=y CONFIG_CRASH_DUMP=y ...
Modifiez le fichier /etc/grub.conf et ajoutez "crashkernel=128M@16M" à la ligne du noyau pour réserver 128 Mo de mémoire, à partir de l'adresse physique 0x01000000 (16 Mo)
# vi /etc/grub.conf ... title Red Hat Enterprise Linux Server (2.6.18-8.el5) root (hd0,0) kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet crashkernel=128M@16M initrd /initrd-2.6.18-8.el5.img ...
La quantité de mémoire réservée peut varier en fonction de la quantité de mémoire sur le système.
Différents types d'emplacements cibles de vidage peuvent être spécifiés dans le fichier /etc/kdump.conf. Vous pouvez spécifier un répertoire de votre choix dans ce fichier. Par exemple :
path /usr/local/cores
Voici un exemple d'entrée qui utilise NFS comme emplacement pour la cible de vidage. Par exemple, ci-dessous montera le système de fichiers et copiera
le fichier vmcore sur le serveur NFS
net my.server.com:/export/tmp
Pour plus d'options, veuillez consulter /etc/kdump.conf.
Ce fichier définit la spécification du noyau de capture de vidage, y compris son nom/emplacement et la ligne de commande du noyau s'il doit être différent du noyau en cours d'exécution.
# cat /etc/sysconfig/kdump KDUMP_KERNELVER="" KDUMP_COMMANDLINE="" KDUMP_COMMANDLINE_APPEND="irqpoll maxcpus=1" KEXEC_ARGS=" --args-linux" KDUMP_BOOTDIR="/boot" KDUMP_IMG="vmlinuz"
KDUMP_COMMANDLINE modify the default crash kernel command line from /proc/cmdline KDUMP_COMMANDLINE_APPEND adds irqpoll and maxcpus=1 to the command line for the crash kernel KEXEC_ARGS adds --args-linux to the kexec command line KDUMP_BOOTDIR is set to /boot KDUMP_IMG specifies the crash kernel image name, defaulting to /boot/vmlinuz with the current kernel version appended
Le service Set kdump peut être lancé lors du redémarrage du système.
# chkconfig kdump on
Remarque :il ne peut pas être démarré car le nouveau paramètre du noyau n'est pas encore en vigueur.
Vérifiez que kdump est actif :
# cat /proc/cmdline ro root=/dev/VolGroup00/LogVol00 rhgb quiet crashkernel=128M@16M
# /etc/init.d/kdump status Kdump is operational
# /sbin/chkconfig --list |grep kdump kdump 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# echo c > /proc/sysrq-trigger
Cela provoque une panique du noyau, suivie du redémarrage du système dans le noyau kdump. Lorsque le processus de démarrage arrive au point où il démarre le service kdump, le fichier vmcore doit être copié sur le disque à l'emplacement spécifié dans le fichier /etc/kdump.conf.
CentOS / RHEL 6 :Comment configurer kdumpCentOS / RHEL 7 :Comment configurer kdump
Comment configurer Kdump sur SuSE Linux Enterprise System 10 et 11