はじめに
このドキュメントでは、Cisco IOS®/Cisco IOS XEで予期しないリロードの原因を特定し、それらをTACケースにアップロードするために必要なファイルについて説明します。
前提条件
要件
- このドキュメントは、Cisco IOS/Cisco IOS XEソフトウェアを実行するシスコルータおよびスイッチに適用されます。
- このドキュメントで説明されているファイルを収集するには、デバイスが起動していて安定している必要があります。
- 転送プロトコルを介してファイルを抽出するには、L3到達可能性を備えたサーバ(ファイル転送アプリケーション/サービスがインストールされている)が必要です。
- デバイスへのSSH/Telnet経由のコンソールまたはリモート接続が必要です。
- SDWANの導入については説明しません。
注:予期しないリロードイベントが発生した場合、一部のファイルがリロードの性質とプラットフォームに基づいて生成されないことがあります。
テクニカルサポートファイルの表示
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ファイルはデバイス上に作成でき、ファイルシステムストレージ(内部または外部)のいずれかに保存されます。コマンド構文はすべてのデバイスで同じですが、使用するファイルシステムは変更できます。このファイルは、外部サーバ上で直接作成することもできます。このセクションでは、ローカルファイルシステムの構文を示します。
フラッシュ内にファイルを作成するには、show tech-supportコマンドを使用する必要があります。 | 特権モードで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フォルダのbootflashまたはharddisk内に保存されます。
次に、コアファイルがブートフラッシュファイルシステムのコアフォルダ内にどのように表示されるかを示す例を示します。
------------------ 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ファイルを含む圧縮ファイルを作成することです。プラットフォームに基づいて、次のコマンドを使用できます。
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またはharddiskのメインディレクトリにあります。
これには常に、リブートの直前に生成されたトレースログが含まれています。予期しないリロードの場合、イベントのクラッシュファイルとコアファイルが含まれています。
このファイルは圧縮ファイルです。フォルダは圧縮解除できますが、情報をデコードするための追加ツールが必要です。
このファイルをデバイスから抽出する方法を確認するには、Extract Filesセクションに移動します。
カーネルコア
カーネルコアは、Cisco IOS XEプロセスではなく、Linuxカーネルによって作成されます。カーネル障害が原因でデバイスがリロードされると、通常は完全なカーネルコア(圧縮ファイル)とカーネルコア(プレーンテキスト)ファイルのサマリーが作成されます。
予期しないリブートを引き起こしたプロセスはレビュー可能ですが、リロード原因を完全に分析するために、このファイルをCisco TACに提供することを常に推奨いたします。
カーネルコアファイルは、bootflashまたはハードディスクのメインディレクトリにあります。
ファイルの抽出方法
このセクションでは、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フォーマット
ほとんどのCisco IOSおよびCisco IOS XEデバイスでは、サードパーティ製USBを認識できません。
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」セクションに表示されるコマンドを実行できます。