Hyper-Vとネットワーク

これはおそらく、Hyper-Vアーキテクチャに関するシリーズの最終記事になるでしょう。 あるフォーラムで、「Hyper-Vと目に見えない仮想マシン」、「Hyper-VとLinuxの秩序」という続編を書くことを勧められました。







そのため、この記事では、Hyper-V環境の仮想マシンがネットワークインターフェイスでどのように機能するかについて説明します。 前の記事で述べたように、ネットワークインターフェイスは、仮想マシンが相互に、および「外の世界」と対話する唯一の方法です。 したがって、Hyper-V環境でのネットワークの機能を理解する必要があります。



ネットワークアダプター



Hyper-Vマネージャーで確認できるように、仮想ネットワークアダプターには、ネットワークアダプターとレガシネットワークアダプターの2種類があります。 それらは、最初のものが合成デバイスであり、2番目のものがエミュレートされるという点でそれらの間で異なります。 合成デバイスとエミュレートされたデバイスとの違いは、最初の記事「Hyper-Vアーキテクチャ」で確認できます。 興味のある方は、レガシーネットワークアダプターはDEC 21140 10 / 100TX 100 MBマルチポートネットワークカードをエミュレートし(したがって10/100 Mbpsのみをサポートします)、64ビットバージョンのWindows XPおよびWindows Server 2003ではサポートされません。

合成デバイスの使用が常に望ましいことを説明する価値はないようです。そのため、新しい仮想マシンを作成するときに、デフォルトでネットワークアダプターが追加されます。 レガシーネットワークアダプタの使用は、次の2つの場合にのみ推奨されます。



これを行うには、仮想マシンを作成するときに[仮想マシンを自動的に起動する]チェックボックスをオフにし、仮想マシン構成を入力したら、ネットワークアダプターを手動で削除してレガシーネットワークアダプターを追加します。

また、仮想アダプターへのMACアドレスの割り当てについて言及する価値があります。 仮想マシンの作成時に自動的に割り当てることができます(また、発行するMACアドレスの範囲はHyper-Vサーバーの設定で変更できます)か、仮想マシンの構成を介して手動で割り当てることができます。



仮想ネットワーク



もちろん、ネットワークアダプターがある場合は、どこかに接続する必要があります。 このため、Hyper-Vには仮想ネットワーク(仮想ネットワーク)があり、本質的には最も一般的な仮想スイッチです。 各仮想スイッチは、仮想マシンのネットワークインターフェイスとサーバーの物理ネットワークインターフェイスの両方に接続できます。 仮想ネットワークには3つのタイプがあり、それらを理解しやすくするために、図を見てください。



サーバーには2つのネットワークインターフェイスがあります。 ホストOSがインストールされ、インターフェイスが設定されると、TCP / IPが各インターフェイスに接続され、他のプロトコルとそれに応じて-ネットワーク設定が割り当てられます(IPアドレス、サブネットマスク、ゲートウェイアドレス、およびDNS)-静的または動的に、この場合-それは重要ではありません。



仮想ネットワーク(仮想スイッチ)には、外部、内部、プライベートの3つのタイプがあります。 外部 -「外の世界」にアクセスできる仮想ネットワーク。 外部タイプのネットワークを作成する場合、外部への出力が実行されるネットワークインターフェイスを指定する必要があります(物理アダプタ2)。 この場合、物理インターフェースはすべてのネットワーク設定を失い、ホストOS(仮想アダプター1)に仮想アダプターが作成され、必要なすべてのプロトコルと設定がバインドされます。 物理インターフェイスには、仮想ネットワークスイッチングプロトコルという1つのプロトコルのみが残ります。 さらに、Windows Server 2008 R2では、外部タイプのネットワークを作成することが可能になりましたが、それでもホストOSからそれらを分離します。 これは、「管理オペレーティングシステムがこのネットワークアダプターを共有することを許可する」のチェックを外すことで実行されます。



注意:外部タイプの仮想ネットワークを作成すると、ネットワーク接続が短時間切断され、すべての設定が新しい仮想アダプターに転送されます。 これは、設定をリモートで実行する場合は最初に覚えておく必要があります-接続が中断される可能性があり、次にWindowsファイアウォールを再設定してルールを新しい仮想インターフェイスにバインドする必要がある場合があります。

内部 -仮想インターフェースのみが接続できる内部仮想ネットワーク-仮想マシンとホストOS。 タイプが内部のネットワークは物理インターフェイスに関連付けられていないため、出口がありません。

プライベートは内部と同じですが、そのようなネットワークに接続できるのは仮想マシンのみです。 プライベートネットワークは、「外部」またはホストOSにアクセスできません。

理解を深めるために、仮想スイッチに接続されるインターフェイスと設定が異なるインターフェイスを示すテーブルを作成します。





VLANを使用する



Hyper-VはVLAN(IEEE 802.1Q)をサポートします。 これを行うには、仮想ネットワークインターフェイスのプロパティに、「VLAN IDを有効にする」チェックマークがあります。有効化後、VLAN IDを入力できます。 まず、もちろん、トラフィックに適切なIDがタグ付けされるようにスイッチを構成し、もちろん、必要な機能をサポートするホストOSにネットワークアダプタードライバーをインストールする必要があります。



Dmitry Makarovの記事で、VLANで動作するように仮想マシンを構成する方法について詳しく読むことができます。



VMQ



Windows Server 2008 R2で導入された新機能-仮想キューのサポート、VMQについて言及せずに記事を終了することはできません。

VMQサポートにより、仮想マシン宛てのネットワークパケットの処理コストのほとんどをホストOSからネットワークアダプタープロセッサーの肩に転送できます。 もちろん、ネットワークアダプターがこれをサポートし、統合コンポーネントがゲストOSにインストールされている場合に限ります。

VMQが使用されていない場合、ネットワークパケットの処理は次のように行われます。



同時に、親OSのスペースで動作する仮想スイッチは、仮想マシンによるトラフィックの分散とVLANタグによるフィルタリングに関与します。 多数の仮想マシンと大量のトラフィックを使用すると、サーバープロセッサにはネットワークパケットの処理以外のタスクがあるため、パフォーマンスが低下する可能性があります。 VMQを使用すると、パケットの処理をネットワークアダプターのプロセッサーの肩にシフトできます。



VMQをサポートするネットワークアダプターは、ネットワークパケットの必要な処理を独立して実行し、対応する仮想マシンのメモリ領域に直接データを書き込むことができます。

データ転送は、VMQの場合と同様に、通常どおりです。仮想ネットワークアダプター-VMBus-仮想スイッチ-物理ネットワークアダプター。



結論の代わりに



これで、この記事を終えると同時に、Hyper-Vのアーキテクチャに関する話をしたいと思います。 結論として-ライブマイグレーションに関する記事を書きたいと思っています。 それは聴衆にとって興味深いものでしょうか、それとも誰もがそれについて聞いたことがあり、誰もがそれについて知っていますか?



All Articles