この文書では、Cisco ギガビット スイッチ ルータ(GSR)ラインカード(LC)におけるコアダンプの設定方法を示します。
このドキュメントに特有の要件はありません。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
Cisco IOS® ソフトウェア リリース 12.0(24)S1
この文書は、すべての Cisco 12xxx シリーズ GSR ルータに適用できます。
注意:リモート・サーバへのコアダンプには、20~45分かかります。この間、ルータはアクセス不能になりパケットを転送しません。この手順の使用には注意が必要です。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
ドキュメント表記の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
コア ダンプとは、ルータが回復不可能なエラーを検出し、自動的なリロードが必要になった場合に作成されるバイナリ ファイルです。これは、ルータのメモリ イメージの完全なコピーです。コア ダンプを作成するにはルータの設定が必要です。ただし、どんなタイプのクラッシュでもコア ダンプが生成されるわけではありません。コア ダンプは通常、テクニカル サポート担当者がクラッシュの原因を特定する際に役立ちます。
次に、FTP を使用するコア ダンプに必要な最小限の LC の設定を示します。
FTP を使用するコア ダンプ |
---|
hostname GSR ! ip ftp source-interface Ethernet0 ip ftp username test ip ftp password blah !--- These commands enable the router for FTP transfer. !--- These commands are not necessary if you use the default !--- protocol TFTP for file transfer. ! interface Ethernet0 ip address 10.77.240.91 255.255.255.128 ! ip route 0.0.0.0 0.0.0.0 10.77.240.1 ! exception protocol ftp !--- Specifies FTP as the protocol for core dumps. The default is TFTP. exception dump 10.77.233.129 !--- Specifies the IP address of the server which receives the core dump file. exception linecard slot 2 !--- Enables the storage of crash information for the LC that you specify. !--- Here you specify slot 2. |
この基本設定を使用する場合
ギガビット ルート プロセッサ(GRP)がクラッシュした場合、GSR-core というコア ダンプが 10.77.233.129 にある FTP サーバに保存されます。
スロット 2 の LC がクラッシュした場合、Router-core, slot 2 というコア ダンプが同じ場所に保存されます。
コア ダンプ用にルータを設定した場合は、設定が機能するかどうかをテストします。
Cisco IOS では write core コマンドを使って、リロードせずにコア ダンプをテストまたはトリガーできます。
特権 EXEC モード(イネーブル モード)で write core コマンドを使用します。 このコマンドにより、システムはリロードせずにコア ダンプを生成でき、GRP メモリの内容がダンプされます。
このコマンドは、ファイルが書き込まれるサーバの接続を確認するときに有効です。
GSR#write core Remote host [10.77.233.129]? Base name of core files to write [cdfile1]? writing uncompressed ftp://10.77.233.129/cdfile1 Writing cdfile1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!! !--- This output is suppressed.
隠しコマンド test crash を使用してコア ダンプの設定をテストします。attach コマンドを使用して、必要なライン カードに接続します。ライン カードのコア ダンプを生成するため、ここで test crash コマンドを入力します。ライン カードで実行するコマンドでは、そのライン カードの Cisco IOS イメージが使用されます。この IOS イメージには write core コマンドは含まれません。LC のコア ダンプ設定をテストするには、この方法を使用する必要があります。
注意: test crashコマンドは、実稼働ネットワークを中断させます。さらにルータのクラッシュが発生し、メモリの内容をダンプするまでルータは再起動されません。コア ダンプにかかる時間は、RP または LC のダイナミック RAM(DRAM)のサイズによって異なります。
GSR#attach 2 Entering Console for 1 Port Packet Over SONET OC-12c/STM-4c in Slot: 2 Type "exit" to end this session Press RETURN to get started! LC-Slot2> LC-Slot2>enable LC-Slot2#test crash WARNING: Command selections marked with '(crash router)' will crash router when issued. However a selection 'C' will need to be issued IMMEDIATELY before these selections to enable them. Type the number for the selected crash: -------------------------------------- 1 (crash router) Bus Error, due to invalid address access 2 (crash router) Bus Error, due to parity error in Main memory 3 (crash router) Bus Error, due to parity error in I/O memory 4 (crash router) Address Error, due to fetching code from odd address 5 (crash router) Jump to zero 6 (crash router) Software forced crash 7 (crash router) Illegal read of address zero 8 (crash router) Divide by zero 9 (crash router) Corrupt memory C Enable crash router selection marked with (crash router) U (crash router) User enter write bus error address W (crash router) Software watchdog timeout (*** Watch Dog Timeout ***) w (crash router) Process watchdog timeout (SYS-2-WATCHDOG) d Disable crashinfo collection e Enable crashinfo collection i Display contents of current crashinfo flash file n Change crashinfo flash file name s Save crashinfo to current crashinfo flash file q Exit crash menu ? C !--- Enter C here and press return. Type the number for the selected crash: -------------------------------------- 1 (crash router) Bus Error, due to invalid address access 2 (crash router) Bus Error, due to parity error in Main memory 3 (crash router) Bus Error, due to parity error in I/O memory 4 (crash router) Address Error, due to fetching code from odd address 5 (crash router) Jump to zero 6 (crash router) Software forced crash 7 (crash router) Illegal read of address zero 8 (crash router) Divide by zero 9 (crash router) Corrupt memory C Enable crash router selection marked with (crash router) U (crash router) User enter write bus error address W (crash router) Software watchdog timeout (*** Watch Dog Timeout ***) w (crash router) Process watchdog timeout (SYS-2-WATCHDOG) d Disable crashinfo collection e Enable crashinfo collection i Display contents of current crashinfo flash file n Change crashinfo flash file name s Save crashinfo to current crashinfo flash file q Exit crash menu ? 6 !--- Enter the number that corresponds to !--- the crash type you want to test. Unexpected exception, CPU signal 23, PC = 0x400E8DA8 -Traceback= 400E8DA8 40C6A4DC 404006E09C 400C477C 400C4768 $0 : 00000000, AT : 41B30000, v0 : 431A8F40, v1 : 00000032 !--- Output is suppressed.
このコマンドによりクラッシュが発生し、メモリの内容がダンプされます。コア ダンプが生成されない場合は、設定全体を見直す必要があります。
ここでは、このドキュメントで使用するコマンド、およびその他のオプションのコマンドについて説明します。
LC のクラッシュ時に生成されるコア ダンプを変更する exception コマンドは、exception linecard コマンドのみです。次のリストに示すその他の exception コマンドは、GRP が生成するコア ダンプに適用されます。
exception core-file file-name compress :GRP のクラッシュ時に生成されるコア ダンプ ファイルのファイル名を設定し、コア ファイルを作成します。デフォルトでは、コア ファイルには hostname-core という名前が付けられます。hostname はルータの名前になります。このコマンドを使用すると、各ルータはそれぞれ固有のコアファイルを作成します。
たとえばルータのホスト名が「lab1」の場合、デフォルトでルータはlab1-core という名前のコア ダンプ ファイルを生成します。コマンド exception core-file Test を使用して、テスト用に生成されるコア ダンプの名前を変更できます。
compress オプションで、コア ダンプ ファイルを圧縮できます。
注: コア ダンプ ファイルをフラッシュ ディスクに書き込むときには、自動的に compress が使用されます。Remote Copy Protocol(RCP)を使用してコア ダンプ ファイルを書き込む場合、compress オプションはサポートされません。
exception protocol {ftp | rcp | tftp} :コアファイルをリモートホストに書き込むときに使用するプロトコルを設定します。File Transfer Protocol(FTP)、Trivial File Transfer Protocol(TFTP; トリビアル ファイル転送プロトコル)、または Remote Copy Protocol(RCP)のいずれかを使用できます。 デフォルト プロトコルは TFTP です。
注:16 MBを超えるコアファイルをダンプするためにTFTPを使用することはできません。
注:FTPを使用する場合は、そのシステム上に有効なユーザーアカウントと十分な空きディスク領域が必要です。これは、コア ファイルが非常に大きくなる可能性があるからです。デフォルト プロトコルは TFTP です。
exception dump ip address :コア ファイルが書き込まれるリモート サーバの IP アドレスまたはホスト名を設定します。
exception flash {procmem | iomem | all} {device_name[:partition_number]} :他のプラットフォームのGSRは、リニアフラッシュメモリまたはPCMCIAフラッシュカードの代わりにフラッシュディスクをサポートしています。これらのフラッシュ ディスクは大容量であるため、コア ダンプをキャプチャするもう一つの方法として最適です。フラッシュ ディスクを使用してコア ダンプを設定するには、次のルータ設定コマンドが必要です。
exception flash {procmem | iomem | all} {device_name[:partition_number]}
現時点では、フラッシュ ディスクへの LC コア ダンプは実装されていません。
exception crashinfo file device:filename:GRPがクラッシュしたときにcrashinfoファイルを書き込むようにルータを設定します。ルータはデフォルトで有効になっています。
file device:filenameオプションを指定する場合は、診断情報を保存するために使用するフラッシュデバイスとファイル名です。コロンは必須です。デフォルトの場所はブートフラッシュで、ファイルのデフォルト名は crashinfo_datetime of crash です。
exception crashinfo buffersize kilobytes :GRP のクラッシュ時に crashinfo ファイルを書き込むようにルータを設定します。ルータはデフォルトで有効になっています。
オプション buffersize kilobytes で、crashinfo ファイルに使用するバッファのサイズに合わせてルータを変更できます。デフォルト サイズは 32 KB です(最大は 100 KB で、その場合は、exception crashinfo buffer 100 と設定します)。
exception suffix slot-number:GRP コアファイルのファイル名を指定しない場合、コア ファイル名にスロット番号を追加します。LC が生成するコア ダンプにはデフォルトでスロット番号が追加されます。
exception linecard {all | slot slot-number} [corefile filename |メインメモリサイズ[k] | m] | queue-ram size [k | m] | rx-buffer size [k | m] | sqe-register-rx | sqe-register-tx | tx-buffer size [k] | m]] :この構文の説明では、このコマンドのコンポーネントについて詳しく説明します。
all:すべての LC のクラッシュ情報を保存します。
slot slot- number:指定したスロットの LC のクラッシュ情報を保存します。
corefile filename:LC のクラッシュ時に生成されるコア ダンプ ファイルのファイル名を設定します。デフォルトのファイル名は hostname-core-slot-number(たとえば、Router-core-2)です。
main-memory size:メイン メモリのクラッシュ情報のサイズを指定して保存します。保存用のメモリのサイズは 0 ~ 268435456 です。
queue-ram size:LC のキュー RAM メモリのクラッシュ情報のサイズを指定して保存します。保存用のメモリのサイズは 0 ~ 1048576 を指定できます。
rx-buffer size および tx-buffer size:LC の受信(rx)および送信(tx)バッファのクラッシュ情報のサイズを指定して保存します。保存用のメモリのサイズは 0 ~ 67108864 を指定できます。
sqe-register-rxおよびsqe-register-tx:LC上の受信または送信シリコンキューイングエンジンレジスタのクラッシュ情報を保存します。
k とm :kオプションは指定したサイズに1K(1024)を掛け、mオプションは1M(1024*1024)を掛けます。
例:
exception linecard slot 6:スロット6のLCがクラッシュした場合に、コアファイルの作成を有効にします。
exception linecard slot 6 core-file router_slot6_core:スロット6でLCが生成するコアファイルのファイル名をrouter_slot6_coreに設定します。
exception linecard slot 6 main-memory 16 Mbytes:ダンプされるメインメモリの内容の量を16 Mbytesに設定します。
注:最大は256 MBです。最大を指定しておくと安全です。
「exception linecard slot 6 main-memory 256 M」と指定すると、設定には表示されません。これは、LC のコアファイル生成を有効にした場合のデフォルト設定であるためです。
exception memory {fragment size | minimum size} :デバッグプロセスの際、特定のメモリサイズパラメータに違反があった場合に、ルータでコアダンプが作成され、リブートされる可能性があります。fragment パラメータによって、空きプールのメモリの最小連続ブロックを指定することができます(バイト単位)。minimum は、空きメモリ プールの最小サイズを示します。サイズの値はバイト単位で指定し、60 秒ごとにチェックされます。空きメモリより大きいサイズを入力した場合、exception dump コマンドを設定すると、コア ダンプが生成されてルータが 60 秒後にリロードします。exception dump コマンドを設定しない場合、ルータはコア ダンプを生成せずにリロードします。
exception region-size size :このコマンドは、プロセッサ メモリ プールに破損が確認されたときに、フォールバック プールとして使用する少量のメモリを定義するために使用します。これにより、コア ダンプ プロセス時のメモリ障害を回避できます。デフォルトの領域サイズは 16,384 バイトです。exception region-size を最大(65,536 バイト)に設定すると、コア ダンプが成功する可能性が高くなります。
exception delay-dump delay :冗長システムでコア ファイルの転送が開始されるまでの遅延時間を指定できます。スタンバイが安定するまでの時間を確保するため、システムはデフォルトで 30 秒間待機してからコア ファイルの転送を開始します。有効な値の範囲は 30 ~ 300 秒です。
ip ftp username username :FTP を使用してコア ファイルをリモート サーバにアップロードするときに使用するユーザ名を設定できます。例では、ユーザ名が test に設定されています(ip ftp username test)。
ip ftp password [type] password:ip ftp username username コマンドで設定したユーザ名のパスワードを指定できます。例では blah です(ip ftp password blah)。
ip ftp source-interface interface:FTP 接続の発信元インターフェイスを指定します。
ip ftp passive:デフォルトでルータはパッシブ モードの FTP を使用して接続します。これをオフにするには no ip ftp passive コマンドを使用します。
注:Cisco IOSソフトウェアリリース12.0(22)S以降、コアダンプ生成は最新のエンジンタイプ(2、3、4、4+)でサポートされています。 この機能は、新しいエンジンのリリース後すぐにサポートされます。すべてのライン カードは、トラブルシューティング プロセスを簡単にするためにこの機能をサポートしています。