スイッチで1つ以上のポートがエラーディセーブル状態になる、つまり、ポートがerrDisable状態になった場合、多くのお客様からの問い合せがCiscoテクニカルサポートに寄せられます。この状態の発生理由と、ポートを通常の状態に復元する方法を尋ねます。このドキュメントでは、errDisable 状態について説明し、その状態から回復する方法と、errDisable から回復する 2 つの例を示します。このドキュメント全体で、errDisable と error-disable という用語は同じ意味で使用されています(errDisable は show port コマンドによって示されるポートの状態であり、error-disable または error-disabled は 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機能は、CatOSが稼働するCatalystスイッチ(Catalyst 2948G、4500/4000、5500/5000、および6500/60)でサポートされています00)、およびCisco IOSが稼働するCatalystスイッチ(Catalyst 2900XL/3500XL、2950、2970、3550、4500および65000)。 errDisable の実装方法は、プラットフォームによって異なります。この文書では、CatOS ソフトウェアを実行しているスイッチのエラー ディセーブルに焦点をあてています。
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 つめは、このポートが原因でモジュールの他のポート(またはモジュール全体)にも障害が発生する可能性をなくすことです。こうした障害は、障害のあるポートがバッファを独占したり、そのポートのエラー メッセージがカードのプロセス間通信を独占したりすることによって、最終的に重大なネットワーク問題を引き起こします。エラー ディセーブル機能は、これらの状態を回避する上で役に立ちます。
この機能が最初に実装されたのは、スイッチが 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 から復旧するためには、次の 2 つのことを実行する必要があります。
ポートがエラー ディセーブルになった原因(ケーブル、NIC、EtherChannel など)を特定して修正します。
ポートをエラー ディセーブルにした原因となる根本的な問題を特定して修正しないと、問題が再発すればポートは再度エラー ディセーブルになります。一部のエラーはかなり頻繁に発生します(例: BPDU ポートガードが検出するエラーは 2 秒ごとに発生することがあります)。 障害の発生源を修正しないでポートを再度有効にしようとしても、ポートが再度エラー ディセーブルになるだけです。
ポートを再度有効にします。
問題の発生源を修正するだけでは、ポートを再度有効にすることはできません。問題の発生源を修正しても、ポートはまだ無効状態です(ポートの LED はオレンジ色のまま)。ポートを稼働状態にする前に、再度有効にする必要があります。最初は、ポートを再度有効にする唯一の方法は、問題のあるポートに対して set port enable コマンドを手動で入力することでした。やがてオプションの拡張機能がエラー ディセーブル機能に追加され、より柔軟かつ自動的に行うことが可能になりました。
注:ポートがエラーディセーブル状態であることは、ポートのLEDがオレンジ色になる唯一の理由ではなく、唯一の理由です。このため、show port コマンドを使用して、常にポート状態を確認することを推奨します。
一部のお客様より、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 コマンドの使用が推奨されるのは、これらのエラー状態が継続するのを許可するとモジュールの他のポートが影響を受けるというリスクを理解している場合だけです。このコマンドは応急処置に過ぎず、問題の修正ではありません。実際の問題に対処できるようになるまで、これらのエラーが発生しているポートがシャットダウンしないようにするだけです。注意して使用してください。
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 以降では解決されています。
この問題を防ぐ短期的な回避策を、次に示します。
set option errport enable コマンドを発行して、エラー ディセーブル機能を無効にします。
set port enable mod_num/port_num コマンドを使用して、エラー ディセーブル状態のすべてのポートを再度有効にします。
例:set port enable 3/1
clear cam dynamic コマンドを使用して MAC アドレス テーブルをクリアし、動的に学習された MAC アドレスを復元します。
ここまでは、エラー ディセーブル状態のポートが発生する状況と修正方法の 2 つの例、ポートがエラー ディセーブルになる他の 3 つの理由についての簡単な説明、エラー ディセーブル ポートに関連したコマンドの要約について示しました。これらの特定の問題について下記に示す例は、実験環境で容易に再現できます。
ポートを errDisable 状態から復旧するには、次の手順を実行します。
この資料で使用されているソフトウェアのバージョン
このドキュメントでは、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)
ポートが 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がオレンジ色に点灯します。
エラー ディセーブル状態の理由を判別する方法(コンソールのメッセージ、syslog、show errdisable-timeout)
スイッチは、ポートをエラー ディセーブル状態にすると、メッセージをコンソールに送信してポートを無効にした理由を説明します。ポートがディセーブルになった理由を示す2つのメッセージ例を次に示します。1つはPortFast BPDUガード機能によるもので、もう1つは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やerror-disabledを明示的に示すものではありません。ただし、スイッチによってポートが無効にされていることを示しています。コンソールのメッセージが生成されると、ネットワーク内の 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
問題の修正方法。ポートが無効にされた原因がわかったら、まずその根本的な問題を修正してから、ポートを再度有効にする必要があります。
根本問題の修正
問題の契機となった実際の原因によって、修正方法は異なります。シャットダウンを引き起こす原因は数多くあります。最も顕著で一般的な原因を次に示します。
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 コマンドを実行すると、ポートが無効にされた大まかな原因がわかります。
ポートの再有効化
根本的問題を修正してもポートは無効状態であり、ポートを再度有効にする必要があります。これは、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 コマンドを使用してポートを自動的に再度有効にできます。
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
問題を修正しないでポートを再度有効にするとどうなるか。
問題を修正せずにポートを再度有効にすると、ポートは再度エラー ディセーブルになります。これは、実際の問題を解決するまで繰り返して発生します。下記の 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
ポートを手動で再度有効にすると、実際の障害に気付き、対処できる利点があります。
ポートがコリジョンによりエラー ディセーブルにならないようにできますか
コリジョン過剰やレイト コリジョンのためスイッチがポートをエラー ディセーブルにするのを防ぐ方法の例を次に示します。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 つの例を示します。
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 に設定した側のチャネル ポートをシャットダウンします。このシナリオでは、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 errport:set option errport コマンドのステータスを表示します
set option errport disable:エラーが発生しているポートで、無効にする必要があるとオペレーティングシステムによって見なされたポートをスイッチが無効にできる。これがデフォルトの状態ですが、他のユーザが以前に set option errport enable コマンドを発行したことがある場合に限り、異なる状態になります。
show errdisable-timeout:errdisable-timeout機能の現在の設定とポートが現在エラーディセーブル状態になっている理由を表示。
set errdisable-timeout:ポートがエラーディセーブルになった理由を判別するのに役立ちます(show 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 |
改定 | 発行日 | コメント |
---|---|---|
1.0 |
04-Dec-2001
|
初版 |