VMによって送信されるLLDPパケットによるDell Networking FCoEセッションの問題。
Summary: 仮想マシンによって送信されたリンク レイヤー検出プロトコル(LLDP)パケットによるFCoEセッションの問題。この問題により、インターフェイスのフラッピングが発生することがあります。または、LLDPを再列挙して問題をトリガーする手動アクションを実行するまで、問題が発生しません。
Symptoms
- FCoE環境へのホスト通信の切断
- ストレージ通信が常に応答を停止するか、フラップします。
- 安定した環境では、LLDPを再列挙する手動アクションが実行されると、すべてのFCoE VLANの完全な停止が発生することがあります。たとえば、VLANの追加や、vDSでのLLDPの無効化などです。
Cause
この記事は、VMが誤ってLLDPパケットを(FIP/FSB)スイッチに送信し、スイッチへのFCoE接続が切断されるFCoE環境に対する追加の保護を提供することを目的としています。問題のある状態では、スイッチのSyslogに次のメッセージが表示されます
エラーメッセージ: "LLDP_MULTIPLE_PEER_DETECTED: DCBX operationally disabled due to more than one PEER being present on interface" OSからLLDPを有効にする場合)
警告メッセージ:
-------------------------------------LLDP_MULTIPLE_PEER_DETECTED: DCBX
-------------------------------------
次の2つの問題が考えられます。
- VMware vDSがLLDPパケットを送受信しているか、LLDPパケットのみを送信しています。
- 通常、これは、VMware vDSのLLDP構成が「Both(リッスンとアドバタイズ)」に設定されている場合、または「アドバタイズ」に設定されている場合に発生します。
- VMは、VMware vDSを介してLLDPパケットを送信しています。
- VMのオペレーティング システムがLLDPパケットを送信してその存在をアドバタイズしている場合、FCoE操作の性質上、FCoE接続が切断されます。
スイッチが複数のLLDPネイバーを認識し、問題のある状態にあることを示すもう1つの兆候:
ネットワークは、次の場合でも完全に安定しているように見える場合があります
"show lldp neighbors" スイッチが問題のある状態にあることを示します。ただし、VLANの追加やvDSでのLLDPの無効化などの手動アクションを実行すると、すべてのFCoEセッションで完全なアウテージがトリガーされる可能性があります。
なぜこのようなことが起こるのでしょうか
FCoEはDCBxに依存しており、DCBxはLLDPで実行されるプロトコルです。
「DCBX は Link Layer Discovery Protocol(LLDP)を使用して、2 つのリンク ピア間でパラメータを交換します。LLDPは単方向プロトコルです。ローカル ステーションに関する接続と管理情報を、同じ IEEE 802 LAN 上の隣接ステーションにアドバタイズします。- https://www.ieee802.org/1/files/public/docs2008/az-wadekar-dcbx-capability-exchange-discovery-protocol-1108-v1.01.pdf
「DCBXは、ポイントツーポイントリンク上で動作することが期待されています。複数の LLDP ネイバーが検出された場合、DCBX は、複数の LLDP ネイバー状態がなくなるまで、ピアの DCBX TLV が存在しないかのように動作します。LLDP ネイバーは、論理 MAC Service Access Identifier(MSAP)によって識別されます。論理MSAPは、LLDPDUで送信されるシャーシIDとポートIDの値を連結したものです。- https://www.ieee802.org/1/files/public/docs2008/az-wadekar-dcbx-capability-exchange-discovery-protocol-1108-v1.01.pdf
LLDP が再列挙されるような変更を行うと、FCoE の TLV 機能がすぐに破損する可能性があります。
Resolution
オプション1)Broadcom KBごとにvDSのLLDPモードを変更します
オプション2)これから行うことは、VMからのLLDPパケットをブロックするVMware vDSフィルタリング ポリシーを追加することです。この構成だけで、そのvDSポート グループの下にあるすべてのVMからのLLDPパケットをブロックします。*この問題は、VMware標準vSwitchでも発生する可能性がありますが、回避策またはフィルタリング オプションはありません。お客様は、VMがLLDPフリーであることを確認する必要があります。
手順
リファレンス:VMware トラフィック フィルタリング ガイド
- vSphere Clientで分散ポート グループまたはアップリンク ポート グループを見つけます。
- 分散スイッチを選択し、ネットワークタブをクリックします。
- 分散ポート グループをクリックして分散ポート グループのリストを表示するか、アップリンク ポート グループをクリックしてアップリンク ポート グループのリストを表示します。
- 分散ポート グループまたはアップリンク ポート グループをクリックし、構成タブを選択します。
- [Settings] で [Traffic Filtering And Marking] を選択します。
- [有効化して並べ替え] ボタンをクリックします。
- [すべての交通ルールを有効にする] をクリックします。
- 「OK」をクリックします。
- [ADD]ボタンをクリックします。
VMware MAC Traffic Qualifier リファレンス ガイド。
- [ルール] ウィンドウで、以下のパラメーターを設定します。
- アクションを説明するルールに「名前を付けます」。
- [アクション]フィールドで、[ドロップ]を選択します。
- [トラフィックの方向] で [イングレス] を選択します。
- [MAC]タブをクリックします。
- [Enable qualifier]チェックボックスをオンにします。
- [EtherType]フィールドで、次の操作を行います。
- [IS]を選択します。
- [Custom]を選択します。
- LLDP ethertypeとして「88CC」と書き込みます。
- 「OK」をクリックします。
- 最後に、以下の構成が必要です。
- 選択したVMからLLDPパケットがブロックされているかどうかを確認します。
- Portsタブをクリックします。
- vDS ポートID を選択します。ここで、はVMです。
- Statisticsタブをクリックします。
- [Dropped - Ingress Packets]にチェックを入れます。
- Portsタブをクリックします。
11 これで構成は終了です。