GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer kdump dans Oracle Enterprise Linux (OEL 5,6)

Lorsque le mécanisme de vidage sur incident kdump 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 plantage du système.

Le fait de pouvoir analyser le vidage mémoire aide considérablement à déterminer la cause exacte de la défaillance du système, et il est donc fortement recommandé d'activer cette fonctionnalité. Ce chapitre explique comment configurer, tester et utiliser le service kdump dans Red Hat Enterprise Linux, et fournit un bref aperçu de la façon d'analyser le vidage mémoire résultant à l'aide de l'utilitaire de débogage de plantage.

Installation du service kdump

Pour utiliser le service kdump sur votre système, assurez-vous d'avoir les kexec-tools paquet installé. Pour ce faire, saisissez ce qui suit à l'invite du shell en tant qu'utilisateur root :

# yum install kexec-tools

Configuration du service kdump

Configuration de l'utilisation de la mémoire

Pour configurer la quantité de mémoire à réserver pour le noyau kdump, modifiez le fichier /boot/grub/grub.conf fichier et ajoutez crashkernel=[size]M ou crashkernel=auto . Notez que l'option crashkernel=auto ne réserve la mémoire que si la mémoire physique du système est égale ou supérieure à :

  • 2 Go sur les architectures x86 32 bits et 64 bits

Un exemple de fichier /boot/grub/grub.conf

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sda3
#          initrd /initrd
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.32-220.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/sda3 crashkernel=128M
        initrd /initramfs-2.6.32-220.el6.x86_64.img

Configuration du type de cible

Lorsqu'un plantage du noyau est capturé, le vidage de mémoire peut être stocké sous forme de fichier dans un système de fichiers local, écrit directement sur un périphérique ou envoyé sur un réseau à l'aide du protocole NFS (Network File System) ou SSH (Secure Shell). Une seule de ces options peut être définie pour le moment, et l'option par défaut consiste à stocker le fichier vmcore dans /var/crash/ répertoire du système de fichiers local. Pour changer cela, en tant que root, ouvrez le fichier de configuration /etc/kdump.conf dans un éditeur de texte et modifiez les options comme décrit ci-dessous.

Pour modifier le répertoire local dans lequel le vidage de mémoire doit être enregistré, supprimez le signe dièse ("#") au début de la ligne #path /var/crash et remplacez la valeur par le chemin de répertoire souhaité. Facultativement, si vous souhaitez écrire le fichier sur une autre partition, suivez également la même procédure avec la ligne #ext4 /dev/sda3 et modifiez à la fois le type de système de fichiers et le périphérique (un nom de périphérique, une étiquette de système de fichiers, et UUID sont tous pris en charge) en conséquence. Par exemple :

ext3 /dev/sda4
path /usr/local/cores

Pour écrire le vidage directement sur un périphérique, supprimez le signe dièse ("#") au début de la ligne #raw /dev/sda5 et remplacez la valeur par le nom de périphérique souhaité. Par exemple :

raw /dev/sdb1

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

net penguin.example.com:/export/cores

Pour stocker le vidage sur une machine distante à l'aide du protocole SSH, supprimez le signe dièse ("#") au début de la ligne #net [email protected] et remplacez la valeur par un nom d'utilisateur et un nom d'hôte valides . Par exemple :

net [email protected]

Lors du transfert d'un fichier core vers une cible distante via SSH, le fichier core doit être sérialisé pour le transfert. Cela crée un fichier vmcore.flat dans le répertoire /var/crash/ sur le système cible, qui est illisible par l'utilitaire de blocage. Pour convertir vmcore.flat en un fichier de vidage lisible en cas de plantage, exécutez la commande suivante en tant qu'utilisateur root sur le système cible :

# /usr/sbin/makedumpfile -R */tmp/vmcore-rearranged* < *vmcore.flat*

Configuration du collecteur principal

Pour réduire la taille du fichier de vidage vmcore, kdump vous permet de spécifier une application externe (c'est-à-dire un collecteur principal) pour compresser les données et éventuellement omettre toutes les informations non pertinentes. Actuellement, le seul collecteur de base entièrement pris en charge est makedumpfile.

Pour activer le collecteur principal, en tant que root, ouvrez le fichier de configuration /etc/kdump.conf dans un éditeur de texte, supprimez le signe dièse ("#") au début du #core_collector makedumpfile -c --message-level 1 - d 31 et modifiez les options de ligne de commande comme décrit ci-dessous.

Pour activer la compression du fichier de vidage, ajoutez le paramètre -c. Par exemple :

core_collector makedumpfile -c

Pour supprimer à la fois les pages nulles et libres, utilisez ce qui suit :

core_collector makedumpfile -d 17 -c

Reportez-vous à la page de manuel de makedumpfile pour une liste complète des options disponibles.

Modification de l'action par défaut

Par défaut, lorsque kdump ne parvient pas à créer un vidage mémoire, le système de fichiers racine est monté et /sbin/init est exécuté. Pour modifier ce comportement, en tant qu'utilisateur root, ouvrez le fichier de configuration /etc/kdump.conf dans un éditeur de texte, supprimez le signe dièse ("#") au début de la ligne de shell #default et remplacez la valeur par l'action souhaitée. comme décrit ci-dessous :

Actions prises en charge

Option Description
redémarrer Redémarrez le système, en perdant le noyau dans le processus.
arrêter Arrêter le système.
mise hors tension Éteignez le système.
shell Exécutez la session msh à partir de l'initramfs, permettant à un utilisateur d'enregistrer le noyau manuellement.

Par exemple :

default halt

Activation du service

Pour démarrer le démon kdump au démarrage, saisissez ce qui suit à l'invite du shell en tant qu'utilisateur root :

# chkconfig kdump on

Cela activera le service pour les niveaux d'exécution 2, 3, 4 et 5. De même, taper "chkconfig kdump off" le désactivera pour tous les niveaux d'exécution. Pour démarrer le service dans la session en cours, utilisez la commande suivante en tant que root :

# service kdump start

Tester la configuration

Les commandes ci-dessous feront planter le noyau. Soyez prudent lorsque vous suivez ces étapes et ne les utilisez en aucun cas sur une machine de production. Pour tester la configuration, redémarrez le système avec kdump activé et assurez-vous que le service est en cours d'exécution :

# service kdump status
Kdump is operational

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


Linux
  1. Comment configurer la virtualisation sur Redhat Linux

  2. Comment augmenter le nombre d'inodes de disque sous Linux

  3. Comment configurer MySQL Multi-Master Replication sur Oracle Linux

  4. Comment modifier l'ID de machine d'un système dans Oracle Enterprise Linux 7

  5. Comment configurer Kdump sur SuSE Linux Enterprise System 10 et 11

Comment installer et configurer Redis sur le système Linux

Comment installer et configurer AnyDesk sur le système Linux

Comment installer et configurer Django sur le système Linux

Comment installer et configurer PrestaShop sur le système Linux

Comment configurer une adresse IP statique sur le système Linux

Comment installer et configurer Elasticsearch sur le système Linux