はじめに
このドキュメントでは、Cisco IOS®/XEで予期しないリロードの原因を特定し、TACケースにアップロードするために必要なファイルについて説明します。
前提条件
要件
- このドキュメントは、Cisco IOS®/Cisco IOS® XEソフトウェアを実行するシスコルータおよびスイッチに適用されます。
- このドキュメントで説明されているファイルを収集するには、デバイスが起動していて安定している必要があります。
- 転送プロトコルを介してファイルを抽出するには、L3到達可能性のあるサーバ(ファイル転送アプリケーション/サービスがインストールされているサーバ)が必要です。
- デバイスへのSSH/Telnet経由のコンソールまたはリモート接続が必要です。
- SD-WANの導入については説明しません。
注:予期しないリロードイベントでは、リロードの性質とプラットフォームに基づいて一部のファイルが生成されない可能性があります。
テクニカルサポートファイルの表示
show tech-supportコマンド出力には、デバイスの現在のステータス(メモリおよびCPU使用率、ログ、設定など)に関する一般情報と、予期しないリロードイベントが発生した時期に関連して作成されたファイルに関する情報が含まれます。
予期しないリブート状況が発生した場合は、次の点を確認してください。
- デバイスにインストールされている現在のCisco IOS/Cisco IOS XEバージョン。
- ポート、カード、およびモジュールを含むシステム構成の詳細。
- ファイルシステムの根本原因分析を提供する追加ファイルの存在。
show tech-supportの出力は、2つの異なる方法でキャプチャできます。ターミナルセッションのログを記録する方法と、ストレージにファイルを作成してデバイスから転送する方法です。
ターミナルセッションのログ記録
Puttyで、Session > Loggingに移動し、Session loggingタブ内で選択してから、次の図に示すようにAll session outputオプションを選択します。

このファイルは、デフォルトではputty.logという名前でPuttyフォルダに保存されます。ファイルのフォルダと名前は、Browseボタンを使用して変更できます。
設定が完了したら、Puttyセッションをコンソール、Telnet、またはSSH経由でデバイスに接続する必要があります。
デバイスセッションでは、特権モードでterminal length 0コマンドを設定してから、show tech-supportコマンドを使用することをお勧めします。
# terminal length 0
# show tech-support
注:このコマンドの実行には数秒かかることがあります。実行を中断しないでください。
ストレージへのファイルの作成
show tech-supportファイルはデバイス上に作成でき、ファイルシステムストレージの1つ(内部または外部)に保存できます。 コマンド構文はすべてのデバイスで同じですが、使用するファイルシステムは変更できます。このファイルは、外部サーバ上で直接作成することもできます。このセクションでは、ローカルファイルシステムの構文を示します。
フラッシュ内にファイルを作成するには、特権モードでコマンドshow tech-support | redirect flash:Showtech.txtを使用する必要があります。
# show tech-support | redirect flash:Showtech.txt
テキストファイルの生成中は、この端末を数秒間使用することはできません。ファイルの作成が完了したら、show [file system]:コマンドで、ファイルの作成が正しいかどうかを確認できます。ファイルはプレーンテキストファイルなので、moreコマンドでデバイスの内容を表示できます。
# show flash:
# more flash:Showtech.txt
作成されたファイルは、選択した転送プロトコル(FTP/TFTP/SCP)を使用して外部ストレージに抽出し、分析のために共有できます。
crashinfo ファイル
crashinfoファイルはテキストファイルで、クラッシュの理由を特定するのに役立つデバッグの詳細が含まれています。コンテンツはプラットフォームによって異なります。一般に、クラッシュ前のロギングバッファと、符号化モードではクラッシュ前にプロセッサによって実行された機能が保持されます。Cisco IOSプラットフォームでは、クラッシュ後のファイルシステムで最も一般的なファイルを次に示します。Cisco IOS XEプラットフォームでこのファイルが生成されるのは、IOSdプロセスでのみクラッシュが発生した場合です。他のプロセスが失敗した場合、デバイスはcrashinfoファイルを作成しません。
Crashinfoファイルは、プラットフォームのフラッシュ、ブートフラッシュ、ハードディスク、またはcrashinfoストレージにあります。冗長コントロールプレーンプラットフォームの場合、クラッシュファイルはアクティブまたはスタンバイのスーパーバイザにあります。
予期しないリブートが発生する前のDRAMメモリとプロセスのメモリ領域のスナップしか取得されないため、このファイルの内容は制限されています。場合によっては、リブートの根本原因を特定するために追加のファイルや出力が必要になることがあります。
コア ファイル
Cisco IOS XEプラットフォームでは、ランタイムエラーが原因でプロセスまたはサービスが実行を終了すると(予期しないリブートが発生すると)、コアファイルが作成されます。このファイルには、リロードイベントに関するコンテキスト情報が含まれています。
Cisco IOS XEプラットフォームでは、予期しないリブートがソフトウェア主導で行われると、デフォルトで生成されます。コアファイルは、任意のLinuxプロセス(IOSdプロセスを含む)で作成できます。
コアファイルは、クラッシュを引き起こした特定のプロセスによって使用される実行中のすべてのメモリの情報を含む圧縮ファイルです。このファイルはデコードに特別なツールを必要とするため、一貫性を維持するために、変更なしでファイルを抽出する必要があります。ファイルを圧縮解除するか、情報をテキストとして抽出します(moreコマンドなど)。ただし、サポートチームが内容をデコードすることはできません。
コアファイルは通常、ブートフラッシュまたはハードディスク内のcoreフォルダに保存されます。
次に、コアファイルがブートフラッシュファイルシステムのコアフォルダ内にどのように表示されるかを示す例を示します。
------------------ show bootflash: all ------------------
9 10628763 Jul 14 2021 09:58:49 +00:00 /bootflash/core/Router_216_Router_RP_0_ucode_pkt_PPE0_3129_1626256707.core.gz
10 10626597 Jul 23 2021 13:35:26 +00:00 /bootflash/core/Router_216_Router_RP_0_ucode_pkt_PPE0_2671_1627047304.core.gz
注:TACがコアファイルを正常に分析するには、変更や変更を加えずにファイルを抽出する必要があります。
デバイスからこのファイルを抽出する方法を確認するには、「ファイルの抽出」セクションに移動します。
トレースログ
トレースログは、Cisco IOS XE内の各プロセスの内部ログです。tracelogsディレクトリはデフォルトで作成され、その内容は定期的に上書きされます。このフォルダは、ブートフラッシュまたはハードディスクにあります。
このフォルダは安全に削除できますが、予期しないリロードイベントが発生した場合に追加情報を提供できるため、お勧めできません。
トラブルシューティングの状態によっては、最も古いtracelogsファイルを最新のファイルで上書きするか、最も古いファイルを収集する必要があります。最新のトレースログが必要な場合は、次のコマンドを使用します。
# request platform software trace rotate all
フォルダの内容を抽出する最も簡単な方法は、すべてのtracelogsファイルを含む圧縮ファイルを作成することです。プラットフォームに基づいて、次のコマンドを使用できます。
Cisco IOS XEルータ:
# request platform software trace slot rp active archive target bootflash:TAC_tracelogs
Cisco IOS XEスイッチおよびワイヤレスコントローラの場合:
# request platform software trace archive target bootflash:TAC_tracelogs
トレースログは、デコードに追加のツールを必要とするエンコードされたファイルであるため、圧縮ファイルを作成するときに抽出する必要があります。
デバイスからこのファイルを抽出する方法を確認するには、「ファイルの抽出」セクションに移動します。
システムレポート
システムレポートは、予期しないリロードが発生したときに、ソフトウェア実行で利用可能な情報のほとんどを収集する圧縮ファイルです。システムレポートには、トレースログ、crashinfo、およびコアファイルが含まれます。このファイルは、Cisco IOS XEスイッチおよびワイヤレスコントローラで予期しないリロードが発生した場合に作成されます。
このファイルは、bootflashまたはハードディスクのメインディレクトリにあります。
これには常に、リブートの直前に生成されたトレースログが含まれています。予期しないリロードの場合は、イベントのクラッシュファイルとコアファイルがあります。
このファイルは圧縮ファイルです。フォルダは圧縮解除できますが、情報をデコードするために追加のツールが必要です。
デバイスからこのファイルを抽出する方法を確認するには、「ファイルの抽出」セクションに移動します。
カーネルコア
カーネルコアは、Cisco IOS XEプロセスではなく、Linuxカーネルによって作成されます。カーネルの障害が原因でデバイスがリロードされると、通常は完全なカーネルコア(圧縮ファイル)とカーネルコア(プレーンテキスト)ファイルのサマリーが作成されます。
予期しないリブートを引き起こしたプロセスを確認することはできますが、リロードの理由を完全に分析するためにこのファイルをCisco TACに提出することが常に推奨されます。
カーネルコアファイルは、ブートフラッシュまたはハードディスクのメインディレクトリにあります。
ファイルの抽出方法
このセクションでは、Cisco IOS/Cisco IOS XEプラットフォームから外部ストレージクライアントに必要なファイルを転送するために必要な基本設定について説明します。
デバイスからサーバへの到達可能性が使用可能になることが想定されます。必要に応じて、デバイスからサーバへのトラフィックをブロックするファイアウォールまたは設定がないことを確認します。
このセクションでは、特定のサーバアプリケーションを推奨しません。
TFTP
TFTP経由でファイルを転送するには、TFTPサーバアプリケーションへの到達可能性を設定する必要があります。追加設定は必要ありません。
デフォルトでは、一部のデバイスでは管理インターフェイス経由でip tftp source interface設定がアクティブになっています。管理インターフェイスを介してサーバに到達できない場合は、次のコマンドを実行して、この設定を削除します。
(config)# no ip tftp source interface
サーバに到達するための設定が完了したら、ファイルを転送するために、次のコマンドを実行できます。
#copy :<file> tftp:
Address or name of remote host []? X.X.X.X
Destination filename [<file>]?
FTP
FTP経由でファイルを転送するには、FTPサーバアプリケーションへの到達可能性を設定する必要があります。デバイスとFTPサーバアプリケーションからFTPユーザ名とパスワードを設定する必要があります。デバイスのクレデンシャルを設定するには、次のコマンドを実行します。
(config)#ip ftp username username
(config)#ip ftp password password
オプションで、次のコマンドを使用してデバイスにFTP送信元インターフェイスを設定できます。
(config)# ip ftp source interface interface
サーバに到達するための設定が完了したら、ファイルを転送するために、次のコマンドを実行できます。
#copy :<file> ftp:
Address or name of remote host []? X.X.X.X
Destination filename [<file>]?
SCP
SCP経由でファイルを転送するには、SCPサーバアプリケーションへの到達可能性を設定する必要があります。デバイスとSCPサーバアプリケーションでローカルユーザ名とパスワードを設定する必要があります(転送を開始するにはクレデンシャルが必要)。また、デバイスでSSHを設定することも必要です。SSHサービスが設定されていることを確認するには、次のコマンドを実行します。
#show running-config | section ssh
ip ssh version 2
ip ssh server algorithm encryption 3des-cbc aes128-ctr aes192-ctr aes256-ctr
ip ssh client algorithm encryption 3des-cbc aes128-ctr aes192-ctr aes256-ctr
transport input ssh
transport input ssh
デバイスのクレデンシャルを設定するには、次のコマンドを実行します。
(config)#username USER password PASSWORD
注:TACACSまたは他のサービスをSSHユーザ認証に使用する場合、SCPサーバにもユーザ情報があれば、これらのクレデンシャルを使用できます。
設定が完了したら、ファイルを転送するために、次のコマンドを実行できます。
#copy :<file> scp:
Address or name of remote host []? X.X.X.X
Destination filename [<file>]?
USB
USBフラッシュを介したファイル転送では、ネットワーク内の外部サーバへの到達可能性は必要ありませんが、デバイスへの物理的なアクセスが必要です。
Cisco IOS/Cisco IOS XEを搭載するすべての物理デバイスには、外部ストレージとして使用できるUSBポートがあります。
USBフラッシュドライブが認識されていることを確認するには、show file systemsコマンドを実行します。
#show file systems
File Systems:
Size(b) Free(b) Type Flags Prefixes
- - opaque rw system:
- - opaque rw tmpsys:
* 11575476224 10111098880 disk rw bootflash: flash:
2006351872 1896345600 disk ro webui:
- - opaque rw null:
- - opaque ro tar:
- - network rw tftp:
33554432 33527716 nvram rw nvram:
- - opaque wo syslog:
- - network rw rcp:
- - network rw pram:
- - network rw http:
- - network rw ftp:
- - network rw scp:
- - network rw sftp
- - network rw https:
- - network ro cns:
2006351872 1896345600 disk rw usbflash0:
注:Cisco IOS/Cisco IOS XEデバイスは、公式のCisco USBフラッシュドライブをサポートしています。サードパーティ製のUSBフラッシュのサポートは限定されています。
適切なスロット(usbflash0またはusbflash1)のデバイスでUSBフラッシュが認識され、使用可能な十分な空き領域が確保されたら、次のコマンドを使用してファイルを転送します。
#copy :<file> usbflashX:
Destination filename [<file>]?
トラブルシュート
このセクションでは、(Cisco IOSまたはCisco IOS XEデバイスから)外部方式にファイルを転送する際に検出され、使用される可能性のある一般的なエラーと回避策について説明します。
開いているポートの確認
サーバへの到達可能性が確認された際に、デバイスでconnection refusedエラーが表示される場合は、デバイス側のポートが使用可能であること(トラフィックをブロックするACLエントリがない)と、サーバ側のポートも使用可能であることを確認するのが有用です。最後のパートでは、ポートを必要とするtelnetコマンドを使用できます。
使用されているプロトコルに基づいて、次のコマンドを実行します。
TFTP
#telnet X.X.X.X 69
FTP
#telnet X.X.X.X 21
SCP
#telnet X.X.X.X 22
注:以前のポートは各プロトコルのデフォルトポートでした。これらのポートは変更できます。
コマンドで正常なオープンポートが提供されない場合、トラフィックをドロップする可能性があるサーバ側からの誤設定やパス内のファイアウォールを確認すると役立ちます。
USBフォーマット
サードパーティ製のUSBは、ほとんどのCisco IOSデバイスおよびCisco IOS XEデバイスで認識できません。
4 GBを超えるUSBは、Cisco IOSルータおよびスイッチで認識されません。Cisco IOS XEプラットフォームでは、4 GBを超えるサイズのUSBを認識できます。
サードパーティ製USBの場合は、FAT32またはFAT16フォーマットでテストできます。互換性のあるUSBメモリドライブでも、その他の形式は認識されません。
転送の中断
ホップ数の多いサーバでは、ファイル転送が中断され、転送を再開する必要が生じる場合があります。
このシナリオでは、vty回線で次の設定を使用すると便利です。
(config)#line vty 0 4
(config-line)#exec-timeout 0 0
前述の設定では、制御パケットがパスで廃棄されたり、パケットの確認応答に時間がかかりすぎたりする場合でも、転送セッションが廃棄されないことが保証されます。
転送が完了したら、vty回線からこの設定を削除することをお勧めします。
ファイルサーバは、常にデバイスにできるだけ近い場所に配置することをお勧めします。
中間TFTPサーバ
Ciscoデバイスは、ローカルファイルサーバに直接転送できない転送を行う一時的なTFTPサーバとして使用できます。
デバイス(抽出が必要なファイルが含まれているデバイス)で、次のコマンドを実行できます。
(config)#tftp-server :<file>
クライアントとして設定されているデバイスから、TFTPセクションに表示されるコマンドを実行できます。