Ce document explique les différentes options que vous pouvez utiliser pour activer les vidages principaux dans le logiciel Cisco IOS®.
Remarque : Il peut être difficile d'obtenir des décharges de base. Seul le personnel technique Cisco ayant accès au code source et aux cartes mémoire détaillées doit tenter d'interpréter les vidages principaux. Sur de nombreuses plates-formes, l'utilisation de la fonction crashinfo peut rendre inutiles les vidages de coeur. Référez-vous à Récupération d'informations à partir du fichier Crashinfo pour plus d'informations.
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
Logiciel Cisco IOS Version 12.0 et ultérieure
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
Lorsqu’un routeur tombe en panne, n’oubliez pas d’obtenir une copie de l’intégralité du contenu mémoire du routeur, connu sous le nom de mémoire de base. Votre représentant du support technique utilise le vidage principal pour identifier la cause du crash. Le routeur écrit le contenu de la mémoire sur le serveur avant un rechargement. Toutes les collisions ne produisent pas de décharge de coeur. Pour plus de détails, référez-vous à Types de collisions.
Capturez toujours les journaux de console lorsque le routeur tente de vider un coeur. Les journaux de console fournissent des informations sur le crash. En outre, le moniteur ROM (ROMMON) imprime normalement les informations sur la console (et uniquement sur la console) au moment du plantage.
Attention : Les vidages de coeur ne sont pas nécessaires pour résoudre la plupart des cas de panne. La création d’un vidage de coeur pendant que le routeur fonctionne sur un réseau peut perturber le fonctionnement du réseau. Utilisez les commandes de ce document uniquement sous la direction d'un représentant du support technique.
Il existe quatre méthodes de base pour configurer le routeur afin de générer un vidage principal :
Par FTP (File Transfer Protocol)
Via le protocole RCP (Remote Copy Protocol)
Via un disque Flash
Par TFTP (Trivial File Transfer Protocol)
Chacune de ces méthodes utilise les commandes de configuration suivantes :
taille de la région d'exception
Cette commande spécifie la taille de la région pour le pool de mémoire d'exception. Le pool de mémoire d'exception est utilisé en cas d'altération de la mémoire du processus. Le paramètre de taille est exprimé en octets et vous pouvez configurer la taille de 1 024 à 6 536 octets.
exception core-file filename [compress]
Cette commande spécifie un nom pour le fichier de vidage principal autre que le nom par défaut. Afin de revenir au nom par défaut, utilisez la forme no de cette commande.
Pour plus d'informations sur les commandes de ce document, référez-vous à l'outil de référence des commandes (clients enregistrés uniquement).
Utilisez la commande exception region-size pour définir une petite quantité de mémoire à utiliser comme pool de secours lorsque le pool de mémoire du processeur devient endommagé. Cela permet d'éviter les pannes de mémoire lors du processus de vidage du coeur. Le paramètre size est exprimé en octets et vous pouvez configurer la taille de 1 024 à 6 536 octets, avec une valeur par défaut de 1 6 384 octets. Configurez la taille de la région d'exception sur 65 536 octets pour augmenter les chances d'un vidage du coeur réussi.
Par défaut, le vidage du coeur de mémoire du processeur est écrit dans un fichier nommé "hostname-core », où hostname est le nom du routeur, que la commande de configuration hostname définit. Si le routeur dispose d'une mémoire d'entrée/sortie (E/S) (par exemple, le Cisco 7200), un vidage de coeur de mémoire d'E/S peut également être créé, écrit dans le fichier "hostname-coreiomem ».
Utilisez la commande exception core-file pour remplacer le nom de fichier de vidage principal par défaut. Si le serveur de fichiers possède un système de fichiers FAT DOS, ne spécifiez pas de nom de fichier de plus de six caractères. Par exemple, si vous configurez un routeur avec "exception core-file foobar« , le nom de la mémoire du processeur du vidage principal est « foobar » et le nom du vidage de la mémoire E/S est « foobario » (assez pour vous donner un indice que vous avez un vidage de la mémoire E/S).
Assurez-vous qu'il y a suffisamment d'espace disque sur le serveur de fichiers pour contenir plusieurs vidages de coeur complets. Vous pouvez compresser les fichiers de vidage du coeur avec l'option compress.
Remarque : Compress s'applique automatiquement lorsque vous écrivez des fichiers de vidage de coeur sur le disque Flash. Si vous utilisez RCP, l'option compresser n'est pas prise en charge.
Remarque : le protocole FTP (File Transfer Protocol) est la méthode recommandée pour configurer un vidage principal.
Afin d'utiliser FTP pour configurer le routeur pour un vidage de coeur, utilisez les commandes suivantes :
ip ftp username username : cette commande configure le nom d'utilisateur pour les connexions FTP (File Transfer Protocol). Afin de configurer le routeur pour qu'il tente un FTP anonyme, utilisez la forme no de cette commande.
ip ftp password password : cette commande configure le mot de passe de la connexion FTP.
exception protocol ftp : cette commande configure le protocole utilisé pour le transfert FTP de noyau.
exception region-size 65536 : cette commande configure la taille de la région.
exception dump ip-address : cette commande configure l'adresse ip du serveur sur lequel le routeur envoie le vidage principal en cas de panne.
Remarque : afin d'éviter la congestion du réseau, Cisco recommande vivement de connecter le routeur directement au serveur FTP, sans sauts intermédiaires. Si vous devez passer par un ou plusieurs sauts intermédiaires, vous devrez peut-être utiliser la commande ip ftp source-interface pour spécifier quelle interface utiliser afin d'accéder au serveur FTP. Référez-vous à Configuration d'un routeur pour utiliser des connexions FTP pour plus d'informations.
Si vous n'avez pas configuré le nom d'utilisateur et le mot de passe, le routeur tente d'utiliser un FTP anonyme.
Lorsqu'un représentant du support technique Cisco vous demande des fichiers de vidage principaux, vous pouvez envoyer les fichiers de vidage principaux à Cisco via FTP anonyme. Le serveur FTP est ftp-sj.cisco.com et le répertoire est /entrant.
Remarque : Le répertoire /entrant est invisible.
Veillez à définir le mode de transfert sur binaire. Si les fichiers ne sont pas déjà compressés, compressez-les avec un utilitaire de compression commun, par exemple gzip ou zip.
Veillez également à inclure le fichier crashinfo, s'il est disponible, ainsi que le vidage principal. Le fichier crashinfo est disponible si le matériel ou le logiciel prend en charge cette fonctionnalité. Reportez-vous à Récupération d'informations à partir du fichier Crashinfo pour obtenir des instructions sur la façon de procéder.
Assurez-vous que le protocole FTP fonctionne en premier. Utilisez cet exemple :
c7500#copy running-config ftp: Address or name of remote host []? 172.18.125.3 Destination filename [c7500-confg]? Writing c7500-confg ! 2781 bytes copied in 0.944 secs
Afin d'utiliser RCP pour configurer le routeur pour un vidage de coeur, utilisez les commandes suivantes :
ip rcmd remote-username username - Cette commande configure le nom d'utilisateur distant à utiliser lorsque vous demandez une copie distante via le protocole de copie distante (RCP).
exception protocol rcp : cette commande configure le protocole utilisé pour les vidages principaux en tant que RCP.
exception region-size 65536 : cette commande configure la taille de la région.
exception dump ip-address
Si vous n'avez pas configuré le nom d'utilisateur, le routeur utilise son nom d'hôte comme nom d'utilisateur pour RCP.
Remarque : afin d'éviter la congestion du réseau, Cisco recommande vivement de connecter le routeur directement au serveur RCP, sans sauts intermédiaires. Si vous devez passer par un ou plusieurs sauts intermédiaires, utilisez la commande ip rcmd source-interface pour spécifier quelle interface utiliser afin d'accéder au serveur RCP. Référez-vous à Configuration d'un routeur pour utiliser rsh et rcp pour plus d'informations.
Assurez-vous que RCP fonctionne en premier. Utilisez cet exemple :
c7500#copy running-config rcp: Address or name of remote host []? 172.18.125.3 Destination username [c7500]? Destination filename [c7500-confg]? Writing c7500-confg ! 2781 bytes copied in 0.944 secs
Certaines plates-formes de routeur prennent en charge le disque Flash en remplacement de la mémoire Flash linéaire ou de la carte Flash PCMCIA. La grande capacité de stockage de ces disques Flash en fait un bon support pour capturer un vidage de coeur. Pour plus d'informations sur les plates-formes de routeur et les versions du logiciel Cisco IOS qui prennent en charge le disque Flash, reportez-vous aux notes de version de Cisco IOS.
Remarque : lorsque vous capturez un vidage de coeur dans un disque Flash, vous devez vous assurer que le disque Flash a une taille de stockage supérieure à celle de la mémoire DRAM qui provoque le vidage de coeur. Par exemple, si vous avez une mémoire DRAM de 128 Mo, le disque Flash doit avoir une capacité de stockage supérieure à 128 Mo. Une mémoire flash plus grande est nécessaire pour obtenir le vidage du coeur correctement. En cas de pénurie de mémoire sur le disque Flash, le vidage du coeur n'est pas créé.
Afin d'utiliser un disque Flash pour configurer un routeur pour un vidage de noyau, utilisez cette commande :
exception flash procmem|iomem|all device_name [:partition_number] !--- This command uses a Flash disk to configure the router for a core dump.
La commande show flash all EXEC répertorie les périphériques que vous pouvez utiliser pour la commande exception flash.
En raison d’une limitation de la plupart des applications TFTP, le routeur ne fait que vider les 16 premiers Mo du fichier principal. Par conséquent, si la mémoire principale de votre routeur est supérieure à 16 Mo, n'utilisez pas TFTP. Référez-vous à Client TFTP Cisco IOS ne pouvant pas transférer des fichiers de taille supérieure à 16 Mo pour plus d'informations.
Afin d’utiliser TFTP pour configurer un routeur pour un vidage de coeur, utilisez les commandes suivantes :
exception protocol tftp - Cette commande configure TFTP comme protocole pour les vidages principaux.
exception region-size 65536
exception dump ip-address
TFTP est le protocole par défaut du protocole d'exception.
Remarque : afin d'éviter la congestion du réseau, Cisco recommande vivement de connecter le routeur directement au serveur TFTP, sans sauts intermédiaires. Si vous devez passer par un ou plusieurs sauts intermédiaires, utilisez la commande ip tftp source-interface pour spécifier quelle interface utiliser afin d'accéder au serveur TFTP.
Sur la base du serveur TFTP utilisé, vous devrez peut-être créer des fichiers cibles vides avec les autorisations appropriées avant que le routeur puisse y écrire.
Assurez-vous que TFTP fonctionne en premier. Utilisez cet exemple :
c7500#copy running-config tftp: Address or name of remote host []? 172.18.125.3 Destination filename [c7500-confg]? ! 2781 bytes copied in 0.944 secs
Utilisez les commandes de configuration de cette section en plus des commandes de la section Configuration de base.
Afin de déboguer certains problèmes de mémoire, vous pouvez faire en sorte que le routeur crée un vidage de coeur et redémarre en cas de violation de certains paramètres de taille de mémoire. Utilisez ces commandes de mémoire d'exception afin de déclencher un vidage de coeur :
taille minimale de la mémoire d'exception : cette commande force un plantage si la quantité de mémoire libre du processeur diminue en dessous du seuil configuré.
taille de fragment de mémoire d'exception - Cette commande force un plantage si le logiciel Cisco IOS ne peut pas allouer un bloc de mémoire de processeur contigu supérieur au seuil configuré.
Le paramètre size est exprimé en octets et est vérifié toutes les 60 secondes par défaut.
Ces commandes ne font redémarrer le routeur que lorsque les conditions configurées sont remplies. Si vous configurez également le vidage d'exception ou la mémoire flash d'exception, le routeur crée d'abord un vidage de coeur de réseau. Ces commandes permettent de diagnostiquer les fuites de mémoire.
Dans certains cas, le représentant du support technique vous demande d'activer debug sanity lorsque vous configurez le vidage principal. La commande debug sanity est une commande masquée dans la plupart des versions du logiciel Cisco IOS et est parfois nécessaire pour déboguer la corruption de la mémoire, en particulier la corruption de la mémoire d'E/S. Lorsque vous activez debug sanity, le système exécute une vérification de bon fonctionnement sur chaque tampon alloué et exécute une nouvelle vérification de bon fonctionnement lorsque le tampon est libéré.
Vous devez émettre la commande debug sanity en mode d’exécution privilégié (ou enable mode). Bien que cette commande utilise une certaine capacité de CPU, debug sanity n'affecte pas significativement la fonctionnalité du routeur. Comme d'autres commandes debug, debug sanity n'est pas enregistré dans la configuration et ne survit donc pas à un redémarrage du système.
Tous les types de plantages ne nécessitent pas que vous activez debug sanity. Utilisez debug sanity uniquement lorsque votre représentant du support technique vous demande d'activer cette commande.
Afin de désactiver les contrôles de santé mentale, utilisez la commande EXEC privilégiée undebug sanity.
Lorsque vous avez configuré le routeur pour le vidage du coeur, testez la configuration.
Le logiciel Cisco IOS fournit la commande write core spéciale en mode d’exécution privilégié (ou enable mode) pour que le routeur génère un vidage de coeur sans rechargement.
En cas de succès, le ou les fichiers de vidage principaux sont de la taille des régions de mémoire respectives. N'oubliez pas que toute la région de mémoire est vidée, pas seulement la mémoire utilisée.
La commande write core est également utile dans le cas d'un routeur qui ne fonctionne pas correctement, mais qui ne s'est pas écrasé.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
24-Jun-2008 |
Première publication |