2.2. Configuration de kdump à partir de la ligne de commande


2.2.1. Configuration l'utilisation de la mémoire

La mémoire réservée au noyau kdump est toujours réservée au démarrage du système, ce qui signifie que la quantité de mémoire est spécifiée dans la configuration du chargeur de démarrage du système. Cette section explique comment modifier la quantité de mémoire réservée sur les systèmes AMD64 et Intel  64 et les serveurs IBM Power  Systems en utilisant le chargeur de démarragegrub2, et sur IBM System   z en utilisant ZIPL.

Procédure 2.1. Modifier les options de mémoire dans GRUB2

  1. Ouvrez le fichier de configuration /etc/default/grub en tant qu'utilisateur root à l'aide d'un éditeur de texte brut tel que vim ou Gedit.
  2. Dans ce fichier, trouvez la ligne commençant par GRUB_CMDLINE_LINUX. Elle ressemblera à ceci :
    GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root rhgb quiet"
    Copy to Clipboard Toggle word wrap
    Notez l'option crashkernel= surlignée, qui correspond à la mémoire réservée.
  3. Modifiez la valeur de l'option crashkernel= pour qu'elle corresponde au montant de mémoire que vous souhaitez réserver. Ainsi, pour réserver 128 Mo de mémoire, utilisez la commande suivante :
    crashkernel=128M
    Copy to Clipboard Toggle word wrap

    Note

    Il y a plusieurs façons de configurer la mémoire réservée - par exemple, vous pouvez définir une valeur de décallage ou plusieurs montants de mémoires multiples basés sur le montant de mémoire RAM disponible dans le système au démarrage. C'est décrit plus loin dans cette section.
    Puis, enregistrez le fichier et sortez de l'éditeur de texte.
  4. Enfin, générer la configuration GRUB2 en utilisant le fichier default édité. Si votre système utilise un firmware BIOS, exécutez la commande suivante :
    # grub2-mkconfig -o /boot/grub2/grub.cfg
    Copy to Clipboard Toggle word wrap
    Sur un système équipé d'un firmware UEFI, exécutez la commande suivante à la place :
    # grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
    Copy to Clipboard Toggle word wrap
Une fois que vous aurez terminé la procédure ci-dessus, le chargeur de démarrage sera configuré à nouveau, et le montant de mémoire que vous avez spécifié dans le fichier de configuration sera réservé dès le second démarrage.

Procédure 2.2. Modifier les options de mémoire dans zipl

  1. Ouvrez le fichier de configuration /etc/zipl.conf en tant qu'utilisateur root à l'aide d'un éditeur de texte brut tel que vim ou Gedit.
  2. Dans ce fichier, cherchez la section parameters=, et modifiez le paramètre crashkernel= (ou ajoutez-le s'il n'est pas présent). Ainsi, pour réserver 128 Mo de mémoire, utilisez la commande suivante :
    crashkernel=128M
    Copy to Clipboard Toggle word wrap

    Note

    Il y a plusieurs façons de configurer la mémoire réservée - par exemple, vous pouvez définir une valeur de décallage ou plusieurs montants de mémoires multiples basés sur le montant de mémoire RAM disponible dans le système au démarrage. C'est décrit plus loin dans cette section.
    Puis, enregistrez le fichier et sortez de l'éditeur de texte.
  3. Finalement, regénérez la configuration de zipl :
    # zipl
    Copy to Clipboard Toggle word wrap

    Note

    Exécuter la commande zipl uniquement, sans option supplémentaire, utilisera les valeurs par défaut. Consulter la page man de zipl(8) pour obtenir des informations sur les options disponibles.
Une fois que vous aurez terminé la procédure ci-dessus, le chargeur de démarrage sera configuré à nouveau, et le montant de mémoire que vous avez spécifié dans le fichier de configuration sera réservé dès le second démarrage.
L'option crashkernel= peut être définie de plusieurs manières. La valeur auto active la configuration automatique de mémoire réservée, basée sur le montant total de mémoire présente sur le système, en suivant les lignes directrices décrites dans Section B.1, « Besoins en mémoire pour kdump ». Remplacer la valeur d' auto par un montant de mémoire spécifique pour changer ce comportement. Par exemple, pour réserver 128 Mo de mémoire, exécutez :
crashkernel=128M
Copy to Clipboard Toggle word wrap
Vous pouvez définir un montant de mémoire réservée comme étant variable, selon le montant de mémoire installé dans la mémoire. La syntaxe pour la réservation de mémoire est la suivante crashkernel=<range1>:<size1>,<range2>:<size2>. Exemple :
crashkernel=512M-2G:64M,2G-:128M
Copy to Clipboard Toggle word wrap
L'exemple ci-dessus va réserver 64 Mo de mémoire si le montant total de mémoire système est de 512 Mo ou plus, et correspond à moins de 2 Go. Si le montant total de mémoire correspond à plus de 2 Go, 128 Mo de kdump seront réservés à la place.
Sur certains systèmes, il est sans doute nécessaire de réserver de la mémoire avec une valeur de décallage déterminée. Si la valeur de décallage est définie, la mémoire réservée débutera ainsi. Pour décaller la valeur de mémoire réservée, utiliser la syntaxe suivante :
crashkernel=128M@16M
Copy to Clipboard Toggle word wrap
L'exemple ci-dessus indique que kdump réservera 128 Mo de mémoire à partir de 16 Mo (adresse physique 01000000). Si le paramètre de décallage (offset) est défini sur 0 ou omis entièrement, kdump décalera automatiquement la mémoire réservée. Cette syntaxe peut également être utilisée lors de la définition d'une réservation de mémoire variable comme décrit ci-dessus; dans ce cas, la valeur de décallage est toujours spécifiée en dernier (par exemple, crashkernel=512M-2G:64M,2G-:128M@16M).

2.2.2. Configuration du type de kdump

Quand un incident noyau est capturé, la mémoire incident peut être stockée dans un fichier qui se trouve dans le système de fichiers local, écrit directement sur un périphérique, ou envoyé via un réseau utilisant le protocole NFS (Network File System) ou SSH. Pour l'instant, on ne peut définir qu'une option, et l'option par défaut est de stocker le fichier vmcore dans le répertoire /var/crash/ du système de fichiers local. Pour modifier ceci, en tant qu'utilisateur root, ouvrir le fichier de configuration /etc/kdump.conf dans l'éditeur, et éditer les options décrites ci-dessous.
Pour changer le répertoire local dans lequel le vidage de mémoire doit être sauvegardé, supprimer le signe (« # ») qui se trouve devant #path /var/crash et le remplacer par la valeur du chemin d'accès du répertoire souhaité.
path /usr/local/cores
Copy to Clipboard Toggle word wrap

Important

Dans Red Hat Enterprise Linux 7, le répertoire défini comme la cible kdump à l'aide de path doit exister lorsque le service kdump systemd est démarré - sinon le service échouera. Ce comportement est différent des versions antérieures de Red  Hat Enterprise  Linux, où le répertoire était créé automatiquement s'il n'existait pas lors du démarrage du service.
Optionnellement, si vous souhaitez écrire le fichier dans une autre partition, suivre la même procédure avec une des lignes commençant par #ext4. Vous pourrez alors utiliser un nom de périphérique #ext4 /dev/vg/lv_kdump line), un nom de système de fichier (#ext4 LABEL=/boot line) ou un UUID (la ligne #ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937). Changer le type de système de fichier, ainsi que le nom du périphérique, le libellé ou l'UUID aux valeurs désirées. Par exemple :
ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937
Copy to Clipboard Toggle word wrap

Important

Nous vous conseillons d'utiliser un LABEL= ou un UUID= pour spécifier les périphériques de stockage. Les noms de disques comme /dev/sda3 ne sont pas forcément consistents à travers les démarrages. Voir le Red Hat Enterprise Linux 7 Guide d'administration de stockage pour plus d'informations sur le nommage des disques persistent.

Important

Lors de vidage de mémoire DASD sur s390x, il faut que les péripériques de stockage soient correctement spécifiés dans /etc/dasd.conf avant de procéder.
Pour écrire le vidage de mémoire directement sur un périphérique, supprimer le signe (« # ») qui se trouve devant #raw /dev/vg/lv_kdump et le remplacer par le nom du périphérique souhiaté. Exemple :
raw /dev/sdb1
Copy to Clipboard Toggle word wrap
Pour stocker le vidage de mémoire dans une machine éloignée via le protocole NFS, supprimer le signe de hachage (« # ») qui se trouve devant #nfs my.server.com:/export/tmp, et remplacez sa valeur par un nom d'hôte et un chemin d'accès valides. Exemple :
nfs penguin.example.com:/export/cores
Copy to Clipboard Toggle word wrap
Pour stocker le vidage de mémoire dans une machine éloignée via le protocole SSH, supprimer le signe de hachage (« # ») qui se trouve devant #ssh user@my.server.com, et remplacez sa valeur par un nom d'hôte et un nom d'utilisateur valides. Pour inclure votre clé SSH dans la configuration également, supprimer le signe de hachage (« # ») qui se trouve au début de la ligne suivante #sshkey /root/.ssh/kdump_id_rsa et changer la valeur de l'emplacement d'une clé valide sur le serveur sur lequel vous essayez de vider la mémoire. Exemple :
ssh john@penguin.example.com
sshkey /root/.ssh/mykey
Copy to Clipboard Toggle word wrap
Pour plus d'informations sur la façon de configurer un serveur SSH et installer une authentification basée-clé, consulter le Red Hat Enterprise Linux 7 Guide d'administrateur de systèmes.
Pour obtenir une liste des cibles actuellement prises en charge ou non, sur la base de leur type, consulter Tableau B.3, « Cibles kdump prises en charge ».

2.2.3. Configuration d'un client DHCP

Pour réduire la taille du fichier de mémoire vidage vmcore, kdump vous permet de spécifier une application externe (un core collector) pour compresser les données, et si on le souhaite, éviter toutes les informations non pertinentes. Actuellement, le seul core collector qui soit pris en charge totalement est makedumpfile.
Pour activer le core collector, en tant qu'utilisateur root, ouvrir le fichier de configuration /etc/kdump.conf dans un éditeur, et supprimer le signe de hachage (« # ») du début de la ligne #core_collector makedumpfile -l --message-level 1 -d 31, et éditer les options de ligne de commande comme décrit ci-dessous.
Pour activer la compression de fichier, ajouter le paramètre -c. Exemple :
core_collector makedumpfile -c
Copy to Clipboard Toggle word wrap
Pour supprimer certaines pages de la mémoire de vidage, ajouter le paramètre -d value, avec value représentant une somme de valeurs de pages que vous souhaitez omettre comme décrit dans Tableau B.4, « Niveaux de filtrage pris en charge ». Ainsi, pour supprimer les pages zéro ou libres, exécutez la commande suivante :
core_collector makedumpfile -d 17 -c
Copy to Clipboard Toggle word wrap
Voir la page man makedumpfile(8) pour obtenir une liste complète des options disponibles.

2.2.4. Configurer une action par défaut

Par défaut, quand kdump ne parvient pas à créer de mémoire de vidage dans l'emplacement cible spécifié dans Section 2.2.2, « Configuration du type de kdump », le système de fichiers root est monté et kdump essaie de sauvegarder le coeur localement. Afin de modifier ce comportement, en tant qu'utilisateur root, ouvrir le fichier de configuration /etc/kdump.conf dans un éditeur de texte, supprimer le signe de hachage (« # ») en début de ligne #default shell, et remplacer sa valeur par celle d'une action souhaitée comme indiqué dans Tableau B.5, « Actions par défaut prises en charge ».
Exemple :
default reboot
Copy to Clipboard Toggle word wrap

2.2.5. Activer le service

Pour démarrer le démon kdump au démarrage, saisir ce qui suit à l'invite du shell, en tant qu'utisateur root:
systemctl enable kdump.service
Copy to Clipboard Toggle word wrap
Cela aura pour effet d'activer le service pour multi-user.target. De même, si vous saisissez systemctl stop kdump, vous le désactiverez. Pour démarrer le service dans une session en cours, exécuter la commande suivante en tant qu'utilisateur root :
systemctl start kdump.service
Copy to Clipboard Toggle word wrap

Important

Dans Red Hat Enterprise Linux 7, le répertoire défini en tant que cible kdump doit exister quand le service systemd kdump démarre - sinon le service échouera. Ce comportement est différent par rapport aux autres versions de Red Hat Enterprise Linux, quand le répertoire était créé automatiquement s'il n'existait pas déjà quand on démarrait le service.
Pour obtenir plus d'informations sur systemd et configurer les services en général, consulter le Red Hat Enterprise Linux 7 Guide d'administrateur de systèmes.
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat