ネットワークでフラッピング発生しているかを確認するためにはスイッチからsyslogサーバーにログを記録する。この時ログのレベルをinformationalにしておくこと。またlink trapを有効にしてポートのup/downがログに記録されるようにする。
ポートでフラッピングが確認された場合考えられる原因としては以下がある。
- ノイズ
- ケーブル
- NICが物理的におかしい
- ドライバがあっていない
- NICの自動電源管理
- Auto negotiationの不規則の発生
- 速度とデュープレックスが一致していない
- スイッチのポート障害
- スパニングツリー
上記の問題をケーブル、ノイズ、NIC, ポート構成, STPに分けて調査を進める
ノイズ
フラッピングが発生している機器がアースされているかを確認する。アースされていない場合にはコンセントからの電力や機器のマザーボードから電気信号が流れ出し、ポートに影響を与えることがある。また電力消費量が高い機器や、高い周波数をもつ電磁波を発する機器についても確認をする。これらの機器を停止してみてフラッピングがなくなるか検証する。
ケーブル
新しいケーブルに交換してみてフラッピングが止まるかを確認する。古いケーブルの問題としては爪が折れていることによる接触不良、ケーブルの被膜がとれたとことによるノイズが主な原因としてある。つめが折れているケーブルはとりあえずは使えるものの、問題が発生したときの切り分けが難しいので見つけ次第廃棄する。
NIC
NICで起きる障害としては以下の3つが考えられる。
- NICが物理的におかしい
- ドライバがあっていない
- NICの自動電源管理
まず該当機器を停止してみてフラッピングがなくなるかを確認する。停止することがわかったら以下の手順でさらに検証を進める。
- 自動電源管理機能の停止
- Wakeup LANとも呼ばれるこの機能はLAN経由で機器の電源を入れることができる。ただこの機能を有効にすることで流れる予期せぬパケットが悪影響を与えることがある。
- 最新のドライバへのアップデート
- 古いバージョンのドライバにはバグが潜んでいる可能性があるので、最新版へアップデートする。
上記を実行しても直らない場合にはNICが物理的に壊れている可能性があるので交換する。
スイッチのポート構成
スイッチ側のポートで障害が発生している場合には以下の原因が考えられる。
- Auto negotiationの不規則の発生
- 速度とデュープレックスが一致していない
- スイッチのポート障害
対向とのAuto Negotiationが一致しているかを確認する。まずAuto Negotiationを有効にして接続する。これで正しく接続されるのであれば、お互いにAuto Negotiationが有効になっている。Half Duplexになる場合には対向でAuto Negotiationが無効になっている可能性がある。
次に設定を変えながら、Half Duplex以外になる設定を確認する。Full Duplexになる設定が対向で設定されているパラメータである。
Auto Negotiation、速度、デュープレックスを一致させる。必ずスイッチ側でインタフェースの現在の設定を確認する。
設定を一致させてもhalf duplexにしかならないばあにはポートに障害が発生している可能性があるので、別のポートでテストをしてみる。
スパニングツリー
スパニングツリーが予期せぬ構成になっている場合には特定のポートでフラッピング起きる可能性がある。
計画していたスイッチがルートブリッジになっていることを確認する。ルートブリッジであるかは以下の要領で判断する。
- Designared Rootに自分自身のMACアドレスが入っていない
- Root portが存在している。
ルートブリッジでない場合にはBridge priorityを低い値にしてみてルートブリッジに移行するかを確認する。
特定のスイッチに関してBPDUを無効にしてスパニングツリーを無効にする。ポートの設定でlearningをdisableにしてみる。スパニングツリーが無効になった場合にはDesignated Rootが変更されるはず。
検証目的で一時的にスパニングツリーを無効にしてみる。ただしこれはループに対して脆弱になることを意味するのであくまで一時的な対応とする。
[…] Networkでフラッピングが発生している場合の調査手順 […]