In diesem Dokument werden die verschiedenen Optionen erläutert, mit denen Sie Core Dumps in der Cisco IOS®-Software aktivieren können.
Hinweis: Core Dumps können schwer zu erhalten sein. Nur technische Mitarbeiter von Cisco, die Zugriff auf Quellcode und detaillierte Speicherzuordnungen haben, müssen versuchen, Core Dumps zu interpretieren. Auf vielen Plattformen kann die Verwendung der Crashinfo-Funktion dazu führen, dass Core Dumps nicht mehr erforderlich sind. Weitere Informationen finden Sie unter Abrufen von Informationen aus der Crashinfo-Datei.
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
Cisco IOS Software Version 12.0 und höher
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netz Live ist, überprüfen Sie, ob Sie die mögliche Auswirkung jedes möglichen Befehls verstehen.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
Wenn ein Router abstürzt, denken Sie daran, eine Kopie des gesamten Speicherinhalts des Routers zu erhalten, der als Core Dump bezeichnet wird. Ihr Mitarbeiter des technischen Supports ermittelt mithilfe des Core Dump die Ursache des Absturzes. Der Router schreibt den Speicherinhalt vor einem erneuten Laden auf den Server. Nicht alle Abstürze erzeugen eine Core Dump. Weitere Informationen finden Sie unter Absturztypen.
Erfassen Sie immer die Konsolenprotokolle, wenn der Router versucht, einen Kern zu löschen. Konsolenprotokolle liefern Informationen über den Absturz. Darüber hinaus gibt der ROM Monitor (ROMMON) zum Zeitpunkt des Absturzes normalerweise Informationen an die Konsole (und nur an die Konsole) aus.
Vorsicht: Core Dumps sind nicht notwendig, um die meisten Crash Cases zu lösen. Die Erstellung eines Core-Dump während der Router in einem Netzwerk kann den Netzwerkbetrieb stören. Verwenden Sie die Befehle in diesem Dokument nur unter Anleitung eines Mitarbeiters der technischen Unterstützung.
Es gibt vier grundlegende Möglichkeiten, den Router so einzurichten, dass ein Core-Dump generiert wird:
über File Transfer Protocol (FTP)
Über Remote Copy Protocol (RCP)
über eine Flash-Festplatte
Trivial File Transfer Protocol (TFTP)
Für jede dieser Methoden werden folgende Konfigurationsbefehle verwendet:
Größe der Ausnahmeregion
Mit diesem Befehl wird die Größe des Bereichs für den Speicherpool mit Ausnahme-Zeit angegeben. Der Speicherpool für die Ausnahmezeit wird verwendet, wenn der Prozessspeicher beschädigt wird. Der Größenparameter wird in Byte ausgedrückt, und Sie können die Größe von 1024 bis 65536 Byte konfigurieren.
exception core-file filename [compress]
Dieser Befehl gibt einen anderen Namen als den Standardnamen für die Core-Dump-Datei an. Um zum Standardnamen zurückzukehren, verwenden Sie die no-Form dieses Befehls.
Weitere Informationen zu den Befehlen in diesem Dokument finden Sie im Befehlsreferenz-Tool (nur registrierte Kunden).
Verwenden Sie den Befehl Ausnahmebereichsgröße, um eine kleine Speichermenge zu definieren, die als Fallbackpool dient, wenn der Speicherpool des Prozessors beschädigt wird. Dadurch werden Speicherfehler während des Core Dump-Prozesses verhindert. Der Größenparameter wird in Byte ausgedrückt, und Sie können die Größe von 1024 bis 65536 Byte mit einem Standardwert von 16384 Byte konfigurieren. Konfigurieren Sie die Größe der Ausnahmebereiche auf 65536 Byte, um die Wahrscheinlichkeit eines erfolgreichen Core Dump zu erhöhen.
Standardmäßig wird der Prozessorspeicher-Core-Dump in eine Datei mit dem Namen "hostname-core" geschrieben, wobei hostname der Name des Routers ist, den der Hostname-Konfigurationsbefehl definiert. Wenn der Router über Eingabe/Ausgabe (I/O)-Speicher (z. B. den Cisco 7200) verfügt, kann auch ein I/O-Speicherkern-Dump erstellt werden, der in die Datei "hostname-coreiomem" geschrieben wird.
Überschreiben Sie mit dem Befehl exception core-file den Standard-Core-Dump-Dateinamen. Wenn der Dateiserver über ein DOS-FAT-Dateisystem verfügt, geben Sie keinen Dateinamen mit mehr als sechs Zeichen an. Wenn Sie z. B. einen Router mit einem "exception core-file foobar" konfigurieren, lautet der Prozessorspeichername des Core-Dump "foobar", und der Name des I/O-Speicherdumps lautet "foobario" (genug, um Ihnen einen Hinweis darauf zu geben, dass Sie über einen I/O-Speicherdump verfügen).
Stellen Sie sicher, dass genügend Speicherplatz auf dem Dateiserver vorhanden ist, um mehrere vollständige Core Dumps zu speichern. Sie können Core Dump-Dateien mit der compress-Option komprimieren.
Hinweis: Compress wird automatisch angewendet, wenn Sie Core-Dump-Dateien auf die Flash-Festplatte schreiben. Wenn Sie RCP verwenden, wird die Komprimierungsoption nicht unterstützt.
Hinweis: FTP (File Transfer Protocol) ist die empfohlene Methode zum Konfigurieren eines Core Dump.
Verwenden Sie die folgenden Befehle, um den Router über FTP für ein Core-Dump zu konfigurieren:
ip ftp username username (Benutzername für ip ftp) - Dieser Befehl konfiguriert den Benutzernamen für FTP-Verbindungen (File Transfer Protocol). Um den Router für den Versuch eines anonymen FTP zu konfigurieren, verwenden Sie die no-Form dieses Befehls.
ip ftp password password kennwort - Mit diesem Befehl wird das Kennwort für die FTP-Verbindung konfiguriert.
exception protocol ftp: Dieser Befehl konfiguriert das für Core Dump FTP verwendete Protokoll.
exception region-size 65536 (Ausnahmeregionsgröße 6536) - Dieser Befehl konfiguriert die Regionsgröße.
exception dump ip-address: Dieser Befehl konfiguriert die IP-Adresse des Servers, an den der Router im Fall eines Absturzes den Core Dump sendet.
Hinweis: Um Netzwerküberlastungen zu vermeiden, empfiehlt Cisco dringend, den Router ohne Zwischenhops direkt mit dem FTP-Server zu verbinden. Wenn Sie einen oder mehrere Zwischenhops durchlaufen müssen, müssen Sie möglicherweise den Befehl ip ftp source-interface verwenden, um anzugeben, welche Schnittstelle für den Zugriff auf den FTP-Server verwendet werden soll. Weitere Informationen finden Sie unter Konfigurieren eines Routers für die Verwendung von FTP-Verbindungen.
Wenn Sie den Benutzernamen und das Kennwort nicht konfiguriert haben, versucht der Router, anonyme FTP-Verbindungen herzustellen.
Wenn Sie von einem Mitarbeiter des technischen Supports von Cisco nach Core Dump-Dateien gefragt werden, können Sie die Core Dump-Dateien über anonyme FTP an Cisco senden. Der FTP-Server ist ftp-sj.cisco.com, und das Verzeichnis ist /incoming.
Hinweis: Das /eingehende Verzeichnis ist nicht sichtbar.
Stellen Sie sicher, dass der Transfermodus auf binär eingestellt ist. Wenn die Dateien noch nicht komprimiert sind, komprimieren Sie sie mit einem allgemeinen Komprimierungsprogramm, z. B. gzip oder zip.
Stellen Sie außerdem sicher, dass Sie die Crashinfo-Datei (falls verfügbar) zusammen mit der Core-Dump einschließen. Die Crashinfo-Datei ist verfügbar, wenn die Hardware oder Software diese Funktion unterstützt. Anweisungen hierzu finden Sie unter Abrufen von Informationen aus der Crashinfo-Datei.
Vergewissern Sie sich, dass FTP zuerst funktioniert. Verwenden Sie dieses Beispiel:
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
Verwenden Sie die folgenden Befehle, um den Router mit RCP für einen Core Dump zu konfigurieren:
ip rcmd remote-username username-Dieser Befehl konfiguriert den Remote-Benutzernamen für die Verwendung, wenn Sie eine Remote-Kopie über Remote Copy Protocol (RCP) anfordern.
exception protocol rcp: Dieser Befehl konfiguriert das für Core Dumps verwendete Protokoll als RCP.
exception region-size 65536 (Ausnahmeregionsgröße 6536) - Dieser Befehl konfiguriert die Regionsgröße.
exception dump ip-address
Wenn Sie den Benutzernamen nicht konfiguriert haben, verwendet der Router seinen Hostnamen als Benutzernamen für RCP.
Hinweis: Um Netzwerküberlastungen zu vermeiden, empfiehlt Cisco dringend, den Router ohne Zwischenhops direkt mit dem RCP-Server zu verbinden. Wenn Sie einen oder mehrere Zwischenhops durchlaufen müssen, geben Sie mit dem Befehl ip rcmd source-interface an, welche Schnittstelle für den Zugriff auf den RCP-Server verwendet werden soll. Weitere Informationen finden Sie unter Konfigurieren eines Routers für die Verwendung von rsh und rcp.
Stellen Sie sicher, dass RCP zuerst funktioniert. Verwenden Sie dieses Beispiel:
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
Einige Router-Plattformen unterstützen die Flash-Festplatte als Alternative zur linearen Flash-Speicher- oder PCMCIA-Flash-Karte. Die große Speicherkapazität dieser Flash-Laufwerke macht sie zu einem guten Medium, um eine Core-Dump zu erfassen. Informationen zu den Router-Plattformen und den Cisco IOS-Softwareversionen, die die Flash-Festplatte unterstützen, finden Sie in den Cisco IOS-Versionshinweisen.
Hinweis: Wenn Sie einen Core Dump auf einer Flash-Festplatte erfassen, müssen Sie sicherstellen, dass die Flash-Festplatte über eine höhere Speichergröße verfügt als der DRAM-Speicher, der den Core Dump auslöst. Wenn Sie beispielsweise über eine DRAM-Speichergröße von 128 MB verfügen, muss die Flash-Festplatte über eine Speicherkapazität von mehr als 128 MB verfügen. Um den Core Dump korrekt wiederzugeben, ist ein größerer Flash-Speicher erforderlich. Wenn auf der Flash-Festplatte ein Speichermangel auftritt, wird der Core Dump nicht erstellt.
Verwenden Sie den folgenden Befehl, um einen Router mit einer Flash-Festplatte für ein Core-Dump zu konfigurieren:
exception flash procmem|iomem|all device_name [:partition_number] !--- This command uses a Flash disk to configure the router for a core dump.
Der Befehl show flash all EXEC listet die Geräte auf, die Sie für den Ausnahmeflash-Befehl verwenden können.
Aufgrund der Einschränkung der meisten TFTP-Anwendungen wird vom Router nur die ersten 16 MB der Core-Datei ausgelesen. Wenn der Hauptspeicher Ihres Routers größer als 16 MB ist, sollten Sie daher kein TFTP verwenden. Weitere Informationen finden Sie unter Cisco IOS TFTP Client cannot transfer Files Größer als 16 MB.
Verwenden Sie die folgenden Befehle, um einen Router für ein Core-Dump mit TFTP zu konfigurieren:
exception protocol tftp: Dieser Befehl konfiguriert TFTP als Protokoll für Core Dumps.
Ausnahmebereich - Größe 65536
exception dump ip-address
TFTP ist das Standardprotokoll für Ausnahmeprotokoll.
Hinweis: Um Netzwerküberlastungen zu vermeiden, empfiehlt Cisco dringend, den Router ohne Zwischenhops direkt mit dem TFTP-Server zu verbinden. Wenn Sie einen oder mehrere Zwischenhops durchlaufen müssen, geben Sie mit dem Befehl ip tftp source-interface an, welche Schnittstelle für den Zugriff auf den TFTP-Server verwendet werden soll.
Auf Basis des verwendeten TFTP-Servers müssen Sie möglicherweise leere Zieldateien mit den entsprechenden Berechtigungen erstellen, bevor der Router sie schreiben kann.
Stellen Sie sicher, dass TFTP zuerst funktioniert. Verwenden Sie dieses Beispiel:
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
Verwenden Sie in diesem Abschnitt zusätzlich zu den Befehlen im Abschnitt Basic Setup (Grundeinrichtung) die Konfigurationsbefehle.
Um einige Speicherprobleme zu debuggen, können Sie den Router dazu veranlassen, einen Core Dump zu erstellen und einen Neustart durchzuführen, wenn bestimmte Speichergrößenparameter verletzt werden. Verwenden Sie die folgenden Befehle für den Ausnahmespeicher, um einen Core-Dump auszulösen:
exception memory minimum size (Mindestspeichergröße für Ausnahmespeicher) - Dieser Befehl erzwingt einen Absturz, wenn die Menge des freien Prozessorspeichers unter den konfigurierten Grenzwert sinkt.
exception memory fragment size (Speicherfragmentgröße für Ausnahmefragmente): Dieser Befehl erzwingt einen Absturz, wenn die Cisco IOS-Software keinen zusammenhängenden Speicherblock mehr als den konfigurierten Grenzwert zuweisen kann.
Der Größenparameter wird in Byte ausgedrückt und standardmäßig alle 60 Sekunden überprüft.
Diese Befehle führen nur dann zu einem Neustart des Routers, wenn die konfigurierten Bedingungen erfüllt sind. Wenn Sie auch Ausnahmedump oder Ausnahmeflash konfigurieren, erstellt der Router zuerst einen Core Dump. Mithilfe dieser Befehle können Speicherlecks diagnostiziert werden.
In einigen Fällen fordert der Mitarbeiter des technischen Supports Sie auf, die Fehlerprüfungsintegrität zu aktivieren, wenn Sie den Core Dump konfigurieren. Der Befehl debug sanity ist in den meisten Cisco IOS-Softwareversionen ein versteckter Befehl und manchmal erforderlich, um Speicherbeschädigungen, insbesondere E/A-Speicherbeschädigungen, zu beheben. Wenn Sie die Fehlerprüfbarkeit aktivieren, führt das System eine Integritätsprüfung für jeden zugewiesenen Puffer aus und führt eine Integritätsprüfung erneut aus, wenn der Puffer freigegeben wird.
Sie müssen den Befehl debug sanity im privilegierten EXEC-Modus (oder enable-Modus) ausführen. Obwohl dieser Befehl eine gewisse CPU-Kapazität verwendet, beeinträchtigt die Fehlerbehebungssicherheit nicht signifikant die Funktionalität des Routers. Wie andere Debug-Befehle wird die Fehlersicherheit nicht in der Konfiguration gespeichert und übersteht somit keinen Neustart des Systems.
Nicht alle Arten von Abstürzen erfordern die Aktivierung der Fehlerprüfbarkeit. Verwenden Sie Debugging-Integrität nur, wenn der Mitarbeiter des technischen Supports Sie zur Aktivierung dieses Befehls auffordert.
Verwenden Sie den Befehl undebug sanity privileged EXEC, um Plausibilitätsprüfungen zu deaktivieren.
Wenn Sie den Router für den Core Dump konfiguriert haben, testen Sie die Konfiguration.
Die Cisco IOS-Software stellt den speziellen Write-Core-Befehl im privilegierten EXEC-Modus (oder enable-Modus) bereit, der dazu führt, dass der Router einen Core-Dump ohne Neuladen generiert.
Wenn der Vorgang erfolgreich ist, sind die Core Dump-Dateien die Größe der jeweiligen Speicherbereiche. Denken Sie daran, dass nicht nur der verwendete Speicher, sondern der gesamte Speicherbereich abgelegt ist.
Der Befehl write core ist auch für Router nützlich, die fehlerhaft, aber nicht abgestürzt sind.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
24-Jun-2008 |
Erstveröffentlichung |