GNU/Linux >> Tutoriels Linux >  >> Cent OS

CentOS / RHEL 7 :Comprendre Kexec et Kdump

Qu'est-ce que kdump et Kexec ?

Kdump est le mécanisme de vidage sur incident du noyau Linux. En cas de plantage du système, Kdump fournit une image de vidage mémoire (vmcore). Cette image peut aider à déterminer la cause de l'accident. Il est fortement recommandé d'activer la fonctionnalité Kdump.

Kexec et Kdump assurent ensemble un démarrage plus rapide et la création de noyaux vmcore fiables à des fins de diagnostic. 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. Le vidage sur incident est capturé à partir du contexte d'un noyau fraîchement démarré et non à partir du contexte du noyau en panne. Ce deuxième noyau démarre avec très peu de mémoire et capture l'image de vidage.

Installation et configuration de kdump

Pour activer et utiliser Kdump, installez le package suivant :

# yum install kexec-tools

L'activation de Kdump nécessite que vous réserviez une partie de la mémoire système pour le noyau de capture. Cette partie de la mémoire n'est pas disponible pour d'autres utilisations. La quantité de mémoire réservée au noyau Kdump est représentée par le paramètre de démarrage crashkernel. Ceci est ajouté à la ligne du noyau dans le fichier de configuration GRUB, /boot/grub2/grub.cfg . L'exemple suivant active Kdump et réserve 128 Mo de mémoire :

linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro crashkernel=128M

En plus de réserver de la mémoire, vous pouvez désigner l'adresse de début (décalage) de cette mémoire réservée. Par exemple, l'ajout de l'option suivante à la ligne du noyau réserve 128 Mo de mémoire, à partir de l'adresse physique 0x01000000 (16 Mo) :

crashkernel=128M@16M

– Pour régler le décalage sur 48M :

crashkernel=128M@48M

– Si vous disposez de plus de 128 Go de RAM, utilisez le paramètre suivant :

crashkernel=512M@64M

– Si vous avez besoin de plus de contrôle sur la taille et l'emplacement de la mémoire réservée, utilisez le format suivant :

crashkernel=range1:size1[,range2:size2,...][@offset]

– La valeur range[n] spécifie une plage de valeurs qui sont comparées à la quantité de RAM physique présente dans le système. La valeur size[n] correspondante spécifie la quantité de mémoire Kexec à réserver.

– L'exemple suivant indique à Kexec de réserver 64 Mo de RAM si le système contient entre 512 Mo et 2 Go de mémoire. Si le système contient plus de 2 Go de mémoire physique, réservez 128 Mo :

crashkernel=512M-2G:64M,2G-:128M

– Sur les systèmes x86_64 avec au moins 2 Go de mémoire, vous pouvez allouer automatiquement de la mémoire pour kdump. Utilisez le paramètre suivant pour allouer automatiquement de la mémoire pour kdump :

crashkernel=auto

Activation de kdump

Après avoir ajouté le paramètre crashkernel au fichier /boot/grub2/grub.cfg, redémarrez votre système afin que la mémoire soit réservée au noyau de capture. Le "gratuit –m " La commande indique correctement que moins de mémoire est disponible pour le système.

Utilisez la commande systemctl pour permettre au service Kdump de démarrer au démarrage. Utilisez la commande systemctl pour démarrer le service Kdump.

# systemctl enable kdump
# systemctl start kdump

Cela charge votre image kernel-kdump via Kexec, laissant votre système prêt à capturer un vmcore en cas de plantage.

Générer un vidage sur incident forcé

Vous pouvez tester la configuration de kdump en forçant le plantage de votre système à l'aide de la commande suivante :

# echo c > /proc/sysrq-trigger

Cela provoque l'affichage d'une sortie de panique, 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 vmcore est copié sur le disque à l'emplacement par défaut, /var/crash/[YYYY-MM-DD-HH:MM]/vmcore. Le système redémarre ensuite dans le noyau normal.

Remarque :Kdump n'est pas pris en charge sur les invités Xen domU. Les systèmes virtualisés peuvent utiliser la commande xm dump-core pour les paniques.CentOS / RHEL 7 :Comment configurer kdump
CentOS / RHEL 6 :Comment configurer kdump
CentOS / RHEL 5 :Comment configurer kdump
/>Comprendre le fichier de configuration de kdump /etc/kdump.conf


Cent OS
  1. Comment installer Python 3.5 sur CentOS/RHEL et Fedora

  2. CentOS / RHEL 7 :Configuration d'un serveur NFS et d'un client NFS

  3. CentOS / RHEL 7 :Comment installer et configurer telnet

  4. CentOS / RHEL 7 :Comprendre Kexec et Kdump

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

Installer et configurer Puppet sur CentOS 7 / RHEL 7

Comment installer et utiliser Firewalld dans CentOS / RHEL

Comment installer Samba sur RHEL et CentOS Stream

Installez Prometheus et Node Exporter sur CentOS / RHEL 8

Comment installer et configurer Jenkins sur CentOS 8 / RHEL 8

Comment installer Wine 5.0 sur CentOS, RHEL et Fedora