GNU/Linux >> Tutoriels Linux >  >> Linux

CentOS / RHEL 7 :Comment configurer kdump

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é.

1. Installez le package kexec-tools s'il n'est pas déjà installé
Pour utiliser le service kdump, vous devez avoir installé le package kexec-tools. S'il n'est pas déjà installé, installez les kexec-tools .

# yum install kexec-tools

2. Configuration de l'utilisation de la mémoire dans GRUB2
Pour configurer la quantité de mémoire réservée au noyau kdump, modifiez /etc/default/grub et modifiez GRUB_CMDLINE_LINUX , définissez le paramètre crashkernel=[size] sur la liste des options du noyau.

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=128M  vconsole.keymap=us rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

Exécutez la commande ci-dessous pour régénérer la configuration grub :

# grub2-mkconfig -o /boot/grub2/grub.cfg

Redémarrez le système pour que le paramètre du noyau prenne effet.

# shutdown -r now

3. Configuration de l'emplacement de vidage
Pour configurer kdump, nous devons éditer le fichier de configuration /etc/kdump.conf . L'option par défaut est de stocker le fichier vmcore est le /var/crash/ répertoire du système de fichiers local. Pour changer le répertoire local dans lequel le vidage de mémoire doit être enregistré et remplacer la valeur par le chemin de répertoire souhaité.
Par exemple :

path /usr/local/cores

En option, vous pouvez également enregistrer le vidage de mémoire directement sur une partition brute.
Par exemple :

raw /dev/sdb4

Pour stocker le vidage sur une machine distante à l'aide du protocole NFS, supprimez le signe dièse ("#") au début de la ligne #nfs my.server.com:/export/tmp et remplacez la valeur par un nom d'hôte valide et chemin du répertoire.
Par exemple :

nfs my.server.com:/export/tmp

4. Configuration de Core Collector
Pour réduire la taille du fichier de vidage vmcore, kdump vous permet de spécifier une application externe pour compresser les données et éventuellement d'omettre toutes les informations non pertinentes. Actuellement, le seul collecteur de base entièrement pris en charge est makedumpfile.
Pour activer le collecteur de base, modifiez le fichier de configuration /etc/kdump.conf, supprimez le signe dièse ("#") au début du #core_collector makedumpfile -c –message-level 1 -d 31 ligne et modifiez les options de ligne de commande comme décrit ci-dessous.
Par exemple :

core_collector makedumpfile -c

5. Modification de l'action par défaut
Nous pouvons également spécifier l'action par défaut à effectuer lorsque le vidage mémoire ne parvient pas à se générer à l'emplacement souhaité. Si aucune action par défaut n'est spécifiée, "reboot" est supposé par défaut.
Par exemple :

default halt

6. Démarrer le démon kdump
Vérifiez et assurez-vous que la ligne de commande du noyau inclut la configuration de kdump et que la mémoire a été réservée pour le noyau en panne :

# cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.8.13-98.2.1.el7uek.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root crashkernel=128M rd.lvm.lv=rhel/swap vconsole.font=latarcyrheb-sun16 vconsole.keymap=us rhgb quiet nomodeset

Le service Set kdump peut être démarré lors du redémarrage du système.

# systemctl enable kdump.service

Pour démarrer le service dans la session en cours, utilisez la commande suivante :

# systemctl start kdump.service

7. Tester kdump (déclencher manuellement kdump)
Pour tester la configuration, nous pouvons redémarrer le système avec kdump activé et nous assurer que le service est en cours d'exécution.

Par exemple :

# systemctl is-active kdump
active
# service kdump status
Redirecting to /bin/systemctl status  kdump.service
kdump.service - Crash recovery kernel arming
Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled)
Active: active (exited) since 一 2015-08-31 05:12:57 GMT; 1min 6s ago
Process: 19104 ExecStop=/usr/bin/kdumpctl stop (code=exited, status=0/SUCCESS)
Process: 19116 ExecStart=/usr/bin/kdumpctl start (code=exited, status=0/SUCCESS)
Main PID: 19116 (code=exited, status=0/SUCCESS)
Aug 31 05:12:57 ol7 kdumpctl[19116]: kexec: loaded kdump kernel
Aug 31 05:12:57 ol7 kdumpctl[19116]: Starting kdump: [OK]
Aug 31 05:12:57 ol7 systemd[1]: Started Crash recovery kernel arming.

Tapez ensuite les commandes suivantes à l'invite du shell :

# echo 1 > /proc/sys/kernel/sysrq
# echo c > /proc/sysrq-trigger

Cela forcera le noyau Linux à planter et le fichier address-YYYY-MM-DD-HH:MM:SS/vmcore sera copié à l'emplacement que vous avez sélectionné dans la configuration (c'est-à-dire vers /var/crash/ par par défaut)

CentOS / RHEL 6 :Comment configurer kdump
CentOS / RHEL 5 :Comment configurer kdump
Comment configurer Kdump sur SuSE Linux Enterprise System 10 et 11


Linux
  1. Comment configurer le proxy dans CentOS/RHEL/Fedora

  2. Dépannage des problèmes de kdump dans CentOS/RHEL

  3. CentOS / RHEL 6 :Comment configurer kdump

  4. CentOS / RHEL 5 :Comment configurer kdump

  5. CentOS / RHEL :Comment configurer un serveur DHCP

Comment configurer une adresse IP statique dans CentOS 7 / RHEL 7

Comment configurer une adresse IP statique dans CentOS 8 / RHEL 8

Comment installer et configurer Ansible sur CentOS 8 / RHEL 8

Comment installer et configurer GlusterFS sur CentOS 7/CentOS 8

CentOS / RHEL 7 :Comment configurer kdump à l'aide de l'interface graphique

Comment configurer le serveur VNC sur CentOS/RHEL 6