LAN スイッチング : イーサネット

CatOS プラットフォームでの errDisable ポート状態からの復旧

2009 年 10 月 29 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2007 年 6 月 20 日) | フィードバック

目次


概要

スイッチで 1 つ以上のポートがエラー ディセーブル状態になる、つまり、ポートが errDisable 状態になった場合、多くのお客様からの問い合せが Cisco テクニカルサポートに寄せられます。この状態になった原因や、ポートを通常の状態に戻す方法について、お問い合せがあります。この資料では、errDisable の状態および復旧方法を説明し、errDisable から復旧する 2 つの例を示します。この資料の中で、errDisable とエラー ディセーブルの語は同じ意味で使用しています(errDisable は、show port コマンドによって表示されるポートの状態です。エラー ディセーブルまたはエラー ディセーブル状態は、errDisable と同じ意味です)。



前提条件

要件

このドキュメントに関する特別な要件はありません。



使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。このドキュメントの例を作成するには、次のものが必要です。

  • クリア設定のラボ環境における Catalyst 4000/5000/6000 ファミリ スイッチ(またはその同等品)2 台。ここではプライマリ マシンに、CatOS 5.4(2) を実行している Catalyst 5500 を使用しています。5.3(5a)CSX を実行している Catalyst 6509 に、これを接続しましたが、EtherChannel および PortFast の機能のある CatOS マシンならどれでも使用できます。

  • RJ-45 イーサネット クロスケーブル × 2。

  • CatOS 5.4(x) が最低 1 台のスイッチで稼働している。

  • 各スイッチに、EtherChannel と PortFast に対応した FastEthernet ポートが 2 つある。

  • 一方または両方のスイッチにターミナル接続がある。

この資料の情報は、外部に接続されていないラボ環境で作成されたものです。コマンドは、必ず稼働中のネットワークへの潜在的な影響を把握した上で、使用してください。各スイッチで clear config all コマンドが入力されていて、確実にデフォルト設定になっています。これらのエラーを再現して実験する場合は、実働のネットワークに影響が及ばない、隔絶された実験環境だけで再現してみるようにしてください。これらの例は、説明のためだけのものです。一部のコマンドの出力結果は、本題に無用な部分を割愛しています。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、デフォルトの設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。



表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。



errDisable

errDisable を使用しているプラットフォーム

errDisable 機能は、CatOS が稼働する Catalyst スイッチ(Catalyst 2948G、4500/4000、5500/5000、および 6500/6000)と、Cisco IOS が稼働する Catalyst スイッチ(Catalyst 2900XL/3500XL、2950、2970、3550、4500、および 65000)でサポートされています。errDisable の実装方法は、プラットフォームによって異なります。このドキュメントでは、CatOS ソフトウェアを実行しているスイッチのエラー ディセーブルに焦点をあてています。



errDisable の機能

errDisable 機能は、最初は CatOS リリース 3.2(2) に実装されました。構成ではポートが有効でありながらスイッチのソフトウェアがポートのエラー状態を検出した場合、ソフトウェアはそのポートをシャットダウンします。言い換えると、ポートに発生したエラー状態のため、スイッチのオペレーティング システム ソフトウェアによってポートは自動的に無効状態にされたことになります。

ポートがエラー ディセーブルになると、完全にシャットダウンされ、トラフィックはこのポートで送受信されません。ポートの LED がオレンジ色になり、show port コマンドを入力すると、ポート状態が errdisable と表示されます。スイッチのコマンド ライン インターフェイスから表示された、エラー ディセーブルのポートの例を示します。

Cat5500> (enable) show port 11/1
Port  Name               Status     Vlan       Level  Duplex Speed Type
----- ------------------ ---------- ---------- ------ ------ ----- ------------
11/1                      errdisable   1 normal   auto  auto 10/100BaseTX

エラー ディセーブル機能には、2 つの目的があります。1 つめは、ポートの障害がいつどこで発生しているかを管理者に知らせます。2 つめは、このポートが原因でモジュールの他のポート(またはモジュール全体)にも障害が発生する可能性をなくすことです。こうした障害は、障害のあるポートがバッファを独占したり、そのポートのエラー メッセージがカードのプロセス間通信を独占したりすることによって、最終的に重大なネットワーク問題を引き起こします。エラー ディセーブル機能は、これらの状態を回避する上で役に立ちます。



errDisable の原因

この機能が最初に実装されたのは、スイッチが 1 つのポートで過剰コリジョンレイト コリジョンを検出したような、特殊なコリジョン状態を処理するためでした。連続 16 回のコリジョンが発生して、フレームが廃棄されると、過剰コリジョンが発生します。レイト コリジョンは、回線上のすべてのデバイスで、回線が使用中であると認識されると、発生します。これらのエラーは、仕様に従っていないケーブル(長すぎる、タイプが間違っている、または不良)、Network Interface Card(NIC; ネットワーク インターフェイス カード)の不良(物理的な問題またはドライバの問題)、またはポートのデュプレックスの設定ミスによって発生する可能性があります。最後の原因はよくあることで、2 つの直接に接続されたデバイス間(たとえば、スイッチに接続した NIC カード)で速度やデュプレックスが適切にネゴシエートされないのが原因です。LAN でのコリジョンは、半二重接続だけに発生します。これはイーサネットの Carrier-Sense Multi-Access(CSMA; キャリア検知多重アクセス)機能の特性によるもので、半二重ではコリジョンがトラフィックの小さな割合に収まっている限りは正常です。

CatOS の機能が増えるにつれて、ポートがエラー ディセーブルとなる状況も増えてきました。たとえば、CatOS が稼働する Catalyst 6500 では、接続に関する次の問題に対応するために、errDisable 機能がサポートされています。

  • ARP 検査

  • ブロードキャストの抑制

  • BPDU ポートガード

  • チャネルの設定ミス

  • クロスバー障害

  • デュプレックスのミスマッチ

  • レイヤ 2 プロトコル トンネルの設定ミス

  • レイヤ 2 プロトコル トンネルしきい値の超過

  • UDLD

エラー ディセーブル機能によって、スイッチはポートにこれらの状況が発生するとこのポートをシャットダウンできます。エラー ディセーブル状態になっているポートは、根本原因が検出されて解決される限り、それ自体がアラームの原因にはならないことを覚えておいてください。エラー ディセーブル状態のポートは、解決する必要があるもっと深刻な問題があることを示しています。



errDisable からの復旧

errDisable から復旧するためには、次の 2 つのことを実行する必要があります。

  1. ポートがエラー ディセーブルになった原因(ケーブル、NIC、EtherChannel など)を特定して修正します。

    ポートをエラー ディセーブルにした原因となる根本的な問題を特定して修正しないと、問題が再発すればポートは再度エラー ディセーブルになります。一部のエラーはかなり頻繁に発生します(例: BPDU ポートガードが検出するエラーは 2 秒ごとに発生することがあります)。障害の発生源を修正しないでポートを再度有効にしようとしても、ポートが再度エラー ディセーブルになるだけです。

  2. ポートを再度有効にします。

    問題の発生源を修正するだけでは、ポートを再度有効にすることはできません。問題の発生源を修正しても、ポートはまだ無効状態です(ポートの LED はオレンジ色のまま)。ポートを稼働状態にする前に、再度有効にする必要があります。最初は、ポートを再度有効にする唯一の方法は、問題のあるポートに対して set port enable コマンドを手動で入力することでした。やがてオプションの拡張機能がエラー ディセーブル機能に追加され、より柔軟かつ自動的に行うことが可能になりました。

注:ポートがエラー ディセーブル状態であることは、ポートの LED がオレンジ色になる唯一の原因ではなく、原因の 1 つに過ぎません。このため、show port コマンドを使用して、常にポート状態を確認することを推奨します。



errDisable の拡張



Set Option Errport : CatOS 4.2(2)

一部のお客様より、CatOS で検出された特殊なコリジョン エラーによりポートをシャットダウンすべきかどうかを決定できるようにしたいとのご要望がありました。たとえば、リンクがバックボーン接続である場合にポートをシャットダウンすると、ポートに発生したエラーよりも状況がさらに悪化する場合があります。このようなときは、ポートをシャットダウンするよりも、問題に対処できるまでポートを可能な限り機能させたままにするほうが望まれます。そのため、リリース 4.2(2) では、CatOS に set option errport という新しいコマンドが追加されました。このコマンドを使用すると、管理者は、これらの特別なコリジョン エラーが発生しているポートが検出された際にスイッチで行う処理を指定できます。最初のデフォルト状態は set option errport disable です。この状態では、エラー ディセーブル タイプの特殊なコリジョン エラーが発生すると、スイッチがポートをエラー ディセーブル状態にします。それに対して、コマンド set option errport enable が使用された場合、通常はポートが無効になるようなコリジョン エラーが発生しても、スイッチはポートを有効のままにします。

このコマンドはスイッチ全体に適用されます。一つ一つのポートには発行できません。このコマンドはコマンド リファレンスには記載されていませんが、4.2(2) のリリース ノート(『Catalyst 5000 ファミリ ソフトウェア リリース 4.x リリース ノート』)に記載されています。このコマンドは直感的にわかりづらいという点に注意してください。つまり err-disable 機能を無効にするには、errport オプション(デフォルトで有効)を有効にしなけれればなりません。さらにわかりやすく説明すると、単に set option errport enable コマンドを使用するだけで、ポートがエラー ディセーブル状態になるのが回避されます。

set option errport コマンドの使用が推奨されるのは、これらのエラー状態が継続するのを許可するとモジュールの他のポートが影響を受けるというリスクを理解している場合だけです。このコマンドは応急処置に過ぎず、問題の修正ではありません。実際の問題に対処できるようになるまで、これらのエラーが発生しているポートがシャットダウンしないようにするだけです。注意して使用してください。



Set errdisable-timeout : CatOS 5.4(1)

CatOS リリース 5.4(1) では、set errdisable-timeout という新しいコマンドが導入されました。このコマンドは、前述の set option errport コマンドをさらに高度にしたものです。このコマンドでは設定可能な時間(30 秒 〜 24 時間まで秒単位で設定可能)経過後、エラー ディセーブル状態のポートは自動的に有効状態に戻されるので、エラー ディセーブル状態のポートを手動で有効状態に戻す必要がなくなります。

このコマンドは、スイッチの現在の設定では有効にしているポートでも、CatOS ソフトウェアによってエラー ディセーブル状態にされたポートに適用されます。show errdisable-timeout コマンドを使用して、errdisable-timeout 機能の現在の状態を確認します。次に示す 5 つのエリアを個別に指定して、この機能を有効にできます。それは、bpdu-guard、channel-misconfig、duplex-mismatch,(前述の特殊なコリジョン エラーを含む)、udld、および other です。この方法では、必要と思われる領域に永続的なエラー ディセーブル保護を装備できる一方で、障害を修正するまでポートを機能させておきたい場合はその領域を選択できます。

Catalyst 6000 シリーズのソフトウェア バージョン 5.2.1 と 5.2.2 にはソフトウェア上の欠陥があり、ポートの状態がエラー ディセーブルに変わるとネットワークが停止します。ポートが errDisable になると、スイッチはすべてのラーニングされた MAC アドレスをエラー ディセーブル状態のポートから誤ってラーニングします。これにより、関連した VLAN のネットワークが停止してしまいます。このソフトウェア欠陥の Cisco Bug ID は CSCdm48887 で、問題はソフトウェア バージョン 5.2.3 以降では解決されています。

この問題を防ぐ短期的な回避策を、次に示します。

  1. set option errport enable コマンドを発行して、エラー ディセーブル機能を無効にします。

  2. set port enable mod_num/port_num コマンドを使用して、エラー ディセーブル状態のすべてのポートを再度有効にします。

    例:set port enable 3/1

  3. clear cam dynamic コマンドを使用して MAC アドレス テーブルをクリアし、動的に学習された MAC アドレスを復元します。



errDisable 状態からのポートの復旧方法

ここまでは、エラー ディセーブル状態のポートが発生する状況と修正方法の 2 つの例、ポートがエラー ディセーブルになる他の 3 つの理由についての簡単な説明、エラー ディセーブル ポートに関連したコマンドの要約について示しました。これらの特定の問題について下記に示す例は、実験環境で容易に再現できます。

ポートを errDisable 状態から復旧するには、次の手順を実行します。

  1. この資料で使用されているソフトウェアのバージョン

    このドキュメントでは、show version コマンドが、スイッチで稼働しているソフトウェア バージョンを表示しています。これは、このテストで使用する CatOS のバージョンと含まれるモジュールを表示するものです。

    Cat5500> (enable) show version
    WS-C5500 Software, Version McpSW: 5.4(2) NmpSW: 5.4(2)
    Copyright (c) 1995-2000 by Cisco Systems
    NMP S/W compiled on Apr  7 2000, 16:59:29
    MCP S/W compiled on Apr 07 2000, 16:49:24
    
    System Bootstrap Version: 5.1(1)
    
    Hardware Version: 1.3  Model: WS-C5500  Serial #: 069041642
    
    Mod Port Model      Serial #  Versions
    --- ---- ---------- --------- ----------------------------------------
    1   0    WS-X5540   013459824 Hw : 1.1
                                  Fw : 5.1(1)
                                  Fw1: 5.1(1)
                                  Sw : 5.4(2)
                                  Sw : 5.4(2)
    11  24   WS-X5225R  012121634 Hw : 3.1
                                  Fw : 4.3(1)
                                  Sw : 5.4(2)
    
           DRAM                    FLASH                   NVRAM
    Module Total   Used    Free    Total   Used    Free    Total Used  Free
    ------ ------- ------- ------- ------- ------- ------- ----- ----- -----
    1       32768K  18567K  14201K   8192K   4171K   4021K  512K  179K  333K
    
    Uptime is 0 day, 0 hour, 4 minutes
    
    Cat5500> (enable) show module
    Mod Slot Ports Module-Type               Model               Status
    --- ---- ----- ------------------------- ------------------- --------
    1   1    0     Supervisor IIG            WS-X5540            ok
    15  1          Route Switch Feature Card 
    11  11   24    10/100BaseTX Ethernet     WS-X5225R           ok
    
    Mod Module-Name         Serial-Num
    --- ------------------- --------------------
    1                       00013459824
    11                      00012121634
    
    Mod MAC-Address(es)                        Hw     Fw         Sw
    --- -------------------------------------- ------ ---------- -----------------
    1   00-90-ab-28-d0-00 to 00-90-ab-28-d3-ff 1.1    5.1(1)     5.4(2)
    5   00-10-7b-7c-09-d4 to 00-10-7b-7c-09-df 3.0    3.1(1)     5.4(2)
    6   00-e0-1e-6c-80-da to 00-e0-1e-6c-80-dc 1.0    4.1(1)     5.4(2)
    8   00-10-7b-44-16-40 to 00-10-7b-44-16-57 1.3    3.1(1)     5.4(2)
    10  00-10-7b-0c-32-d0 to 00-10-7b-0c-32-db 2.0    3.1(1)     5.4(2)
    11  00-50-a2-f4-e4-50 to 00-50-a2-f4-e4-67 3.1    4.3(1)     5.4(2)
    
  2. ポートが errDisable 状態かどうかを判別する方法

    show port コマンドを入力すると、ポートがエラー ディセーブル状態になっているかどうかを判別できます。アクティブ ポートの例を次に示し、その下に同じポートがエラー ディセーブル状態になった場合の例を示します。

    Cat5500> (enable) show port 11/1
    Port  Name        Status     Vlan       Level  Duplex Speed Type
    ----- -------    ---------- ---------- ------ ------ ----- ------------
    11/1             connected  1          normal a-half a-100 10/100BaseTX
    
    
    Cat5500> (enable) show port 11/1
    Port  Name         Status     Vlan       Level  Duplex Speed Type
    ----- -------     ---------- ---------- ------ ------ ----- ------------
    11/1              errdisable  1          normal   auto  auto 10/100BaseTX
    

    注:ポートがエラー ディセーブルになると、前面パネルにあるそのポートの LED がオレンジ色に点灯します。

  3. エラー ディセーブル状態の理由を判別する方法(コンソールのメッセージ、syslog、show errdisable-timeout)

    スイッチは、ポートをエラー ディセーブル状態にすると、メッセージをコンソールに送信してポートを無効にした理由を説明します。ポートが無効になった理由を示す 2 つのメッセージの例を次に示します。1 つは PortFast BPDU-guard 機能によるもので、他は EtherChannel 設定問題によるものです。

    2000 May 09 19:09:18 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast
    enable port. Disabling 11/1
    
    2000 May 09 19:09:18 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port
    
    
    2000 May 09 19:22:11 %SPANTREE-2-CHNMISCFG: STP loop - channel 11/1-2
    is disabled in vlan 1
    
    2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1-2
    

    注:メッセージは、errDisable またはエラー ディセーブル状態を明示的に言及してはいませんが、スイッチがポートを無効にしていることを示しています。コンソールのメッセージが生成されると、ネットワーク内の syslog サーバを使用しない限りこれらは保存されません。スイッチがこれらのメッセージを syslog サーバに送るように設定すると、ポートが無効になった時期と原因について、より永続的なレコードを作成できます。メッセージを syslog サーバに送信するようにスイッチを構成する方法についての詳細は、CatOS 5.4 の設定ガイドのドキュメント『システム メッセージ ロギングの設定』を参照してください。

    CatOS 5.4(1) 以降を実行している場合は、errdisable-timeout という機能があります。この機能を有効にしていると、ポートが無効になった理由を表示します。次に例を示します。

    Cat5500> (enable) show errdisable-timeout
    ErrDisable Reason   Timeout Status Port ErrDisable Reason
    ------------------- -------------- ----  ----------------
    bpdu-guard          enable         11/1  bpdu-guard
    channel-misconfig   disable
    duplex-mismatch     disable
    udld                disable
    other               disable
    
    Interval: 30 seconds
    
  4. 問題の修正方法。ポートが無効にされた原因がわかったら、まずその根本的な問題を修正してから、ポートを再度有効にする必要があります。

    1. 根本問題の修正

      問題の契機となった実際の原因によって、修正方法は異なります。シャットダウンを引き起こす原因は数多くあります。最も顕著で一般的な原因を次に示します。

      • EtherChannel の設定ミス

        EtherChannel が正しく動作するためには、VLAN、トランク モード、速度、デュプレックスなどの設定が、関係するポート間で一致している必要があります。スイッチ内で一致しない設定のほとんどは、チャネルの作成時に検出されてレポートされます。状況によっては、通常、auto または desirable ではなく ON モードを使用している場合に、1 つのスイッチですべての設定が一致する場合があり、これによりスイッチがチャネリングを開始します。ただし、接続されたネイバー スイッチを同じように設定できず、最初のスイッチがエラー ディセーブル状態になる可能性があります。両方のスイッチが Port Aggregation Protocol(PAgP; ポート集約プロトコル)をサポートしている場合は、各スイッチのチャネル モードを ON ではなく desirable に設定して、この問題を回避できます。

      • デュプレックスのミスマッチ

        デュプレックスのミスマッチは、速度やデュプレックスを適切にオートネゴシエートできない場合に多く見られます。他のデバイスが同じ LAN セグメント上での送信を終えるまで待つ半二重とは違い、全二重方式デバイスは送信するものがあれば、他のデバイスには関係なく送信を行います。半二重デバイスが送信中にこの送信が発生すると、半二重デバイスはこれをコリジョン(スロット タイム中)かレイト コリジョン(スロット タイム後)であると見なします。全二重側はコリジョンを想定していないため、廃棄されたパケットを再送信する必要があるとは考えません。半二重では低い割合のコリジョンは正常ですが、全二重方式ではそうではありません。スイッチ ポートがレイト コリジョンを多数受信している場合、通常、デュプレックスのミスマッチ障害を示しています。ケーブルの両側のポートが同じ速度とデュプレックスに設定されていることを確認してください。show port コマンドを使用すると、Catalyst スイッチのポートの速度とデュプレックスが表示されます。Cisco Discovery Protocol(CDP)の新バージョンでは、ポートが実際にエラー ディセーブル状態になる前にデュプレックスのミスマッチを警告する機能があります。その他に、障害の原因となる NIC カードの設定があります(たとえばオート ポラリティ機能に疑いがある場合は、それをオフにします)。1 つのベンダーからの複数の NIC カードすべてに同じ障害があると思われる場合、メーカーのウェブ サイトでリリース ノートをチェックし、NIC メーカーからのドライバが最新のものであることを確認してください。レイト コリジョンの他の原因には、NIC の不良(設定上の問題だけではなく物理障害)、ケーブルの不良、またはケーブルのセグメントが長すぎるなどがあります。

        2000 May 09 19:19:09 %CDP-4-DUPLEXMISMATCH:Full/half duplex
        mismatch detected on port 11/3
        
      • BPDU ポート ガード

        スイッチ ソフトウェアの新バージョンには、PortFast がポートで有効されたかどうかを監視するものがあります。PortFast を使用しているポートは、端末に接続する必要があります。BPDU と呼ばれる STP パケットを生成するデバイスには接続しないでください。PortFast を有効にしたポートに BPDU が着信するのをスイッチが検知すると、スイッチはポートを errDisable モードにします。

      • UDLD

        UDLD はソフトウェアの一部の新バージョンに搭載されたプロトコルで、リンク上の通信が単一方向であり、そのため部分的に中断していることを検出します。光ファイバケーブルや他のケーブル/ポートの破損による障害が、この単一方向通信を引き起こすことがあります。この障害によりスパニング ツリー ループが生じることがあります。UDLD によりポートは一方向リンクの検出が可能になり、UDLD はこの状態を検出するとポートを errDisable 状態にするよう設定できます。

      • その他

        ポートの問題を認識するスイッチ内のプロセスにより、ポートがエラー ディセーブル状態になる場合があります。ポートがシャットダウンになった理由を記述したコンソール メッセージや syslog サーバに送信されたメッセージを調べてください。また errdisable-timeout 機能が有効の場合(最低でも CatOS 5.4(1))、show errdisable-timeout コマンドを実行すると、ポートが無効にされた大まかな原因がわかります。

    2. ポートの再有効化

      根本的問題を修正してもポートは無効状態であり、ポートを再度有効にする必要があります。これは、set port enable コマンドを使用して手動で行うことができます。

      Cat5500> (enable) set port enable 11/1-2
      Ports 11/1-2 enabled.
      

      CatOS 4.2(2) 以降を使用している場合は、前述のように set option errport コマンドを使用して、ポートがエラー ディセーブル状態になるのを回避できます。実際には、これは問題の発生源の修正ではないので、危険を伴う可能性があります。CatOS 5.4(1) 以降を使用している場合は、次のセクションで説明されているように、errdisable-timeout コマンドを使用してポートを自動的に再度有効にできます。

  5. errdisable-timeout を使用してポートを自動的に再度有効にする方法: CatOS 5.4(1)

    errdisable-timeout コマンドを使用すると、指定した時間が経過した後にポートを自動的に再度有効するエラー タイプを選択的に指定できます。出力結果にはデフォルトの状態が表示されます。デフォルト状態では、5 つの可能な条件すべてに対して errdisable-timeout が無効(非アクティブ)です。いずれかの条件が有効になった場合、この条件を持つポートは 30 秒後に再度有効になります。

    Cat5500> (enable) show errdisable-timeout
    ErrDisable Reason   Timeout Status
    ------------------- --------------
    bpdu-guard          disable
    channel-misconfig   disable
    duplex-mismatch     disable
    udld                disable
    other               disable
    
    Interval: 30 seconds
    

    errdisable-timeout をオンにするには、次のコマンドを使用して errDisable 条件を選択します。

    Cat5500> (enable) set errdisable-timeout enable ?
      bpdu-guard                 BPDU Port-guard
      channel-misconfig          Channel misconfiguration
      duplex-mismatch            Duplex Mismatch
      udld                       UDLD
      other                      Reasons other than the above
      all                        Apply errDisable timeout to all reasons
    
    Cat5500> (enable) set errdisable-timeout enable bpdu-guard 
    Successfully enabled errdisable-timeout for bpdu-guard.
    
    Cat5500> (enable) set errdisable-timeout interval 30
    Successfully set errdisable timeout to 30 seconds.
    

    このコマンドの優れた機能は、errdisable-timeout を有効にすると、ポートがエラー ディセーブル状態にされたおおよその原因が一覧表示される点です。詳細は、発生時に表示されるメッセージを参照してください。エラー ディセーブル状態を修正する最初のステップは、シャットダウンを引き起こした本来のエラーを修正することであることを忘れないでください。下記で、ポート 11/1 がシャットダウンしたのは BPDU ガード機能のためであることに注意してください。

    Cat5500> (enable) show errdisable-timeout
    ErrDisable Reason   Timeout Status   Port ErrDisable Reason
    ------------------- --------------   ---- -----------------
    bpdu-guard          enable           11/1  bpdu-guard
    channel-misconfig   disable
    duplex-mismatch     disable
    udld                disable
    other               disable
    
    Interval: 30 seconds
    

    次に、errdisable-timeout 機能のためスイッチがポートを再度有効にする場合に表示される内容の例を示します。

    Cat5500> (enable)
    2000 May 09 19:17:27 %MGMT-5-ERRDISPORTENABLED:Port 11/1 err-disabled
    by bpdu-guard enabled by errdisable timeout
    
    
  6. 問題を修正しないでポートを再度有効にするとどうなるか。

    問題を修正せずにポートを再度有効にすると、ポートは再度エラー ディセーブルになります。これは、実際の問題を解決するまで繰り返して発生します。下記の 3 つのメッセージを確認してください。最初のメッセージでは、スイッチはポート 11/1 を無効することを述べています。無効にする理由は、PortFast が有効になっているポートで BPDU を受信したためです(BPDU ガードがオンの場合、これはエラーを発生する状態です)。25 秒が過ぎると、ポートは errdisable-timeout 機能により自動的に再度有効になります。さらに 4 秒後、実際の問題が修正されていないためポートは再度エラー ディセーブル状態になります。

    2000 May 09 19:17:33 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast
    enable port. Disabling 11/1
    
    2000 May 09 19:17:58 %MGMT-5-ERRDISPORTENABLED:Port 11/1 err-disabled by
    bpdu-guard enabled by errdisable timeout
    
    2000 May 09 19:18:02 %SPANTREE-2-RX_PORTFAST:Received BPDU on
    PortFast enable port. Disabling 11/1
    

    ポートを手動で再度有効にすると、実際の障害に気付き、対処できる利点があります。

  7. ポートがコリジョンによりエラー ディセーブルにならないようにできますか

    コリジョン過剰やレイト コリジョンのためスイッチがポートをエラー ディセーブルにするのを防ぐ方法の例を次に示します。CatOS リリース 4.2(2) では、set option errport コマンドが利用できるようになりました。繰り返しますが、これは応急処置としてだけ使用するようにしてください。これによりコリジョンが原因でポートがエラー ディセーブル状態にならないようにできますが、コリジョンに対して無防備になってしまい、一般にはスイッチがポートをシャットダウンさせてしまうことになります。このコマンドを実行すると、コリジョンのためスイッチがポートを無効にする処理を停止します。

    Cat5500> (enable) set option errport enable
    Error port option is enabled
    
    Cat5500> (enable) show option errport
    Option errport   : enabled
    

    次にデフォルト状態に戻る方法を示します。デフォルト状態ではスイッチはポートをエラー ディセーブル状態にします。

    Cat5500> (enable) set option errport disable
    Error port option is disabled
    
    Cat5500> (enable) show option errport
    Option errport   : disabled
    

    show option errport コマンドはエラー ディセーブル機能の現在のモードを表示します。また、set option errport enable コマンドはエラーの原因を修正せず、エラーによってポートがシャットダウンされないようにするだけです。エラーが続いたり激しくなると errDisable ポートがモジュールの他のポートに影響を与える可能性は存在し続けます。そのため、このコマンドは、これらのエラーがスイッチ モジュール内でより大きな障害を引き起こす可能性があることが予想され、これらのリスクを取り除く場合だけ使用するようにしてください。



エラー ディセーブル状態のポートの修正:例

ここでは、エラー ディセーブル ポートを修正する 2 つの例を示します。



BPDU ポートガードを原因とするエラー ディセーブル状態

CatOS 5.4(1) から始まった新しい機能により、スイッチは PortFast を有効にしたポートのモニタが可能になっています。PortFast を使用するポートは、スイッチなどのスパニング ツリー BPDU を生成するデバイスまたはブリッジングを行うブリッジやルータではなく、端末(ワークステーションやサーバなど)にだけ接続する必要があります。スイッチがスパニング ツリー BPDU を PortFast を有効にしたポートで受信すると、ポートを errDisable モードにしてループが生じないようにします。PortFast はスイッチ上のポートが物理ループを生成する可能性がないと見なし、このためこのポートに対する最初のスパニング ツリー チェックをスキップし、端末が起動で時間切れにならないようにします。PortFast はネットワーク管理者が慎重に実装する必要があります。PortFast を有効にしたポートでは、BPDU ガードが LAN にループが発生しないようにするのに役立ちます。

次にこの機能をオンにする方法を示します。この例を選んだのは、エラー ディセーブルの状況を容易に作成できるためです。

Cat5500> (enable) set spantree portfast bpdu-guard enable
Spantree portfast bpdu-guard enabled on this switch.

Catalyst 5500 スイッチは、スパニング ツリーのルートととして設定した別のスイッチ(6509)に接続されています。6509 は BPDU を 2 秒ごとに送信してきます(スパニング ツリーのデフォルト設定を使用)。5500 スイッチ ポートで PortFast を有効にすると、BPDU ガード機能はこのポートに着信する BPDU を監視します。BPDU がポートに着信した場合、つまりエンド デバイス以外のデバイスでポートのオフ状態が検出された場合、スパニング ツリーのループを回避するため、bpdu-guard 機能によって、ポートがシャット ダウンされます。

Cat5500> (enable) set spantree portfast 11/1 enable

Warning: Spantree port fast start should only be enabled on ports connected
to a single host.  Connecting hubs, concentrators, switches, bridges, etc. to
a fast start port can cause temporary spanning tree loops.  Use with caution.
Spantree port 11/1 fast start enabled.

Cat5500> (enable)

2000 May 09 19:09:18 %SPANTREE-2-RX_PORTFAST:Received BPDU on
PortFast enable port. Disabling 11/1

2000 May 09 19:09:18 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1

上記のメッセージでは、PortFast が有効になっているポートで BPDU を受信したために、スイッチがポート 11/1 をシャットダウンしていることを示しています。ポートの状態を確認すると、errDisable と表示されています。

Cat5500> (enable) show port 11/1

Port  Name                   Status     Vlan       Level  Duplex Speed Type
----- ------------------     ---------- ---------- ------ ------ ----- ------------
11/1                         errdisable 1          normal   auto  auto 10/100BaseTX

これらの状況を修正するには、根本にある問題に対処してからポートを再度有効にする必要があります。これは接続が正しくないポートであるため(PortFast が有効で別のスイッチに接続されている)、PortFast 機能をオフにします。繰り返しますが、PortFast は端末に接続されたポートでだけ使用することを想定しています。

Cat5500> (enable) set spantree portfast 11/1 disable
Spantree port 11/1 fast start disabled.

障害の根本を修正しましたが、ポートはまだエラー ディセーブル状態のままです。ポート LED を見ると、まだオレンジ色になっています。ポートを稼働状態に戻す前に、再度有効にする必要があります。

Cat5500> (enable) show port 11/1

Port  Name               Status     Vlan       Level  Duplex Speed Type
----- ------------------ ---------- ---------- ------ ------ ----- ------------
11/1                     errdisable 1          normal   auto  auto 10/100BaseTX

次の例では、set port enable コマンドを使用して、ポートを手動で再度有効にしています。これでポートは正常な状態に戻ります。

Cat5500> (enable) set port enable 11/1
Port 11/1 enabled.

Cat5500> (enable) show port 11/3
Port  Name               Status     Vlan       Level  Duplex Speed Type
----- ------------------ ---------- ---------- ------ ------ ----- ------------
11/1                     connected  1          normal a-half a-100 10/100BaseTX


EtherChannel の設定ミスを原因とするエラー ディセーブル状態

次に、他のよくあるエラー ディセーブル状況を示します。これは EtherChannel 機能を持つポートで発生します。あるスイッチを EtherChannel に設定して別のスイッチを EtherChannel に設定しないと、スパニング ツリー プロセスを引き起こして EtherChannel に設定した側のチャネル ポートをシャットダウンします。このシナリオでは、5500 スイッチからの 2 つのクロスケーブルを別のスイッチに接続しています。set port channel 11/1-2 on コマンドを使用して、5500 スイッチで EtherChannel をオンにしています。EtherChannel を ON モードにしても、チャネリングの前にもう一方のサイドとネゴシエートするための PAgP パケットは送信されません。もう一方のサイドはチャネリングを実行中であると想定されているためです。さらに、別のスイッチでも EtherChannel をオンにしていません。これらのポートは個々にチャネル解除したポートにしています。1 分以上この状態のままにすると、5500 の STP はループがあると見なします。これにより、チャネリング ポートはエラー ディセーブル状態になります。下記では、ループが検出されておりポートがディセーブルになっています。show port channel コマンドは、ポートがチャネリングを行っていないことを示しています。関係するポートの 1 つを確認すると、そのポートの状態が errDisable であることがわかります。

Cat5500> (enable)
2000 May 09 19:20:02 %PAGP-5-PORTTOSTP:Port 11/1 joined bridge port 11/1-2
2000 May 09 19:20:27 %PAGP-5-PORTTOSTP:Port 11/2 joined bridge port 11/1-2
2000 May 09 19:22:11 %SPANTREE-2-CHNMISCFG: STP loop -
channel 11/1-2 is disabled in vlan 1

2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1-2
2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/2 left bridge port 11/1-2



Cat5500> (enable) show port channel
No ports channeling

EtherChannel は破損しており、理由はポートがこのスイッチ上でエラー ディセーブル状態になっているためです。

Cat5500> (enable) show port 11/1
Port  Name                  Status     Vlan       Level  Duplex Speed Type
----- ------------------    ---------- ---------- ------ ------ ----- ------------
11/1                        errdisable 1          normal   auto  auto 10/100BaseTX

問題が何かを判別するために、エラー メッセージを確認する必要があります。メッセージには、EtherChannel にスパニング ツリー ループが発生したことが表示されています。上の段落からわかるように、ON モード(desirable ではなく)を使って 1 つのデバイス(この場合はスイッチ)で EtherChannel が手動でオンにされていて、接続されているもう一方のデバイス(この場合はもう一方のスイッチ)で EtherChannel がオンにされていない場合、このような状況が発生します。この状況を修正する 1 つの方法は、接続の両側でチャネル モードを desirable に設定してから、ポートを再度有効にします。これにより各側は、両側ともチャネルに合意した場合だけチャネルをつくります。チャネルに合意しない場合は、通常のポートとしての機能を継続します。

注:EtherChannel の設定ミス エラーを引き起こす可能性がある原因の一覧については、使用している CatOS バージョンの EtherChannel に関する設定ガイドを参照してください。新しいリリースには、設定ガイドに『Fast EtherChannel および Gigabit EtherChannel の設定』というタイトルのセクションがあり、設定するチャネルモードなど、チャネルを正しく形成するための依存関係が記載されています。

Cat5500> (enable) set port channel 11/1-2 desirable non-silent
Port(s) 11/1-2 are assigned to admin group 21.
Port(s) 11/1-2 channel mode set to desirable.

Cat5500> (enable) show port 11
Port  Name                  Status     Vlan       Level  Duplex Speed Type
----- ------------------    ---------- ---------- ------ ------ ----- ------------
11/1                        errdisable 1          normal   auto  auto 10/100BaseTX
11/2                        errdisable 1          normal   auto  auto 10/100BaseTX

ここでは EtherChannel 機能をオフにして EtherChannel モードを desirable に設定しましたが、ポートはまだ無効状態であることに注意してください。障害の原因を修正しましたが、ポートを使用する前に再度有効にする必要があります。

Cat5500> (enable) set port enable 11/1-2
Ports 11/1-2 enabled.

Cat5500> (enable) show port 11
Port  Name                   Status     Vlan       Level  Duplex Speed Type
----- ------------------     ---------- ---------- ------ ------ ----- ------------
11/1                         connected  1          normal a-full a-100 10/100BaseTX
11/2                         connected  1          normal a-full a-100 10/100BaseTX

Cat5500> (enable) show port channel 11/1
Port            Status     Channel              Admin Ch
                           Mode                 Group Id
-----         ----------   -------------------- ----- -----
11/1          connected  desirable non-silent    21   833
11/2          connected  desirable non-silent    21   833

Port  Device-ID                       Port-ID                   Platform
----- ------------------------------- ------------------------- ----------------
11/1  TBA04090489(Cat6000)      5/13                      WS-C6506
11/2  TBA04090489(Cat6000)      5/14                       
----- ------------------------------- ------------------------- ----------------


設定の検証

  • show version:スイッチで使用されているソフトウェアのバージョンを表示。

  • show module:スイッチで使用されているモジュールを表示。

  • show port:スイッチ ポートの現在の状態を表示。

  • show option errport:set option errport コマンドの状態を表示。

  • show errdisable-timeout:errdisable-timeout 機能の現在の設定とポートが現在エラー ディセーブル状態になっている理由を表示。



設定のトラブルシューティング

  • show port:スイッチ ポートの現在の状態を表示。

  • show port channel:EtherChannel の現在の状態を表示。

  • show option errportset option errport コマンドの状態を表示。

  • set option errport disable:エラーが発生しているポートで、無効にする必要があるとオペレーティング システムによって見なされたポートをスイッチが無効にできる。これがデフォルトの状態ですが、他のユーザが以前に set option errport enable コマンドを発行したことがある場合に限り、異なる状態になります。

  • show errdisable-timeout:errdisable-timeout 機能の現在の設定とポートが現在エラー ディセーブル状態になっている理由を表示。

  • set errdisable-timeoutshow errdisable-timeout コマンドを組み合せて使用すると、ポートがエラー ディセーブル状態になった理由を確認する場合に有効。



コマンドの要約

構文: show version

このドキュメントでの使用例:

show version


構文: show module [mod_num]

このドキュメントでの使用例:

show module


構文: show port [mod_num[/port_num]]

このドキュメントでの使用例:

show port 11/1 show port 11


構文: show port channel [mod_num[/port_num]] [statistics | info [spantree | trunk | protocol | gmrp | gvrp | qos]]>

このドキュメントでの使用例:

show port channel


構文: set port channel port_list mode {on | off | desirable | auto} [silent | non-silent]

このドキュメントでの使用例:

set port channel 11/1-2 desirable non-silent


構文:

set port enable mod_num/port_num

このドキュメントでの使用例:

set port enable 11/1-2


構文: show errdisable-timeout

このドキュメントでの使用例:

show errdisable-timeout


構文: set errdisable-timeout [enable|disable] [bpdu-guard | channel-misconfig | duplex-mismatch | udld | other]

このドキュメントでの使用例:

set errdisable-timeout enable bpdu-guard


構文: set errdisable-timeout interval seconds

このドキュメントでの使用例:

set errdisable-timeout interval 30


構文: set spantree portfast mod_num/port_num {enable | disable}

このドキュメントでの使用例:

set spantree portfast 11/1 enable set spantree portfast 11/1 disable


構文: set spantree portfast bpdu-guard {enable | disable}

このドキュメントでの使用例:

set spantree portfast bpdu-guard enable





関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報




Document ID: 12017