はじめに
このドキュメントでは、Nexus 9000 CRC(Cyclic Redundancy Check)スクリプトを実行する手順について説明します。このスクリプトは、CRCエラーのあるポートを特定し、修復手順を提供します。
背景説明
Cisco Nexus 9000シリーズスイッチは、カットスルースイッチングをデフォルトで使用します。 カットスルースイッチングでは、スイッチがフレームに対して転送の決定を行い、有効な転送の決定を行うのに十分なフレームヘッダーの処理がスイッチで完了するとすぐに、フレームの出力インターフェイスからの転送を開始します。これは、出力インターフェイスからフレームを転送する前にフレーム全体をバッファリングするストアアンドフォワードスイッチングとは異なります。
インターフェイスのCRCエラーをトラブルシューティングするには、これらのスイッチのインターフェイスカウンタエラーをトラブルシューティングするために、CRCおよびFCS(フレームチェックシーケンス)カウンタの増分値を確認する必要があります。
このスクリプトは、9200および9300クラウドスケールASIC(特定用途向け集積回路)スイッチのCRC/FCSエラーの識別を自動化します。定期的な間隔でインターフェイスのCRCカウンタとFCSカウンタの値を収集し、エラーが履歴に残っているか、または実際に発生しているかを確認し、修復手順を提供します。
スクリプトの実行は、次の2つの部分に分かれています。
- Pollerスクリプト(Script-1)は、最大7日間の期間にわたって、10 ~ 30ごとにファイルのインターフェイスエラーデータを収集します。
- Parser Script(Script-2)はこれらの出力を分析し、エラーのソースであるインターフェイスと、ストンプされたパケットを転送するだけのインターフェイスを含む表形式の出力を提供します。
少なくともscript-1の実行の30分後にscript-2を実行します。これは、少なくとも2つ以上のファイルがscript-1の実行の一部として収集された場合です。
スクリプトは、これらのコマンドセットの出力を収集し、それを分析してCRCの発生源を特定します。「関連情報」セクションのリンクを参照してください。
switch# show interface
switch# show interface counters errorsゼロ以外
switch# show interface hardware-mappings
switch# slot {x} show hardware internal tah counters asic {y}
前提条件
スクリプトはGitで入手できます。
CRCエラー分析が必要なNexusスイッチにネットワークアクセスできるクライアントマシン(ジャンプサーバ)からダウンロードして実行する必要があります。
スクリプトをダウンロードするには、ここをクリックしてください。
要件
次の前提条件がクライアントマシン(ジャンプサーバ)にインストールされていることを確認します。
- Python3
- Nexusスイッチにネットワークアクセスするためのクライアントマシン(ジャンプサーバ)
- Nexus_CRC_requirements.txtは、クライアントマシンにインストールするgitで入手できます。
(これは、クライアントジャンプホストで1回限りの設定です。この手順では、必要なpythonライブラリをjump-hostにインストールします)
requirements.txtをインストールする手順
ステップ1:NEXUS_CRC_requirements.txtのダウンロード
ステップ2:ターミナルウィンドウを開く/コマンドプロンプト
ステップ3:NEXUS_CRC_requirements.txtがあるフォルダに移動し、次のコマンドを実行します。
#pip install -r Nexus_CRC_requirements.txt
インストールが成功すると、次のようなメッセージが表示されます。
DateTime-4.3 numpy-1.21.2 pandas-1.3.2 paramiko-2.7.2 python-dateutil-2.8.2 stdiomask-0.0.5 tabulate-0.8.9 termcolor-1.1.0が正常にインストールされました
使用するコンポーネント
スクリプトは、次のジャンプサーバでテストされます。
- Windows 10 64ビット
- MACモントレー
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
関連製品
このスクリプトの目的は、Nexus 9200および9300クラウドスケールASICスイッチのCRCエラーを分析することです。
該当プラットフォーム:Nexus 9200/9300固定構成スイッチ
- N9K-C92160YC-X
- N9K-C92300YC
- N9K-C92304QC
- N9K-C92348GC-X
- N9K-C9236C
- N9K-C9272Q
- N9K-C9332C
- N9K-C9364C
- N9K-C93108TC-EX
- N9K-C93108TC-EX-24
- N9K-C93180LC-EX
- N9K-C93180YC-EX
- N9K-C93180YC-EX-24
- N9K-C93108TC-FX
- N9K-C93108TC-FX-24
- N9K-C93180YC-FX
- N9K-C93180YC-FX-24
- N9K-C9348GC-FXP
- N9K-C93240YC-FX2
- N9K-C93216TC-FX2
- N9K-C9336C-FX2
- N9K-C9336C-FX2-E
- N9K-C93360YC-FX2
- N9K-C93180YC-FX3
- N9K-C93108TC-FX3P
- N9K-C93180YC-FX3S
- N9K-C9316D-GX
- N9K-C93600CD-GX
- N9K-C9364C-GX
- N9K-C9364D-GX2A
- N9K-C9332D-GX2B
背景説明
Cisco Nexus 9000シリーズスイッチは、カットスルースイッチングをデフォルトで使用します。
これらのスイッチのインターフェイスカウンタエラーのトラブルシューティングを行うには、CRCおよびFCSカウンタの増分値を確認する必要があります。
このスクリプトは、9200および9300クラウドスケールASICスイッチのCRC/FCSエラーの識別を自動化します。定期的な間隔でインターフェイスのCRCカウンタとFCSカウンタの値を収集し、エラーが履歴に残っているか、または実際に発生しているかを確認し、修復手順を提供します。
スクリプトの実行は、次の2つの部分に分かれています。
- Pollerスクリプト(Script-1)は、最大7日間の期間にわたって、10 ~ 30ごとにファイルのインターフェイスエラーデータを収集します。
- Parser Script(Script-2)はこれらの出力を分析し、エラーのソースであるインターフェイスと、ストンプされたパケットを転送するだけのインターフェイスを含む表形式の出力を提供します。
少なくともscript-1の実行の30分後にscript-2を実行します。これは、少なくとも2つ以上のファイルがscript-1の実行の一部として収集された場合です。
スクリプト実行手順
ポーラー・スクリプト(スクリプト1)の実行
これらの手順は、定期的な間隔でファイルのCRC/FCSエラーカウンタを収集するポーラスクリプトを実行することです。
ステップ1:terminal / コマンドプロンプトを開き、「NEXUS_CRC_POLLER.py」を実行します。
#python3 NEXUS_CRC_POLLER.py
入力:
NexusスイッチのIP/FQDN、ユーザ名、およびパスワードを入力します。
ステップ2:ファイルを保存するフォルダ(ジャンプホスト上の場所)へのパスを入力します。
有効なフォルダ形式:
例:
Windows-> C:\Users\Admin\Desktop\Nexus\
MAC -> /Users/admin/Desktop/Nexus/
**フォルダ形式が上記と異なる場合、データ収集とスクリプト実行に影響が及ぶことに注意してください。また、ファイルを保存するフォルダが既に存在することを確認してください**
ステップ3:スクリプトを実行する期間を入力します。
最大:7日
Minimum:30分間以上実行して、CRCカウンタを複数回収集し、増分を識別します
**スクリプトは、10 ~ 30分ごとにインターフェイスエラーを収集し、以前の入力で指定されたパスでファイルにデータを保存します。入力で指定された終了時刻に基づくデータ収集スクリプトの終了時刻**
ステップ4:ドメインにエラーがない場合は、ユーザが続行してデータをもう一度収集するかどうかを確認するメッセージが表示されます。
パーサースクリプト(Script-2)の実行
これらの手順は、Parserスクリプト(ParserScript)を実行することです。このスクリプトは、Pollerスクリプトによって収集されたCRC/FCSエラーファイルを分析し、修復手順を提供します。
Parserスクリプト(Script-2)の実行を開始します。Pollerスクリプト(Script-1)の実行の一環として少なくとも2つのファイルが生成され、データの比較が行われます(つまり、Pollerスクリプトの実行が約30分後)。
適切な表形式の出力ビューを表示するには、ターミナルセッションのフォントの解像度を100 %に保ちます。
ステップ1:端末の/コマンドプロンプトを開き、「NEXUS_CRC_PARSER.py」を実行します。
Script-1からデータを収集した同じファイルの場所を入力します。
例:
ファイルが保存されているフォルダの絶対パスを入力してください: /Users/rgajjar/Desktop/CRC_NEXUS/
パーサースクリプト(Script-2)出力レビュー
スイッチバージョン>=10.2の実行例および出力テーブル:
スイッチ・バージョン< 10.2の実行例および出力テーブル:
関連情報
N9K CRCエラーの特定の詳細については、https://www.cisco.com/c/en/us/support/docs/switches/nexus-9000-series-switches/216239-nexus-9000-cloud-scale-asic-crc-identifi.html#anc12を参照してください。