オンライン診断の概要
オンライン診断を使用すれば、スイッチが稼動中のネットワークに接続されている間でも、スイッチのハードウェア機能をテストおよび確認できます。オンライン診断には、各種ハードウェア コンポーネントを監視し、データ パスおよび制御信号を確認するための、パケット スイッチング テストが含まれます。
オンライン診断では、次の領域における問題が検出されます。
• ハードウェア コンポーネント
• インターフェイス(イーサネット ポートなど)
• はんだ接合
表 47-1 に、診断テストの ID および名前を示します。テスト アトリビュートについては、 show diagnostic content 特権 EXEC コマンドからの出力を参照してください。
表 47-1 診断テスト
|
|
1 |
TestPortAsicStackPortLoopback |
2 |
TestPortAsicLoopback |
3 |
TestPortAsicCam |
4 |
TestPortAsicRingLoopback |
5 |
TestMicRingLoopback |
6 |
TestPortAsicMem |
オンライン診断は、オンデマンド診断、スケジューリング診断、またはヘルス モニタリング診断に分類されます。
• オンデマンド診断は、CLI から実行されます。
• スケジューリング診断は、ユーザが指定したインターバル、またはスイッチが稼動中のネットワークに接続されている間の指定された時間で実行されます。
• ヘルス モニタリングはバックグラウンドで実行されます。
オンライン診断の設定
診断モニタリングをイネーブルにする前に、障害しきい値およびテストの実行インターバルを設定する必要があります。
• 「スケジューリング オンライン診断」
• 「ヘルス モニタリング診断テストの設定」
スケジューリング オンライン診断
オンライン診断をスケジューリングして、指定した時刻、日単位、週単位、または月単位のスケジュールで実行できます。スケジューリングを削除する場合は、このコマンドの no 形式を使用します。このコマンドの詳細については、このリリースのコマンド リファレンスを参照してください。
オンライン診断をスケジューリングするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
diagnostic schedule test { name | test-id | test-id-range | all | basic | non-disruptive } { daily hh : mm | on mm dd yyyy hh : mm | weekly day-of-week hh : mm } |
特定の日付時刻でオンデマンド診断テストをスケジューリングします。 テストのスケジューリングを指定する場合、次のオプションを使用します。 • name : show diagnostic content コマンドの出力に表示されるテストの名前。 表 47-1 を参照してください。 • test-id : show diagnostic content コマンドの出力に表示されるテストの ID 番号。 表 47-1 を参照してください。 • test-id-range :ハイフンやカンマで区切られたテスト ID 番号の範囲。 • all :すべての診断テスト。 • basic :基本的なオンデマンド診断テスト。 • non-disruptive :ノンディスラプティブ ヘルス モニタリング テスト。 次の期間でテストをスケジューリングできます。 • 日単位: daily hh : mm パラメータを使用します。 • 特定の日付時刻: on mm dd yyyy hh : mm パラメータを使用します。 • 週単位: weekly day-of-week hh : mm パラメータを使用します。 |
ステップ 3 |
show diagnostic { content | schedule } |
設定されたオンライン診断テストおよびスケジュールを確認します。 • 設定されたオンライン診断を表示するには、 show diagnostic content を入力します。 • オンライン診断テストのスケジュールを表示するには、 show diagnostic schedule を入力します。 |
ステップ 4 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
Use the no diagnostic schedule test { name | test-id | test-id-range | all | basic | non-disruptive } { daily hh : mm | on mm dd yyyy hh : mm | weekly day-of-week hh : mm } global configuration command to remove the scheduled tests.
次に、特定の日付時刻に診断テストをスケジューリングし、そのスケジュールを確認する例を示します。
Switch(config)# diagnostic schedule test 1 on Dec 4 2008 10:22
Switch# show diagnostic schedule
Current Time = 10:21:24 UTC Thu Dec 4 2008
To be run on December 4 2008 10:22
Test ID(s) to be executed: 1.
スケジューリングされた時間になると、スイッチによってテストが実行されます。
Dec 4 10:21:59.492: %DIAG-6-SCHED_RUNNING: : Performing Scheduled Online Diagnostic...
Dec 4 10:21:59.492: %DIAG-6-TEST_RUNNING: : Running TestPortAsicStackPortLoopback{ID=1} ..
Dec 4 10:22:00.498: %DIAG-6-TEST_OK: : TestPortAsicStackPortLoopback{ID=1} has completed successfully
Dec 4 10:22:00.498: %DIAG-6-SCHED_COMPLETE: : Scheduled Online Diagnostic is completed
詳細については、このリリースのコマンド リファレンスにおける diagnostic schedule test コマンドの「Examples」を参照してください。
ヘルス モニタリング診断テストの設定
ヘルス モニタリング診断テストは、稼動中のネットワークにスイッチが接続している間に設定できます。各ヘルス モニタリング テストの実行インターバルを設定したり、テストが失敗した場合に Syslog メッセージを生成するようにスイッチをイネーブルにしたり、特定のテストをイネーブルにしたりできます。
デフォルトでは、ヘルス モリタリングはディセーブルに設定されています。イネーブルにすると、テストが失敗したときに、スイッチによって Syslog メッセージが生成されます。
ヘルス モニタリング診断テストを設定およびイネーブルにするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
diagnostic monitor interval test { name | test-id | test-id-range | all } hh:mm:ss milliseconds day |
指定したテストのヘルス モニタリング インターバルを設定します。 次のパラメータを使用してテストを指定します。 • name : show diagnostic content コマンドの出力に表示されるテストの名前。 表 47-1 を参照してください。 • test-id : show diagnostic content コマンドの出力に表示されるテストの ID 番号。 表 47-1 を参照してください。 • test-id-range :ハイフンやカンマで区切られたテスト ID 番号の範囲。 • all :すべての診断テスト。 インターバルを指定する場合、次のパラメータを設定します。 • hh:mm:ss :時間、分、または秒単位でのモニタリング インターバル。 hh に指定できる範囲は 0 ~ 24 で、 mm および ss に指定できる範囲は 0 ~ 60 です。 • milliseconds :ミリ秒(ms)単位でのモニタリング インターバル。指定できる範囲は 0 ~ 999 です。 • day :日数単位でのモニタリング インターバル。指定できる範囲は 0 ~ 20 です。 |
ステップ 3 |
diagnostic monitor syslog |
(任意)ヘルス モニタリング テストが失敗したときに Syslog メッセージを生成するようにスイッチを設定します。 |
ステップ 4 |
diagnostic monitor threshold test { name | test-id | test-id-range | all } failure count count |
(任意)ヘルス モニタリング テストの障害しきい値を設定します。 次のパラメータを使用してテストを指定します。 • name : show diagnostic content コマンドの出力に表示されるテストの名前。 表 47-1 を参照してください。 • test-id : show diagnostic content コマンドの出力に表示されるテストの ID 番号。 表 47-1 を参照してください。 • test-id-range :ハイフンやカンマで区切られたテスト ID 番号の範囲。 • all :すべての診断テスト。 障害しきい値 count に指定できる範囲は 0 ~ 99 です。 |
ステップ 5 |
diagnostic monitor test { name | test-id | test-id-range | all } |
指定したヘルス モニタリング テストをイネーブルにします。 次のパラメータを使用してテストを指定します。 • name : show diagnostic content コマンドの出力に表示されるテストの名前。 表 47-1 を参照してください。 • test-id : show diagnostic content コマンドの出力に表示されるテストの ID 番号。 表 47-1 を参照してください。 • test-id-range : show diagnostic content コマンドの出力に表示されるテストの ID 番号。 • all :すべての診断テスト。 |
ステップ 6 |
end |
特権 EXEC モードに戻ります。 |
ステップ 7 |
show diagnostic { content | post | result | schedule | status | switch } |
オンライン診断テストの結果およびサポートされるテスト スイートを表示します。詳細については、「オンライン診断テストおよび結果の表示」を参照してください。 |
ステップ 8 |
show running-config |
設定を確認します。 |
ステップ 9 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
診断テストをディセーブルにし、デフォルト設定に戻すには、次のコマンドを使用します。
• オンライン診断テストをディセーブルにするには、 no diagnostic monitor test { name | test-id | test-id-range | all } グローバル コンフィギュレーション コマンドを使用します。
• デフォルトのヘルス モニタリング インターバルに戻すには、 no diagnostic monitor interval test { name | test-id | test-id-range | all } グローバル コンフィギュレーション コマンドを使用します。
• ヘルス モニタリング テストが失敗しても Syslog メッセージを生成しないようにスイッチを設定するには、 no diagnostic monitor syslog グローバル コンフィギュレーション コマンドを使用します。
• デフォルトの障害しきい値に戻すには、 no diagnostic monitor threshold test { name | test-id | test-id-range | all } failure count count グローバル コンフィギュレーション コマンドを使用します。
次に、ヘルス モニタリング テストの設定例を示します。
Switch(config)#
diagnostic monitor threshold test 1 failure count 50
Switch(config)# diagnostic monitor interval test TestPortAsicRingLoopback
オンライン診断テストの実行
オンライン診断を設定した後は、手動で診断テストを開始したり、テスト結果を表示したりできます。また、スイッチに対して設定されたテスト、およびすでに実行されているテストも表示できます。
• 「オンライン診断テストの開始」
• 「オンライン診断テストおよび結果の表示」
オンライン診断テストの開始
スイッチ上で実行されるように診断テストを設定したら、diagnostic start 特権 EXEC コマンドを使用して、診断テストを開始します。
(注) テストを開始した後は、そのテスト プロセスを停止できません。
|
|
diagnostic start test { name | test-id | test-id-range | all | basic | non-disruptive} |
診断テストを開始します。 次のパラメータを使用してテストを指定します。 • name :テストの名前を入力します。テスト ID リストを表示するには、 show diagnostic content 特権 EXEC コマンドを使用します。 表 47-1 を参照してください。 • test-id :テストの ID 番号を入力します。テスト ID リストを表示するには、 show diagnostic content 特権 EXEC コマンドを使用します。 表 47-1 を参照してください。 • test-id-range :コンマおよびハイフンによって区切られた 整数を使って、テスト ID の範囲を入力します。詳細については、このリリースのコマンド リファレンスに記載された diagnostic start コマンドの説明を参照してください。 • all :すべてのテストを実行するときは、このキーワードを使用します。 • basic :基本的なテスト スイートを実行するときは、このキーワードを使用します。 • non-disruptive :ノンディスラプティブ テスト スイートを実行するときは、このキーワードを使用します。 |
次に、テスト名を使用して診断テストを開始する例を示します。
Switch# diagnostic start test TestPortAsicRingLoopback
次に、ノンディスラプティブ診断テストを開始する例を示します。
Switch# diagnostic start test non-disruptive
*Mar 3 19:34:02.680: %DIAG-6-TEST_RUNNING: : Running TestPortAsicStackPortLoopback{ID=1} ..
*Mar 3 19:34:03.687: %DIAG-6-TEST_OK: : TestPortAsicStackPortLoopback{ID=1} has completed successfully
次に、すべての基本的な診断テストを開始する例を示します。
Switch# diagnostic start test all
オンライン診断テストおよび結果の表示
表 47-2 に記載された特権 EXEC show コマンドを使用することによって、設定されているオンライン診断テストを表示し、テスト結果を確認できます。
表 47-2 診断テストの設定および結果用コマンド
|
|
show diagnostic content |
スイッチに対して設定されたオンライン診断を表示します。 |
show diagnostic status |
実行中の診断テストを表示します。 |
show diagnostic result [ detail | test { name | test-id | test-id-range | all [ detail ]}] |
指定したオンライン診断テストの結果を表示します。 |
show diagnostic switch [ detail ] |
オンライン診断テストの結果を表示します。 |
show diagnostic schedule |
オンライン診断テストのスケジュールを表示します。 |
show diagnostic post |
POST 結果を表示します (出力は、 show post コマンドの出力と同じです)。 |
次の例では、 show diagnostic result コマンドの出力を示します。
Switch# show diagnostic result
Overall diagnostic result: PASS
Test results: (. = Pass, F = Fail, U = Untested)
1) TestPortAsicStackPortLoopback ---> .
2) TestPortAsicLoopback ------------> U
3) TestPortAsicCam -----------------> U
4) TestPortAsicRingLoopback --------> U
5) TestMicRingLoopback -------------> U
6) TestPortAsicMem -----------------> U
次の例では、 show diagnostic post コマンドの出力を示します。
Switch# show diagnostic post
Stored system POST messages:
POST: CPU MIC register Tests : Begin
POST: CPU MIC register Tests : End, Status Passed
POST: PortASIC Memory Tests : Begin
POST: PortASIC Memory Tests : End, Status Passed
POST: CPU MIC interface Loopback Tests : Begin
POST: CPU MIC interface Loopback Tests : End, Status Passed
POST: PortASIC RingLoopback Tests : Begin
POST: PortASIC RingLoopback Tests : End, Status Passed
POST: Thermal, Fan Tests : Begin
POST: Thermal, Fan Tests : End, Status Passed
POST: PortASIC CAM Subsystem Tests : Begin
POST: PortASIC CAM Subsystem Tests : End, Status Passed
POST: PortASIC Port Loopback Tests : Begin
POST: PortASIC Port Loopback Tests : End, Status Passed
POST: EMAC Loopback Tests : Begin
POST: EMAC Loopback Tests : End, Status Passed
他の show diagnostic コマンドの出力例については、このリリースのコマンド リファレンスにおける show diagnostic コマンドの「Examples」を参照してください。