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 schwierig zu erhalten. Nur das technische Personal von Cisco, das Zugriff auf den Quellcode und detaillierte Speicherzuordnungen hat, muss versuchen, Core Dumps zu interpretieren. Auf vielen Plattformen kann die Verwendung der crashinfo-Funktion Core Dumps überflüssig machen. 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, die als Core Dump bezeichnet wird. Ihr Mitarbeiter des technischen Supports ermittelt anhand der Core Dump-Datei die Ursache des Absturzes. Der Router schreibt den Speicherinhalt auf den Server, bevor er neu geladen wird. Nicht alle Abstürze erzeugen einen Core Dump. Weitere Informationen finden Sie unter Arten von Abstürzen.
Erfassen Sie immer die Konsolenprotokolle, wenn der Router versucht, einen Core auszulagern. Konsolenprotokolle liefern Informationen über den Absturz. Darüber hinaus gibt der ROM Monitor (ROMMON) normalerweise zum Zeitpunkt des Absturzes Informationen an die Konsole (und nur an die Konsole) aus.
Achtung: Core Dumps sind nicht notwendig, um die meisten Crash-Fälle zu lösen. Die Erstellung eines Core Dump, während der Router in einem Netzwerk funktioniert, kann den Netzwerkbetrieb stören. Verwenden Sie die Befehle in diesem Dokument nur unter Anleitung eines technischen Supports.
Es gibt vier grundlegende Möglichkeiten, den Router für die Erzeugung eines Core Dump einzurichten:
über File Transfer Protocol (FTP)
über Remote Copy Protocol (RCP)
Durch eine Flash Disk
über Trivial File Transfer Protocol (TFTP)
Jede dieser Methoden verwendet die folgenden Konfigurationsbefehle:
Größe der Ausnahmeregion
Dieser Befehl gibt die Größe des Bereichs für den Speicherpool zur Ausnahmezeit an. Der Speicherpool für die Ausnahmezeit wird verwendet, wenn der Prozessspeicher beschädigt wird. Der Parameter "size" wird in Byte ausgedrückt, und Sie können eine Größe von 1024 bis 65536 Byte konfigurieren.
exception core-file filename [compress]
Dieser Befehl gibt einen anderen Namen für die Core Dump-Datei als den Standardnamen an. Um den Standardnamen wiederherzustellen, verwenden Sie die Form no dieses Befehls.
Weitere Informationen zu den Befehlen in diesem Dokument finden Sie im Befehlsreferenz-Tool (nur für registrierte Kunden) .
Verwenden Sie den Befehl exception region-size, um einen kleinen Arbeitsspeicher zu definieren, der als Fallback-Pool dient, wenn der Prozessor-Speicherpool beschädigt wird. Dadurch können Speicherfehler während des Core Dump-Prozesses verhindert werden. Der Parameter size (Größe) wird in Byte ausgedrückt. Sie können eine Größe von 1024 bis 65536 Byte mit einem Standardwert von 16384 Byte konfigurieren. Konfigurieren Sie die Größe der Ausnahmeregion als 65536 Byte, um die Wahrscheinlichkeit eines erfolgreichen Core Dump zu erhöhen.
Standardmäßig wird das Speicherkern-Dump des Prozessors 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 E/A-Arbeitsspeicher (z. B. Cisco 7200) verfügt, kann auch ein E/A-Arbeitsspeicher-Core-Dump erstellt und in die Datei "hostname-coreiomem" geschrieben werden.
Verwenden Sie den Befehl exception core-file, um den standardmäßigen Core Dump-Dateinamen zu überschreiben. 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 "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 einen I/O-Speicherdump haben).
Stellen Sie sicher, dass auf dem Dateiserver genügend Speicherplatz vorhanden ist, um mehrere vollständige Core Dumps zu speichern. Sie können Core Dump-Dateien mit der Option compress komprimieren.
Hinweis: Die Komprimierung wird automatisch angewendet, wenn Sie Core Dump-Dateien auf die Flash-Festplatte schreiben. Wenn Sie RCP verwenden, wird die Komprimierungsoption nicht unterstützt.
Hinweis: File Transfer Protocol (FTP) ist die empfohlene Methode zum Konfigurieren eines Core Dump.
Verwenden Sie die folgenden Befehle, um den Router mithilfe von FTP für ein Core Dump zu konfigurieren:
ip ftp username username (Benutzername für IP-Benutzername): Mit diesem Befehl wird der Benutzername für FTP-Verbindungen (File Transfer Protocol) konfiguriert. Um den Router für den Versuch eines anonymen FTP zu konfigurieren, verwenden Sie die Form no von diesem Befehl.
ip ftp password password - Mit diesem Befehl wird das Kennwort für die FTP-Verbindung konfiguriert.
exception protocol ftp: Mit diesem Befehl wird das für Core Dump FTP verwendete Protokoll konfiguriert.
exception region-size 65536: Mit diesem Befehl wird die Regionsgröße konfiguriert.
exception dump ip-address - Konfiguriert die IP-Adresse des Servers, an den der Router im Falle eines Absturzes den Core Dump sendet.
Hinweis: Um eine Netzwerküberlastung zu vermeiden, empfiehlt Cisco dringend, den Router ohne zwischengeschaltete Hops direkt mit dem FTP-Server zu verbinden. Wenn Sie einen oder mehrere Zwischen-Hops durchlaufen müssen, müssen Sie möglicherweise mit dem Befehl ip ftp source-interface angeben, welche Schnittstelle für den Zugriff auf den FTP-Server verwendet werden soll. Weitere Informationen finden Sie unter Konfigurieren eines Routers zur Verwendung von FTP-Verbindungen.
Wenn Sie den Benutzernamen und das Kennwort nicht konfiguriert haben, versucht der Router, einen anonymen FTP-Server zu verwenden.
Wenn Sie von einem Mitarbeiter des technischen Supports von Cisco nach Core Dump-Dateien gefragt werden, können Sie die Core Dump-Dateien über anonymes FTP an Cisco senden. Der FTP-Server ist ftp-sj.cisco.com, und das Verzeichnis ist /incoming.
Hinweis: Das Verzeichnis /incoming ist nicht sichtbar.
Stellen Sie sicher, dass der Übertragungsmodus auf Binärmodus eingestellt ist. Wenn die Dateien noch nicht komprimiert sind, komprimieren Sie sie mit einem gängigen Komprimierungsprogramm, z. B. gzip oder zip.
Stellen Sie außerdem sicher, dass Sie die Crashinfo-Datei, falls verfügbar, zusammen mit dem Core Dump einschließen. Die Crashfo-Datei ist verfügbar, wenn die Hardware oder Software diese Funktion unterstützt. Anweisungen hierzu finden Sie unter Abrufen von Informationen aus der Datei Crashinfo.
Stellen Sie sicher, 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 ein Core Dump zu konfigurieren:
ip rcmd remote-username username - Dieser Befehl konfiguriert den Remote-Benutzernamen zur Verwendung, wenn Sie eine Remote-Kopie über das Remote Copy Protocol (RCP) anfordern.
exception protocol rcp: Mit diesem Befehl wird das für Core Dumps verwendete Protokoll als RCP konfiguriert.
exception region-size 65536: Mit diesem Befehl wird die Regionsgröße konfiguriert.
exception dump ip-address
Wenn Sie den Benutzernamen nicht konfiguriert haben, verwendet der Router seinen Hostnamen als Benutzernamen für den RCP.
Hinweis: Um eine Netzwerküberlastung zu vermeiden, empfiehlt Cisco dringend, den Router ohne zwischengeschaltete Hops direkt mit dem RCP-Server zu verbinden. Wenn Sie einen oder mehrere Zwischen-Hops 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 zum linearen Flash-Speicher oder der PCMCIA-Flash-Karte. Die große Speicherkapazität dieser Flash-Laufwerke macht sie zu einem guten Medium, um ein 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 eine größere Speichergröße hat als der DRAM-Speicher, der den Core Dump verursacht. Wenn Sie beispielsweise eine DRAM-Speichergröße von 128 MB haben, muss die Flash-Festplatte eine Speicherkapazität von mehr als 128 MB haben. Ein größerer Flash-Speicher ist erforderlich, um den Core Dump richtig zu erhalten. Wenn auf der Flash-Festplatte ein Speichermangel auftritt, wird der Core Dump nicht erstellt.
Verwenden Sie den folgenden Befehl, um einen Router für ein Core Dump mit einer Flash-Festplatte 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 für den Ausnahme-Flash-Befehl verwendet werden können.
Aufgrund einer Beschränkung bei den meisten TFTP-Anwendungen löscht der Router nur die ersten 16 MB der Core-Datei. Wenn der Hauptspeicher Ihres Routers größer als 16 MB ist, verwenden Sie daher kein TFTP. Weitere Informationen finden Sie unter Cisco IOS TFTP Client Cannot Transfer Files Larger than 16MB in Size (Cisco IOS TFTP-Client kann Dateien mit einer Größe von mehr als 16 MB nicht übertragen).
Verwenden Sie die folgenden Befehle, um einen Router mithilfe von TFTP für ein Core Dump zu konfigurieren:
exception protocol tftp: Mit diesem Befehl wird TFTP als Protokoll für Core Dumps konfiguriert.
exception region-size 65536
exception dump ip-address
TFTP ist das Standardprotokoll für Ausnahmeprotokolle.
Hinweis: Um eine Netzwerküberlastung zu vermeiden, empfiehlt Cisco dringend, den Router ohne zwischengeschaltete Hops direkt mit dem TFTP-Server zu verbinden. Wenn Sie einen oder mehrere Zwischen-Hops 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.
Je nach verwendetem TFTP-Server müssen Sie möglicherweise leere Zieldateien mit den entsprechenden Berechtigungen erstellen, bevor der Router darauf 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 die Konfigurationsbefehle in diesem Abschnitt zusätzlich zu den Befehlen im Abschnitt Basic Setup.
Um einige Speicherprobleme zu beheben, können Sie den Router veranlassen, einen Core Dump zu erstellen, und einen Neustart durchführen, wenn bestimmte Speichergrößenparameter verletzt werden. Verwenden Sie die folgenden Ausnahmespeicherbefehle, um einen Core Dump auszulösen:
exception memory minimum size - Dieser Befehl erzwingt einen Absturz, wenn der freie Prozessorspeicher unter den konfigurierten Grenzwert sinkt.
exception memory fragment size (Größe des Ausnahmespeicherfragments): Dieser Befehl erzwingt einen Absturz, wenn die Cisco IOS-Software keinen zusammenhängenden Prozessor-Speicherblock zuweisen kann, der den konfigurierten Grenzwert überschreitet.
Der Parameter size wird in Byte angegeben und standardmäßig alle 60 Sekunden überprüft.
Diese Befehle führen nur dann zum Neustart des Routers, wenn die konfigurierten Bedingungen erfüllt sind. Wenn Sie außerdem Exception Dump oder Exception Flash konfigurieren, erstellt der Router zuerst ein Core Dump. Diese Befehle helfen bei der Diagnose von Speicherlecks.
In einigen Fällen fordert Sie der Mitarbeiter des technischen Supports auf, die Fehlerbehebbarkeit zu aktivieren, wenn Sie das Core Dump konfigurieren. Der Befehl debug sanity ist ein ausgeblendeter Befehl in den meisten Cisco IOS-Softwareversionen und manchmal erforderlich, um eine Beschädigung des Arbeitsspeichers, insbesondere eine Beschädigung des E/A-Arbeitsspeichers, zu beheben. Wenn Sie die Fehlersuche aktivieren, führt das System für jeden zugewiesenen Puffer eine Integritätsprüfung aus und führt beim Freigeben des Puffers erneut eine Integritätsprüfung aus.
Sie müssen den Befehl debug sanity im privilegierten EXEC-Modus (oder enable-Modus) ausführen. Obwohl dieser Befehl eine gewisse CPU-Kapazität beansprucht, beeinträchtigt die Fehlerbehebbarkeit die Funktionalität des Routers nicht wesentlich. Wie bei anderen Debug-Befehlen wird die Fehlerbehebungskorrektur nicht in der Konfiguration gespeichert und übersteht daher einen Neustart des Systems nicht.
Nicht alle Absturzarten erfordern die Aktivierung der Fehlerbehebungskorrektur. Verwenden Sie nur dann die Fehlerbehebungskorrektur, wenn Sie von Ihrem technischen Support-Mitarbeiter aufgefordert werden, diesen Befehl zu aktivieren.
Um die Integritätsprüfungen zu deaktivieren, verwenden Sie den Befehl undebug sanity privileged EXEC.
Wenn Sie den Router für Core Dump konfiguriert haben, testen Sie das Setup.
Die Cisco IOS Software stellt den speziellen Write-Core-Befehl im privilegierten EXEC-Modus (oder Enable-Modus) bereit, um den Router zu veranlassen, ein Core Dump ohne Neuladen zu generieren.
Bei Erfolg entspricht die Core Dump-Datei(en) der Größe der jeweiligen Speicherbereiche. Denken Sie daran, dass der gesamte Speicherbereich und nicht nur der verwendete Speicher gelöscht wird.
Der Befehl write core ist auch nützlich, wenn ein Router ausfällt, aber nicht abstürzt.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
24-Jun-2008 |
Erstveröffentlichung |