2017-07-12 08:43 PM
こんにちは
私が運用を担当しているネットワークにてMACアドレスのフラッピングが発生しました。
通常、フラッピングはループ発生によるものだと思うのですが、今回、私が経験したものは、それだけではないようです。
以下のようなことがループ無で起こる可能性はあるでしょうか?
・L2スイッチ#1→上位のスイッチ: L2スイッチは自身のポートから学習したMACアドレスAを、アップリンクを通じて上位のスイッチに伝搬する。
・上位のスイッチ→別のL2スイッチ#2: 同一VLANを持つ別のL2スイッチに、MACアドレスAを伝搬する
・L2スイッチ#1にてトラブルが発生して、MACアドレスAを自身のポートから学習して見えたり、アップリンクを通じて他の機器から学習して見えたりと、区別がつかない状態になる。
・これが複数のMACアドレスで発生する。
・上位スイッチからみると、同じMACアドレスが二つのL2スイッチから学習するため、フラッピングが大量発生する。
(MACアドレステーブルもARPテーブルも内容が頻繁に書き換わる)
上記のことがループの発生無で起こりうるものでしょうか。
ネットワークの構成は、以下の通りです。(構成図を添付しました。)
■使用機器
・コアスイッチ:Catalyst3750X(スタック構成)IOS:15.0(2)SE5
・ディストリビューション兼アクセススイッチ:Catalyst2960S(スタック構成) IOS:12.2(55)SE7 ←やや古いのが気になっています
■構成
・Cat3750Xと複数のCat2960SをTrunk+PortChannel構成で接続(ルーティング無、L2レベルでの接続)
・Cat2960SにVLANを複数作成、同一IDのVLANが複数のCat2960Sに存在します。
・Cat3750XにてVLAN間通信をおこなっています。
・Cat2960SにスイッチングHubを接続し、PC(DHCPでIPアドレス取得)やサーバー(固定IP設定)を接続します。
・機器は、ビルの2フロアにまたがって配置されています。
■設定
・Cat2960Sには、BPDUガードを設定しています。
(ユーザーが、1台のスイッチングHubを2台のCat2960Sに接続してループを発生させてしまうことを想定したため。
実際にユーザーがループを発生させて、BPDUガードが作動したことがあります。)
■■発生した事象■■
・フラッピングは数日間にまたがって、1~数分間ずつ、数回発生していました。
1回あたり1~2つMACアドレスに対してフラッピングの出力が発生
・そして、最後に同一VLAN内で大量のMACアドレスフラッピングが発生しました
約10個のMACアドレスに関して、フラッピングが40分間程度継続したログが出ています。
・これにより、Cat3750XのCPU使用率が高騰しました。
CPU使用使用率が、プロセスIP Inputだけで42%、機器全体で99%になりました。
そのため、OSPFのネイバーダウンが発生し、WAN網との通信ができなくなりました。
ユーザーの申告から判断すると、Cat3750Xを介したVLAN間通信もかなり不安定だったようです。
・約40分後に、BPDUガードが作動してポートがerr-Disableになり、フラッピング/CPU使用率高騰/通信障害が収まりました。
40分間の間に、ユーザーは特に何もしていないと言っています。
後日確認したところCat2960S配下のスイッチングハブにて、誤ってポート同士が接続されていました。
これも一種のループですが、Cat3750XのCPU使用率を高騰させた直接の原因ではないと思います。
(何かのトリガーになってはいるかもしれませんが)
よろしくお願いします。
■■ログ/show コマンドの抜粋■■
L2スイッチ
Jun 30 13:33:48.848 JST: %SW_MATM-4-MACFLAP_NOTIF: Host 6cae.8b15.2xxx in vlan 100 is flapping between port Gi2/0/22 and port Po1
Jun 30 13:38:45.761 JST: %SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port GigabitEthernet2/0/22 with BPDU Guard enabled. Disabling port. (xxxxxx)
Jun 30 13:38:45.761 JST: %PM-4-ERR_DISABLE: bpduguard error detected on Gi2/0/22, putting Gi2/0/22 in err-disable state (xxxxxx)
Jun 30 13:38:46.791 JST: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet2/0/22, changed state to down
Jun 30 13:38:47.802 JST: %LINK-3-UPDOWN: Interface GigabitEthernet2/0/22, changed state to down
上位のL3スイッチでのCPU使用率
#show proc cpu sorted
CPU utilization for five seconds: 99%/14%; one minute: 94%; five minutes: 80%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
232 15867345 28641458 553 42.72% 36.85% 17.50% 0 IP Input
130 64594773 103037563 626 12.80% 11.40% 9.70% 0 hpm main process
182 4360170 54902437 79 7.52% 6.34% 3.66% 0 Hulc LED Process
112 618089 63903973 9 5.28% 4.48% 2.98% 0 HLFM address lea
13 22295893 27748463 803 1.59% 4.57% 14.55% 0 ARP Input
185 46748267 2331242 20053 1.43% 1.48% 1.50% 0 HL3U bkgrd proce
134 18742498 2218558 8448 1.12% 0.87% 0.87% 0 hpm counter proc
111 273154 1517244 180 0.95% 0.83% 0.63% 0 HRPC hlfm reques
90 13582759 8482473 1601 0.95% 0.88% 0.87% 0 RedEarth Tx Mana
430 5592573 243520060 22 0.79% 0.43% 0.37% 0 IP SLAs XOS Even
99 588786 1651419 356 0.79% 0.75% 0.60% 0 hrpc <- response
250 2505915 13540705 185 0.63% 0.66% 0.59% 0 Spanning Tree
220 1530081 3414971 448 0.47% 0.24% 0.20% 0 CEF: IPv4 proces
89 1299554 11823959 109 0.47% 0.36% 0.28% 0 RedEarth I2C dri
199 3149898 1768161 1781 0.31% 0.14% 0.13% 0 HRPC qos request
268 682930 2199559 310 0.31% 0.26% 0.23% 0 PI MATM Aging Pr
198 4429925 442596 10008 0.31% 0.20% 0.21% 0 HQM Stack Proces
113 156677 2199582 71 0.15% 0.07% 0.04% 0 HLFM aging proce
171 160604 10922541 14 0.15% 0.06% 0.05% 0 Hulc Storm Contr
330 341544 515311 662 0.15% 0.28% 0.32% 0 IGMPSN
57 118062 444617 265 0.15% 0.05% 0.01% 0 Compute load avg
192 289 155 1864 0.15% 0.30% 0.08% 1 Virtual Exec
97 31057 1105698 28 0.15% 0.08% 0.05% 0 hrpc -> response
370 636314 68550001 9 0.15% 0.07% 0.02% 0 MMON MENG
187 17444 506381 34 0.15% 0.01% 0.00% 0 HIPV6 bkgrd proc
(以下省略)
解決済! 解決策の投稿を見る。
2017-07-16 10:51 PM
お世話になります。
>Cat2960S配下のスイッチングハブにて、誤ってポート同士が接続されていました。
現場を見たわけではないので確実とは言えませんが、これが原因でブロードキャストストームが同一VLAN上で発生し、上位のスイッチにも大量のパケット転送が発生しCPU高騰したのだと思います。そのため、IP Inputが上昇しているんだと思います。
また、スイッチングハブにてポート同士接続された時点でMACのフラッピングも発生する可能性は普通にありえます。
さらに、1点アドバイスをさせていただきますと2960SはIOS12.2系では致命的なバグがかなり多く、動作も不安定なため正直まったく推奨できません。
私も昔、とある現場で2960SのStack構成にて似たバージョンのIOSにて不可解な動作や妙にCPUおよびメモリ使用率高騰が発生し上位機器にも多大な影響を及ぼしたことがあります。
その後、15.0.2-SE10aにアップデートしたところ動作が非常に安定し、まったく問題が発生しなくなりましたので今後の改善策としてご参考にいただければと思います。
最後に、STP関連のパラメータも見直されたほうが良いかもしれません。(40分たってからBPDU発動はちょっと遅すぎますね。)
2017-07-16 10:51 PM
お世話になります。
>Cat2960S配下のスイッチングハブにて、誤ってポート同士が接続されていました。
現場を見たわけではないので確実とは言えませんが、これが原因でブロードキャストストームが同一VLAN上で発生し、上位のスイッチにも大量のパケット転送が発生しCPU高騰したのだと思います。そのため、IP Inputが上昇しているんだと思います。
また、スイッチングハブにてポート同士接続された時点でMACのフラッピングも発生する可能性は普通にありえます。
さらに、1点アドバイスをさせていただきますと2960SはIOS12.2系では致命的なバグがかなり多く、動作も不安定なため正直まったく推奨できません。
私も昔、とある現場で2960SのStack構成にて似たバージョンのIOSにて不可解な動作や妙にCPUおよびメモリ使用率高騰が発生し上位機器にも多大な影響を及ぼしたことがあります。
その後、15.0.2-SE10aにアップデートしたところ動作が非常に安定し、まったく問題が発生しなくなりましたので今後の改善策としてご参考にいただければと思います。
最後に、STP関連のパラメータも見直されたほうが良いかもしれません。(40分たってからBPDU発動はちょっと遅すぎますね。)
2017-08-09 03:12 PM
xxxAnzielxxx 様
ご回答ありがとうございます。
回答いただいた直後に内容は見ていたのですが、返信が遅くなりました。
シスコのバグ情報や、IOSのリリースノートを見ると、
スタック+EtherChannel構成で、IOS 15系+IOS 12.2系が混在している環境では、不具合が発生する場合があるようでした。
(はっきり「この情報にヒットする」と言えるものは無かったのですが。)
そのため、エンドユーザと相談して、15.0(2)SE10aにVer.Upする準備を進めています。
追加で、EEMの機能を使って、syslogでMAC Flappingの文字列を見つけたらsnmptrapを上げる設定を追加する予定です。
それからご指摘いただいた、STPパラメータ見直しについては、
コアスイッチ:Cat3750X+ディストリビューション兼アクセススイッチ:Cat2960S構成なので、
Cat3750Xがルートブリッジと明示的にPriority値を指定するようにします。
(現在も各VLANでCat3750Xがルートブリッジにはなってはいますが。)
どうも、ありがとうございました。
エキスパートの回答、ステップバイステップガイド、最新のトピックなどお気に入りのアイデアを見つけたら、あとで参照できるように保存しましょう。
コミュニティは初めてですか?これらのヒントを活用してスタートしましょう。 コミュニティの活用方法 新メンバーガイド
下記より関連するコンテンツにアクセスできます