vSphere Distributed Switch を使用すると、スイッチに関連付けられているすべてのホストのネットワーク構成を統合管理して監視できます。vCenter Server システム上に Distributed Switch を設定すると、その設定は、スイッチに関連付けられているすべてのホストに伝達されます。

図 1. vSphere Distributed Switch のアーキテクチャ

vSphere Distributed Switch アーキテクチャ。

vSphere のネットワーク スイッチは、データ プレーンと管理プレーンの 2 つの論理セクションで構成されています。データ プレーンは、パケットの切り替え、フィルタリング、タギングなどを実装します。管理プレーンは、データ プレーン機能の構成に使用する制御構造です。vSphere 標準スイッチには、データ プレーンと管理プレーンの両方が含まれており、各標準スイッチを個別に構成および管理します。

vSphere Distributed Switch では、データ プレーンと管理プレーンが分離されています。Distributed Switch の管理機能は、vCenter Server システムにあり、データセンター レベルで環境のネットワーク構成を管理できます。データ プレーンは、Distributed Switch に関連付けられている各ホストにローカルに保持されます。Distributed Switch のデータ プレーン セクションは、ホスト プロキシ スイッチと呼ばれます。vCenter Server(管理プレーン)で作成するネットワーク構成は、すべてのホスト プロキシ スイッチ(データ プレーン)に自動的にプッシュ ダウンされます。

vSphere Distributed Switch では、物理 NIC、仮想マシン、および VMkernel サービスの整合性のあるネットワーク構成を作成するために使用する 2 つの抽象化が導入されています。

アップリンク ポート グループ
アップリンク ポート グループまたは dvuplink ポート グループは、Distributed Switch の作成時に定義され、1 つ以上のアップリンクを設定できます。アップリンクは、ホストの物理接続や、フェイルオーバーおよびロード バランシング ポリシーを構成するために使用するテンプレートです。ホストの物理 NIC を Distributed Switch のアップリンクにマッピングします。各物理 NIC は、ホスト レベルで特定の ID を使用してアップリンク ポートに接続されます。アップリンクを介してフェイルオーバーおよびロード バランシング ポリシーを設定すると、ポリシーは自動的にホスト プロキシ スイッチ(データ プレーン)に伝達されます。このように、Distributed Switch に関連付けられているすべてのホストの物理 NIC に整合性のあるフェイルオーバーおよびロード バランシング構成を適用できます。
分散ポート グループ
分散ポート グループは、ネットワーク接続を仮想マシンに提供し、VMkernel トラフィックに対応します。現在のデータセンターに固有のネットワーク ラベルを使用して、各分散ポート グループを識別します。NIC チーミング、フェイルオーバー、ロード バランシング、VLAN、セキュリティ、トラフィック シェーピング、およびその他のポリシーを分散ポート グループに構成します。分散ポート グループに接続されている仮想ポートは、分散ポート グループに構成された同じプロパティを共有します。アップリンク ポート グループと同様に、 vCenter Server(管理プレーン)の分散ポート グループに設定する構成は、ホスト プロキシ スイッチ(データ プレーン)を通じて Distributed Switch のすべてのホストに自動的に伝達されます。このように、仮想マシンを同じ分散ポート グループに関連付けることで、同じネットワーク構成を共有する仮想マシンのグループを構成できます。

たとえば、データセンターに vSphere Distributed Switch を作成し、2 つのホストを関連付けるとします。3 つのアップリンクをアップリンク ポート グループに構成し、各ホストからアップリンクに物理 NIC を接続します。各アップリンクには各ホストの 2 つの物理 NIC がマッピングされます。たとえば、アップリンク 1 は、ホスト 1 とホスト 2 の vmnic0 で構成されます。次に、仮想マシン ネットワークおよび VMkernel サービスのための本番ネットワークと VMkernel ネットワークの分散ポート グループを作成します。本番ネットワークと VMkernel ネットワークのポート グループの表現は、ホスト 1 とホスト 2 にもそれぞれ作成されます。本番ネットワークと VMkernel ネットワークのポート グループに設定するすべてのポリシーは、ホスト 1 とホスト 2 の各表現に伝達されます。

ホスト リソースを効率的に使用するため、プロキシ スイッチの分散ポート数は動的に増減されます。このようなホストのプロキシ スイッチはホストでサポートされているポートの最大数まで拡張可能です。ポートの限界はホストが処理できる仮想マシンの最大数に基づいて決まります。

vSphere Distributed Switch のデータ フロー

仮想マシンや VMkernel アダプタから物理ネットワークへのデータ フローは、分散ポート グループに設定されている NIC チーミングおよびロード バランシング ポリシーによって異なります。データ フローは、Distributed Switch のポートの割り当てにも左右されます。

図 2. vSphere Distributed Switch の NIC チーミングおよびポートの割り当て
仮想マシンおよび VMkernel ネットワークの vSphere Distributed Switch ポート

たとえば、3 個の分散ポートがある仮想マシン ネットワークの分散ポート グループと 2 個の分散ポートがある VMkernel ネットワークの分散ポート グループを作成するとします。Distributed Switch は、0 ~ 4(分散ポート グループの作成順)の ID を使用して、ポートを割り当てます。次に、ホスト 1 とホスト 2 を Distributed Switch に関連付けます。Distributed Switch は、ホストの各物理 NIC にポートを割り当てます。ポート番号は上記の続きとなる 5 から始まり、ホストの作成順に割り当てられます。各ホストのネットワーク接続を提供するには、vmnic0 をアップリンク 1、vmnic1 をアップリンク 2、vmnic2 をアップリンク 3 にマッピングします。

仮想マシンに接続し、VMkernel トラフィックに対応するには、仮想マシン ネットワークと VMkernel ネットワークのポート グループにチーミングおよびフェイルオーバーを構成します。アップリンク 1 とアップリンク 2 は仮想マシン ネットワークのポート グループのトラフィックを処理し、アップリンク 3 は VMkernel ネットワークのポート グループのトラフィックを処理します。

図 3. ホスト プロキシ スイッチのパケット フロー
ホスト プロキシ スイッチの NIC チーミングおよびポート配分

ホスト側では、仮想マシンおよび VMkernel サービスからのパケット フローは、特定のポートを通過して物理ネットワークに到達します。たとえば、ホスト 1 の仮想マシン 1 から送信されるパケットは、まず仮想マシン ネットワークの分散ポート グループのポート 0 に到達します。アップリンク 1 とアップリンク 2 は、仮想ネットワークのポート グループのトラフィックを処理するため、パケットはアップリンク ポート 5 またはアップリンク ポート 6 から続行できます。パケットがアップリンク ポート 5 を通過する場合は vmnic0 に進み、パケットがアップリンク ポート 6 を通過する場合は vmnic1 に進みます。