オンライン診断の設定

この章では、デバイス上で汎用オンライン診断(GOLD)機能を設定する方法について説明します。

オンライン診断について

オンライン診断機能を使用すると、デバイスをアクティブ ネットワークに接続したまま、デバイスのハードウェア機能をテストして確認できます。

オンライン診断機能には、さまざまなハードウェア コンポーネントを検査し、データ パスと制御信号を確認するテストが組み込まれています。中断を伴うオンライン診断テスト(破壊モードのループバック テストなど)、および中断を伴わないオンライン診断テスト(ASIC レジスタ検査など)は、起動時、ライン モジュールの活性挿抜(OIR)時、およびシステム リセット時に実行されます。中断を伴わないオンライン診断テストは、バックグラウンド ヘルス モニタリングの一部として実行され、これらのテストはオンデマンドで実行できます。

オンライン診断は、起動、ランタイムまたはヘルスモニタリング診断、およびオンデマンド診断に分類されます。起動診断は起動時に、ヘルスモニタリング テストはバックグラウンドで、オンデマンド診断はアクティブ ネットワークにデバイスが接続されたときに 1 回だけ、またはユーザが指定した間隔で実行されます。

ブートアップ診断

起動診断は起動中に実行され、Cisco NX-OS がモジュールをオンラインにする前に、障害ハードウェアが検出されます。たとえば、デバイスに障害モジュールを搭載した場合、起動診断でモジュールがテストされ、デバイスがそのモジュールをトラフィックの転送に使用しないうちに、モジュールがオフラインにされます。

起動診断では、スーパーバイザとモジュール ハードウェア間、およびすべての ASIC のデータ パスと制御パス間の接続も検査されます。次の表では、モジュールおよびスーパーバイザの起動診断テストについて説明します。

Table 1. ブートアップ診断

診断

説明

OBFL

オンボード障害ロギング フラッシュ(Cisco NX-OS)の整合性を確認します。

MacSecPortLoopback(Cisco Nexus 9736C-FX および 9736Q-FX ライン カードのみ)

スーパーバイザから ASIC の各物理前面パネルポートへのパケット パス、各ポートの MACSEC 機能、および Cisco Nexus 9736C-FX および 9736Q-FX ライン カードの暗号化機能と復号化機能をテストします。 diagnostic bootup level complete に設定されている場合、ブート時に MacSecPortLoopback テストが実行されます。

MacSecPortLoopback テストは、Cisco Nexus 9736C-FX および 9736Q-FX ライン カードの 36 個の前面ポートのすべてのポートで実行されます。MAC sec ハードウェアは、使用可能な 4 つの暗号スイート アルゴリズム(GCM-AES-128、GCM-AES-256、GCM-AES-XPN-128、およびGCM-AES-XPN-256)でテストされます。

Note

 

MacSecPortLoopback テストが失敗すると、テストは SYSLOG または OBFL の形式でレポートします。テスト障害が発生すると、ポートがダウンし、 show interface CLI 出力に MACsec 障害が表示されます。MACsecテストをスキップするには、 diagnostic bootup level minimal または bypass に設定します。

USB

中断を伴わないテスト。モジュールにおける USB コントローラの初期化を検査

ManagementPortLoopback

中断を伴うテスト、非オンデマンド型テスト。モジュールの管理ポートでループバックをテスト

EOBCPortLoopback

中断を伴うテスト、非オンデマンド型テスト。イーサネット帯域外。

起動診断テストはエラーを Onboard Failure Logging(OBFL)および syslog に記録し、診断の LED 表示(オン、オフ、合格、失敗)を開始します。

起動診断テストをバイパスするようにデバイスを設定することも、またはすべての起動診断テストを実行するように設定することもできます。

ランタイムまたはヘルス モニタリング診断

ランタイム診断はヘルス モニタリング(HM)診断ともいいます。これらの診断テストによって、アクティブ デバイスの状態に関する情報が得られます。ランタイム ハードウェア エラー、メモリ エラー、ハードウェア モジュールの経時的劣化、ソフトウェア障害、およびリソース不足が検出されます。

アクティブ ネットワーク トラフィックを処理するデバイスの状態を確認するヘルス モニタリング診断テストは、中断を伴わず、バックグラウンドで実行されます。ヘルス モニタリング テストはイネーブルまたはディセーブルにできます。また、ランタイム インターバルの変更が可能です。

次の表に、モジュールおよびスーパーバイザのヘルス モニタリング診断とテスト ID を示します。


(注)  


モジュールの機能に応じて、テストが存在する場合と存在しない場合があります。モジュールで使用可能なテストのリストは、CLI コマンド、 show diagnostic content module <module> を使用して確認できます。


表 2. ヘルス モニタリングの無停止での診断

診断

デフォルトのインターバル デフォルト設定

説明

改善処置

モジュール

ACT2

30 分

アクティブ

モジュール上のセキュリティ デバイスの整合性を確認します。

GOLD "ACT2" テストに 20 回連続で失敗した場合は、CallHome を実行し、エラーを記録し、その後 HM テストをディセーブルにします。

ASICRegisterCheck

モジュラ スイッチ:1分

非モジュラ スイッチ:20 秒、最小設定のデフォルト シミュレーション間隔は 10 秒

アクティブ

モジュール上の ASIC への読み取り/書き込みアクセスを検証します。

CallHome を実行し、エラーを記録し、GOLD "ASICRegisterCheck" テストに 20 回連続で失敗した場合は、その後その ASIC デバイスおよびインスタンスの HM テストをディセーブルにします。

PrimaryBootROM

24 時間

1

アクティブ

モジュール上のプライマリ ブート デバイスの完全性を確認します。

CallHome を実行し、エラーを記録し、GOLD "PrimaryBootROM" テストに 20 回連続で失敗した場合は、その後 HM テストをディセーブルにします。

SecondaryBootROM

24 時間

1

アクティブ

モジュール上のセカンダリ ブート デバイスの完全性を確認します。

CallHome を実行し、エラーを記録し、GOLD "SecondaryBootROM" テストに 20 回連続で失敗した場合は、その後 HM テストをディセーブルにします。

BootupPortLoopback

起動時のみ

起動時のみ:アクティブ

スーパーバイザから前面パネルのポート(および背面)パスが動作しているかどうかを確認します。すべてのフロント ポートについて、テストはアクティブ スーパーバイザでパケットを生成し、ターゲット ポートにパケットを送信し、フロント ポート内の内部ループバックを使用して、パケットをアクティブ スーパーバイザにリダイレクトします。

GOLD "BootupPortLoopback" テストに1 回連続で失敗した場合は、CallHome を実行し、影響があるポートのエラーを無効にして、影響を受けたポートでのエラー テストを記録します。

PortLoopback

30 分

アクティブ

すべての管理ダウンポートでポート単位で診断をチェックします。

CallHome を実行し、Syslog、OBFL、または例外ログにエラーを記録し、GOLD "PortLoopback" テストに 10 回連続で失敗した場合は、その後影響を受けたポートでの HM テストをディセーブルにします。

RewriteEngineLoopback

1分

アクティブ

1 エンジン ASIC デバイスまでのすべてのポートの無停止ループバックの整合性を確認します。

CallHome を実行し、Syslog、OBFL、または例外ログにエラーを記録し、GOLD "RewriteEngine" テストに 10 回連続で失敗した場合は、その後影響を受けたポートでの HM テストをディセーブルにします。

AsicMemory

起動時のみ

起動時のみ:非アクティブ

ASIC の Mbist ビットを使用して AsicMemory の整合性をチェックします。

GOLD "AsicMemory" テストに失敗した場合には、CallHome を実行し、エラーを記録します。テストの失敗の原因となる問題は一時的なものである可能性があるため、カーネルパニックによるリカバリ リロードを試行します。

(注)  

 

テストが失敗したときにカーネルパニックを回避するには、EEM システム ポリシーを上書します。

FpgaRegTest

30 秒

ヘルス モニタリング テスト:30 秒ごと:アクティブ

FPGA への読み取り/書き込みによって FPGA のステータスをテストします。

GOLD "FpgaRegTest" テストに 20 回連続で失敗した場合は、CallHome を実行し、エラーを記録し、その後 HM テストをディセーブルにします。テストの失敗の原因となる問題は一時的なものである可能性があるため、カーネルパニックによるリカバリ リロードを試行します。

(注)  

 

テストが失敗したときにカーネルパニックを回避するには、EEM システム ポリシーを上書します。

L2ACLRedirect

1分

ヘルス モニタリング テスト:30 分:アクティブ

アクティブ ノードが動作しているかどうかを確認します。テストでは、アクティブファブリックモジュールを介してアクティブスーパーバイザでパケットを生成します。次に、パケットを前面パネル ポート(ライン カード上の物理インターフェイス)に送信し、ACL エントリを使用して、パケットをアクティブ スーパーバイザにリダイレクトします。

L2ACLRedirect テストを 10 回連続で失敗した場合は、CallHome を実行し、エラーを記録し、その後 HM テストをディセーブルにします。テストの失敗の原因となる問題は一時的なものである可能性があるため、カーネルパニックによるリカバリ リロードを試行します。

(注)  

 

テストが失敗したときにカーネルパニックを回避するには、EEM システム ポリシーを上書します。

OBFL

30 分

アクティブ

オンボード障害ロギング(OBFL)フラッシュの整合性を確認し、デバイスの利用可能なストレージをモニタリングします。

FabricConnectivityTest

1分

アクティブ

ファブリック/ラインカードのリンク ステータスを確認します。

ファブリック リンクが機能していることを検証します。

(注)  

 

Cisco Nexus 9500-R シリーズ ライン カードでのみ使用できます。

FabricReachabilityTest

1分

アクティブ

ファブリック/ライン カードの到達可能性ステータスを確認します。

各ファブリック コンポーネントに、システム内の他のすべてのファブリック コンポーネントへの有効なパスがあることを検証します。

(注)  

 

Cisco Nexus 9500-R シリーズ ライン カードでのみ使用できます。

スーパーバイザ(Supervisor)

バックプレーン

30 分

アクティブ

バックプレーン SPROM デバイスの整合性を確認します。

NVRAM

5 分

アクティブ

スーパーバイザの NVRAM ブロックの健全性を確認します。

CallHome を実行し、エラーを記録し、GOLD "NVRAM" テストに 20 回連続で失敗した場合は、その後 HM テストをディセーブルにします。

RealTimeClock

5 分

アクティブ

スーパーバイザ上のリアルタイム クロックが時を刻んでいるかどうかを確認します。

CallHome を実行し、エラーを記録し、GOLD "RealTimeClock" テストに 20 回連続で失敗した場合は、その後 HM テストをディセーブルにします。

PrimaryBootROM

30 分

アクティブ

スーパーバイザ上のプライマリ ブート デバイスの完全性を確認します。

CallHome を実行し、エラーを記録し、GOLD "PrimaryBootROM" テストに 20 回連続で失敗した場合は、その後 HM テストをディセーブルにします。

SecondaryBootROM

30 分

アクティブ

スーパーバイザ上のセカンダリ ブート デバイスの完全性を確認します。

CallHome を実行し、エラーを記録し、GOLD "SecondaryBootROM" テストに 20 回連続で失敗した場合は、その後 HM テストをディセーブルにします。

ブートフラッシュ

30 分

アクティブ

ブートフラッシュ デバイスへのアクセスを確認します。

GOLD "CryptoDevice" テストに失敗したら、CallHome を実行し、エラーを記録します。

USB

30 分

アクティブ

USB デバイスへのアクセスを確認します。

Call Home を実行し、GOLD "USB" テストに失敗するとエラーを記録します。

SystemMgmtBus

30 秒

アクティブ

システム管理バスの使用可能性を確認します。

Call Home を実行し、エラーを記録し、GOLD "SystemMgmtBus" テストに 20 回連続で失敗した場合は、そのファンまたは電源の HM テストを無効にします。

MCE

30 分

ヘルス モニタリング テスト:30 分:アクティブ

このテストは mcd_dameon を使用し、カーネルによって報告されたマシン チェック エラーを報告します。

GOLD "ACT2" テストに 20 回連続で失敗した場合は、CallHome を実行し、エラーを記録し、その後 HM テストをディセーブルにします。

Pcie

起動時のみ

起動時のみ:非アクティブ

PCIe ステータス レジスタを読み取り、PCIe デバイスのエラーをチェックします。

GOLD "Pcie" テストに失敗したら、CallHome を実行し、エラーを記録します。

コンソール

起動時のみ

起動時のみ:非アクティブ

これにより、起動時に管理ポートでポート ループバック テストが実行され、整合性が確認されます。

GOLD "Cosole" テストに 20 回連続で失敗した場合は、CallHome を実行し、エラーを記録し、その後 HM テストをディセーブルにします。

FpgaRegTest

30 秒

ヘルス モニタリング テスト:30 秒ごと:アクティブ

FPGA への読み取り/書き込みによって FPGA のステータスをテストします。

GOLD "FpgaRegTest" テストに 20 回連続で失敗した場合は、CallHome を実行し、エラーを記録し、その後 HM テストをディセーブルにします。テストの失敗の原因となる問題は一時的なものである可能性があるため、カーネルパニックによるリカバリ リロードを試行します。

(注)  

 

テストが失敗したときにカーネルパニックを回避するには、EEM システム ポリシーを上書します。

1 設定可能な最小テスト間隔は 6 時間です。

オンデマンド診断

オンデマンド テストは、障害の場所を特定するのに役立ちます。通常は、次のような状況で必要です。

  • 障害の分離など、発生したイベントに対処する場合。

  • リソース使用限度の超過などのイベントの発生が予測される場合。

すべてのヘルス モニタリング テストをオンデマンドで実行できます。即時実行するオンデマンド診断テストをスケジューリングできます。

ヘルス モニタリング テストのデフォルト インターバルも変更可能です。

高可用性

ハイ アベイラビリティの重要な機能は、アクティブなネットワークでデバイスが稼働している状態のままハードウェア障害を検出して、対処することです。ハイ アベイラビリティのオンライン診断では、ハードウェア障害を検出して、スイッチオーバーを判断するためにハイ アベイラビリティ ソフトウェアにフィードバックします。

Cisco NX-OS は、オンライン診断のステートレス リスタートをサポートします。リブートまたはスーパーバイザ スイッチオーバーの後、Cisco NX-OS は実行コンフィギュレーションを適用します。

仮想化のサポート

オンライン診断機能は Virtual Routing and Forwarding(VRF)を認識します。特定の VRF を使用してオンライン診断 SMTP サーバに接続するようにオンライン診断機能を設定できます。

オンライン診断の注意事項と制約事項

オンライン診断には、次の注意事項と制限事項があります。

  • 次の Cisco Nexus プラットフォーム スイッチおよびライン カードは、ランタイム PortLoopback テストをサポートしていませんが、BootupPortLoopback テストをサポートしています。

    スイッチ

    • Cisco Nexus 92160YC-X

    • Cisco Nexus 92304QC

    • Cisco Nexus 9264PQ

    • Cisco Nexus 9272Q

    • Cisco Nexus 9232C

    • Cisco Nexus 9236C

    • Cisco Nexus 9256PV

    • Cisco Nexus 92300YC

    • Cisco Nexus 93108TC-EX

    • Cisco Nexus 93108TC-EX-24

    • Cisco Nexus 93180LC-EX

    • Cisco Nexus 93180YC-EX

    • Cisco Nexus 93180YC-EXU

    • Cisco Nexus 93180YC-EX-24

    • Cisco Nexus 9232E-B1

    • Cisco Nexus 93180YC-FX3S

    ラインカード

    • Cisco Nexus 9736C-EX

    • Cisco Nexus 97160YC-EX

    • Cisco Nexus 9732C-EX

    • Cisco Nexus 9732C-EXM

  • 中断を伴うオンライン診断テストをオンデマンド方式で実行することはできません。

  • インターフェイス Rx および Tx パケット カウンタは、シャットダウン状態のポートで増えます(およそ 15 分ごとに 4 パケット)。

  • PortLoopback テストは定期的に行われるため、パケット カウンタは管理ダウン ポートで 30 分ごとに追加されます。テストは管理ダウン ポートでのみ実行されます。ポートが閉じられている場合は、カウンタは影響を受けません。

  • ポートごとの BootupPortLoopback テストでポートが失敗すると、ポートは errdisable ステートになります。(この状態を削除するには、ポートで shutdown および no shutdown およびコマンドを入力します)。

オンライン診断のデフォルト設定

次の表に、オンライン診断パラメータのデフォルト設定を示します。

パラメータ デフォルト
起動時診断レベル complete
中断を伴わないテスト アクティブ

オンライン診断の設定


(注)  


この機能の Cisco NX-OS コマンドは、Cisco IOS のコマンドとは異なる場合があるので注意してください。

起動診断レベルの設定

一連のすべてのテストを実行するように起動時診断を設定することも、またはモジュールが短時間で起動するように、すべての起動時診断テストをバイパスするように設定することもできます。


(注)  


起動時オンライン診断レベルを complete に設定することを推奨します。起動時オンライン診断をバイパスすることは推奨しません。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します。

ステップ 2

diagnostic bootup level {complete | minimal | bypass}

例:

switch(config)# diagnostic bootup level complete

デバイスの起動に続いて診断テストが開始されるように、起動診断レベルを設定します。

  • complete:すべての起動診断テストを実行します。complete がデフォルトです。
  • minimal:スーパバイザ エンジンおよびブートアップ ポートのループバック テスト用の最小限のブートアップ診断を実行します。
  • bypass:起動診断テストをまったく実行しません。

ステップ 3

(任意) show diagnostic bootup level

例:

switch(config)# show diagnostic bootup level
(任意)

デバイスに現在設定されている起動診断レベル(bypass または complete)を表示します。

ステップ 4

(任意) copy running-config startup-config

例:

switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

診断テストのアクティブ化

診断テストをアクティブに設定し、任意でテストの実行間隔(時間、分、秒単位)を変更できます。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します

ステップ 2

diagnostic monitor interval module slot test [test-id | name | all] hour hour min minute second second

例:

switch(config)# diagnostic monitor interval module 6 test 3 hour 1 min 0 second 0

指定されたテストを実行する間隔を設定します。インターバルを設定しなかった場合は、過去に設定されたインターバルまたはデフォルトのインターバルでテストが実行されます。

引数の範囲は次のとおりです。

  • slot :範囲は 1 ~ 10 です。
  • test-id :範囲は 1 ~ 14 です。
  • name :32 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。
  • hour :範囲は 0 ~ 23 時間です。
  • minute :範囲は 0 ~ 59 分です。
  • second :範囲は 0 ~ 59 秒

ステップ 3

[no] diagnostic monitor module slot test [test-id | name | all]

例:

switch(config)# diagnostic monitor interval module 6 test 3

指定されたテストをアクティブにします。

引数の範囲は次のとおりです。

  • slot :範囲は 1 ~ 10 です。
  • test-id :範囲は 1 ~ 14 です。
  • name :32 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。

このコマンドの [no] 形式は、指定されたテストを非アクティブにします。非アクティブにしたテストでは、現在の設定が維持されますが、スケジュール上の間隔ではテストは実行されません。

ステップ 4

(任意) show diagnostic content module {slot | all}

例:

switch(config)# show diagnostic content module 6
(任意)

診断テストおよび対応する属性の情報を表示します。

オンデマンド診断テストの開始または中止

オンデマンド診断テストを開始または中止できます。任意で、このテストを繰り返す回数の変更や、テストが失敗した場合のアクションの変更を行えます。

スケジューリングされたネットワーク メンテナンス期間内に、破壊モードの診断テストを開始する場合は、手動での開始に限定することを推奨します。

手順

  コマンドまたはアクション 目的

ステップ 1

(任意) diagnostic ondemand iteration number

例:

switch# diagnostic ondemand iteration 5
(任意)

オンデマンド テストの実行回数を設定します。範囲は 1 ~ 999 です。デフォルトは 1 です。

ステップ 2

(任意) diagnostic ondemand action-on-failure {continue failure-count num-fails | stop}

例:

switch# diagnostic ondemand action-on-failure stop
(任意)

オンデマンド テストが失敗した場合のアクションを設定します。num-fails の範囲は 1 ~ 999 です。デフォルトは 1 です。

ステップ 3

diagnostic start module slot test [test-id | name | all | non-disruptive] [port port-number | all]

例:

switch# diagnostic start module 6 test all

モジュール上で 1 つまたは複数の診断テストを開始します。モジュール スロットの範囲は 1 ~ 10 です。test-id の範囲は 1 ~ 14 です。テスト名は大文字と小文字を区別し、最大 32 の英数字を使用できます。ポート範囲は 1 ~ 48 です。

ステップ 4

diagnostic stop module slot test [test-id | name | all]

例:

switch# diagnostic stop module 6 test all

モジュール上で 1 つまたは複数の診断テストを中止します。モジュール スロットの範囲は 1 ~ 10 です。test-id の範囲は 1 ~ 14 です。テスト名は大文字と小文字を区別し、最大 32 の英数字を使用できます。

ステップ 5

(任意) show diagnostic status module slot

例:

switch# show diagnostic status module 6
(任意)

診断テストがスケジューリングされていることを確認します。

診断結果のシミュレーション

診断テスト結果のシミュレーションが可能です。

手順

コマンドまたはアクション 目的

diagnostic test simulation module slot test test-id {fail | random-fail | success} [port number | all]

例:

switch# diagnostic test simulation module 2 test 2 fail

テスト結果のシミュレーションを行います。test-id の範囲は 1 ~ 14 です。ポート範囲は 1 ~ 48 です。

診断結果の消去

診断テスト結果を消去できます。

手順

  コマンドまたはアクション 目的

ステップ 1

diagnostic clear result module [slot | all] test {test-id | all}

例:

switch# diagnostic clear result module 2 test all

指定されたテストのテスト結果を消去します。

引数の範囲は次のとおりです。

  • slot :範囲は 1 ~ 10 です。
  • test-id :範囲は 1 ~ 14 です。

ステップ 2

diagnostic test simulation module slot test test-id clear

例:

switch# diagnostic test simulation module 2 test 2 clear

シミュレーションしたテスト結果を消去します。test-id の範囲は 1 ~ 14 です。

オンライン診断設定の確認

オンライン診断設定情報を表示するには、次の作業を行います。

コマンド

目的

show diagnostic bootup level

起動診断に関する情報を表示します。

show diagnostic content module {slot | all}

モジュールの診断テスト内容に関する情報を表示します。

show diagnostic description module slot test [test-name | all]

診断テストの説明を表示します。

show diagnostic events [error | info]

診断イベントをエラーおよび情報イベント タイプ別に表示します。

show diagnostic ondemand setting

オンデマンド診断に関する情報を表示します。

show diagnostic result module slot [test [test-name | all]] [detail]

診断結果に関する情報を表示します。

show diagnostic simulation module slot

シミュレーションした診断テストに関する情報を表示します。

show diagnostic status module slot

モジュールのすべてのテストについて、テスト状況を表示します。

show hardware capacity[eobc | forwarding | interface | module | power]

ハードウェアの機能、およびシステムによる現在のハードウェア使用率の情報を表示します。

show module

オンライン診断テストの状況を含むモジュール情報を表示します。

オンライン診断のコンフィギュレーション例

この例は、モジュール 6 ですべてのオンデマンド テストを開始する方法を示しています。

diagnostic start module 6 test all

この例は、モジュール 6 でテストテスト 2 をアクティブにして、テスト インターバルを設定する方法を示しています。

configure terminal
diagnostic monitor module 6 test 2
diagnostic monitor interval module 6 test 2 hour 3 min 30 sec 0