今日、vSphere 5の熱から少し注意をそらして、標準vSwitchの基本、特にスパニングツリープロトコルなしでどのように機能するかを思い出したいと思います。
スイッチングの最も簡単な知識をすでにお持ちで、VLAN、スイッチングループ、スパニングツリープロトコル、およびいくつかのタイプのリンクアグリゲーションプロトコルが何であるかを知っていると思います。 標準vSwitchの主な機能について簡単に説明します。少なくとも、私にとっては興味深いと思われる、または公式ドキュメントではあまり明らかではない事実に焦点を当てます。 これは、以下の混乱も意味します。
標準vSwitch(またはvNetworking Standard Switch別名vSS)の主な目標は、仮想マシンと物理ネットワークインフラストラクチャ間の通信を提供することです。 さらに、ポートグループを使用して仮想マシンを論理的に分離し、1つのESXiホストに複数のアップリンクがある場合にさまざまなバランシングアルゴリズムを提供し、仮想マシンからvSSへの発信トラフィックシェーピングを提供し、最後にアップリンク障害を検出できますトラフィックを残りのアップリンクに自動的に切り替えます。
それでは、物理スイッチとの主な違いは何ですか?物理スイッチとは異なり、vSSは同じブロードキャストドメイン内のすべてのデバイスのMACアドレスを学習する必要はありません。 すべての仮想マシンにはESXiによって割り当てられたMACアドレスがあるため、vSSはすべてのデフォルトアドレスをすでに知っています。 もう1つの特徴的な機能は、vSSがポートを内部ポートとアップリンクの2つのタイプに明確に分割し、異なるスイッチングルールを適用することです。
ポートグループとVLANポートグループは、内部ポートの構成テンプレート(VLAN番号、シェーピング、トラフィックバランシングなど)を定義します。 仮想マシンをvSSに接続するときに、使用するポートグループを指定するだけで、事前定義された設定が適用されます。 たとえば、特定のポートグループの仮想マシンについて、特定のインターフェースのみをアップリンクとして使用し、残りのインターフェースをバックアップとして使用するように指定できます。 もう1つの良い例は、仮想マシンでMSネットワーク負荷分散クラスターをユニキャストモードで構成する場合です。 この場合、これらの仮想マシン用に個別のポートグループを作成し、それらの仮想マシンで[スイッチに通知]オプションを無効にする必要があります。
非常に頻繁に、ポートグループは物理スイッチ上のVLANと比較されますが、これは実際には完全に間違った比較です。 これは、ほとんどの場合、vSphere管理者がポートグループを使用して仮想マシンを異なるVLANに分割しているためだと思います。 ただし、常にそれらから直接の対応があります。 MSネットワーク負荷分散に関する前述の例は、この優れた証拠です。vSphereには、MSネットワーク負荷分散サーバー用と他のサーバー用の2つのポートグループがあります。 同時に、両方のポートグループの仮想マシンは同じVLANに属します。
さて、ポートグループとVlanのもう1つの違いはこれから続きます。 異なるvlan-ahのコンピューターは直接通信できません。 トラフィックをルーティングするにはL3デバイスが必要か、vlan-s間のブリッジを有効にする必要がありますが、ユニキャストトラフィックはポートグループ間で自由に送信できます。
私にとって大きな驚きは、昨日vlan 4095がオープンしたこと、またはvSS上のすべてのトラフィックを完全にリッスンできることでした。 原則として、公式ドキュメントではVMware vlan 4095はVGT-仮想ゲストvlanタギングとして示されています。 これにより、vlanタグを仮想マシン自体に転送して、このトラフィックをどう処理するかを決定できるようになります。 実際には、これはあまり使用されません。vSSがvlanタグを削除し、対応するポートグループにトラフィックを送信する場合、VST(仮想スイッチvlanタギング)がより頻繁に使用されます。 VGTはまったく使用していませんので、簡単に読みました。 ポートグループを作成してvlan 4095を割り当て、このポートグループでプロミスシャスモードを有効にしてから仮想マシンを配置すると、wiresharkを解凍し、このvSSに接続されているすべてのマシンからトラフィックを静かに収集して分析できることがわかります。 別の有用な実用的なアプリケーションは、トラフィック検査の目的でこのようなポートグループに仮想IDSを配置することです。
アップリンク-トラフィックバランシングvSphere 4.1では、単一の仮想スイッチで最大32個のアップリンクを使用できます。 アップリンクは1つのvSSでのみ使用できます。つまり、同じアップリンクを別のvSSで使用することはできません。 また、トラフィックが1つのvSSから別のvSSに直接送信されることはありません。 それらの間のトラフィックは、L3デバイスへのアップリンクか、L3デバイスとして機能する仮想マシンへの内部仮想ポートを経由する必要があります。
99%の状況では、ESXiホストに複数のアップリンクがあり、2つ以上のアップリンクにトラフィックを分散する方法を決定する必要があります。 デフォルトでは、これらのルールはvSSに適用されますが、必要に応じて特定のポートグループでも変更できます。
vSSには3つの主要なトラフィックバランシングポリシーがあります。
- 発信元の仮想スイッチポートIDに基づいたルート-6つの仮想マシンがあり、唯一のvSSに2つのアップリンクがあるとします。 最初の仮想マシンをオンにすると、vSSは最初のアップリンクを割り当てます。この仮想マシンは、オフにしてから再びオンにするまで、この仮想マシンが常に使用します。 2番目のマシンには2番目のアップリンクが割り当てられ、3番目のマシンには再び1番目のアップリンクが割り当てられます。 別のアップリンクへの切り替えは、メインリンクが落ちた場合にのみ実行できます。 物理スイッチから仮想マシンへのトラフィックは常に同じアップリンクで返されます。これは、このアップリンク上でのみ物理スイッチが仮想マシンのMACアドレスを認識するためです。
- ソースMACハッシュに基づくルート-前の方法と本質的に同じ方法ですが、この場合、仮想マシンのMACアドレスのハッシュがアップリンクの選択に使用されます。
- IPハッシュに基づくルート-この場合、vSSはソースと宛先のIPアドレスのハッシュを使用してアップリンクを選択します。 つまり、2つのIPアドレス間のセッションは常に同じアップリンク上で行われるため、パケット配信の正しい順序が保証されます。 物理スイッチでは、同じように802.3ad標準のサポートを有効にする必要があります-ハッシュされた送信元アドレスと宛先アドレス、それらに1つのアップリンクのみを使用し、パケットの正しい順序を保証します。 ところで、仮想マシンからのトラフィックが1つのアップリンクを通過し、別のアップリンクに戻る場合、絶対に重要ではありません。
最も一般的なトラフィック分散シナリオの1つは、スパニングツリープロトコルを使用する物理スイッチで使用されるシナリオと非常によく似ています。異なるVLANが異なるアップリンクに移動し、アップリンクの1つがこれらのVLANのすべてのトラフィックを「ドロップ」するまで、 s残りのアップリンクに切り替えます。 同様に、ESXiでは、同じvSSに2つのポートグループを作成します。 最初のポートグループについては、最初のアップリンクがアクティブ、2番目がバックアップとして示されます。 2番目のポートグループは、まったく逆に構成されます。 したがって、物理スイッチへの帯域幅のより効率的な使用を実現し、同時に冗長性を失うことはありません。
vSphere管理者は、vMotionまたはFTトラフィックにのみ個別のアップリンクペアを割り当てることがありますが、これは非常にまれなケースですが、vMotionまたはFTトラフィックは複数のインターフェイスに分散されているため、インターフェイスの無駄です。 ほとんどの場合、インターフェイスの1つは単純にアイドル状態になります。
発信シェーピングvSSを使用する場合、仮想マシンからvSSへの発信トラフィックのみをシェーピングできます。 たとえば、原則として、これはvMotionトラフィックを形成するのに十分です。 しかし、残念ながら、物理マシンからの着信トラフィックをシェーピングすることはできません。
それでは、なぜvSSはスパニングツリープロトコルを必要としないのですか?- 物理スイッチから仮想スイッチに送信されるすべてのSTP BPDUパケットは単に無視されます
- アップリンクの1つを介してvSSが受信するパケットは、別のアップリンクを介して送信されることはありません。 彼にとって唯一の方法は、仮想マシンの1つまたはVMKインターフェイスへのアクセスです。 つまり、vSSを介したループは、
- vSSがまだ不明なユニキャストアドレスでブロードキャスト、マルチキャスト、またはパケットを送信すると、物理スイッチはすべてのポートに確実にリダイレクトします。 したがって、vSSはすべての着信パケットのソースアドレスをチェックし、仮想マシンまたはVMKインターフェイスのいずれかのMACアドレスがそこで検出された場合、そのようなトラフィックは無視されます。 したがって、物理スイッチを介したループの問題は解決されます
- 仮想マシンによって送信されたブロードキャストおよびマルチキャストトラフィックは、同じポートグループのすべてのポートに送信されます。 このトラフィックのコピーは、トラフィックバランシングポリシーに従って選択された1つのアップリンクのみの物理スイッチに送信されます
- vSSはすでにすべてのMACアドレスを知っているため、未知のMACアドレス宛てのすべてのパケットを破棄します。 同じパケットが仮想マシンによって未知の宛先に送信された場合、トラフィックバランサーによって既に選択されたアップリンクを介して通常の方法でルーティングされます
これはすべて、vSSと物理スイッチの間に多くのアップリンクを使用できることを基本的に証明していますが、トラブルシューティングが困難なスパニングツリープロトコルは必要ありません。
同志Ivan Pepelnjakの素晴らしい
ブログとVMwareの公式ドキュメントからほとんどの情報をまとめました。