Hyper-Vネットワークアダプター:何か、なぜ、そしてどのように

前のブログ記事では、Hyper-V仮想マシン(VM)の作成方法を説明しました。しかし、Hyper-V VMの作成は、大規模な仮想環境を構築するための最初のステップであるだけであり、その後、Hyper-Vホスト上で実行中のVMが互いに通信できるようにする必要があります。このためには、Hyper-Vのネットワークアダプター、Hyper-Vネットワークの背後の技術、そしてHyper-Vネットワークの設定方法についての知識が必要です。

Hyper-V ネットワーキングについて

A virtual network adapter (also known as virtual NIC) can be regarded as a virtualized version of a physical network adapter. It is used in Hyper-V environments to connect a physical server with other servers, VMs, or any other networking devices over a LAN connection. In short, vNIC enables and manages all network communications.

各VMには1つまたは複数のvNICがあり、これらは单一のサブネットに接続するために使用されます。しかし、このNICに追加のIPアドレスを割り当てることで、複数のサブネットにアクセスすることができます。

あなたのコンピュータ上でHyper-V機能をインストールし、新しいVMを作成する际には、デフォルトで存在するネットワーク設定に注意する必要があります。

  1. Windows 10以前のWindowsバージョンには仮想スイッチが存在しません。しかし、Windows 10でHyper-Vを有効にした場合、デフォルトのスイッチを使用して無缝なネットワーク機能を実現できます。これは、ホストのネットワークにアクセスするために使用されます。
  2. Hyper-V仮想ネットワークアダプターは、仮想スイッチを通じてVM間の通信を可能にします。しかし、新しく作成されたVMには仮想スイッチが割り当てられていません。新しいVMにはネットワークアダプターがあり、これを1つの仮想スイッチに割り当てることで設定できますが、未配置のままにしておくこともできます。したがって、ネットワーク接続性を有効にするためには、仮想スイッチを作成し、仮想ネットワークアダプターを構成する必要があります。

異なるネットワーク接続レベルを提供する3つの仮想スイッチがあります:

  • 外部仮想スイッチは物理ネットワークアダプターに接続でき、これにより仮想マシンが物理ネットワークにアクセスできます。外部仮想スイッチは、同じ物理コンピューター上の仮想マシン間、仮想マシンと物理コンピューター間の通信を可能にし、また仮想マシンが物理ネットワークにアクセスできるようにします。
  • 内部仮想スイッチは、同じHyper-Vサーバー上で実行されている仮想マシン間、およびそれらの仮想マシンと管理OS間の通信を可能にします。ただし、このタイプのスイッチは物理ネットワークへのアクセスを提供しません。
  • A private virtual switch only ensures connectivity between the VMs that run on the same Hyper-V host. This type of network provides an isolated mode of network connectivity.

もう一つの言及すべきポイントは、VLANタギングです。これは、ネットワーク上で実行されている各パケットに特定のタグ(VLAN ID)を割り当てる方法です。VLANタギングにより、どの情報パケットが特定のVLANに属しているかを識別するプロセスが簡素化されます。その結果、この方法によりネットワークトラフィックを分離し、ネットワーク通信が中断することなく実行されることが保証されます。

Hyper-Vの仮想ネットワークアダプターには、2つのタイプがあります:

  • レガシーネットワークアダプターは物理ネットワークアダプターをエミュレートし、第1世代の仮想マシンとのみ動作します。このタイプのネットワークアダプターは、Hyper-VインテグレーションサービスやLinuxインテグレーションサービスをサポートしていない未照明のゲスト仮想マシンに使用されます。1つのVMに最大4つのレガシーvNiCを展開できます。また、レガシーネットワークアダプターは、Hyper-VでサポートされていないゲストOS間の通信を有効にするために適用されます。レガシーvNiCはゲストOSのネットワークベースのインストールを実行できます。
  • 合成ネットワークアダプターは、Hyper-V Integration ServicesまたはLinux Integration ServicesをサポートするエンライトンゲストVMに使用されます。1つのVMに最大8つの合成vNICを展開できます。通常、これらはレガシーvNICよりも優れたパフォーマンスを提供します。この場合、ネットワーク接続はVMBusによって有効にされ、異なるパーティション間の通信を提供および制御します。さらに、このタイプのネットワークアダプターでは、VLANタギングを使用できます。

Hyper-Vマネージャーで仮想ネットワークアダプターを設定する方法

Hyper-Vネットワークアダプターを有効にして構成する方法には2つの方法があります。グラフィカルユーザーインターフェース(GUI)を使用してHyper-Vマネージャーで行うか、PowerShellスクリプトを実行してPowerShellで行います。両方について詳しく説明します。まず、前者の方法から始めましょう:

  1. Hyper-Vマネージャーを開きます。
  2. Hyper-Vネットワークアダプターを追加したいVMを見つけ、VM名を右クリックします。 設定
  3. 新しいメニューが開き、VM設定に関する情報が提供されます。ハードウェアセクションで、ハードウェアの追加を選択して、VMに追加できるデバイスのリストを表示します。

    この場合、興味があるのは2つだけです:ネットワークアダプターおよびレガシーネットワークアダプター(これは第1世代のVMにのみ利用可能です)。必要なネットワークアダプターを選択し、追加をクリックします。

  4. ここでは、新しいHyper-Vネットワークアダプタを構成できます。仮想スイッチを選択して接続し、VLAN識別を有効にしてVLAN IDを指定し、帯域使用量の最大および最小値を指定できます。

    削除をクリックしてHyper-Vネットワークアダプタを削除することもできます。

  5. 変更を保存するには適用をクリックしてください。

さらに、Hyper-Vマネージャーではハードウェアアクセラレーション設定を変更し、より高度な機能を有効にできます。

  1. ネットワークアダプターをハードウェアセクションの下でダブルクリックします。 ハードウェアアクセラレーションを選択します。ここでは、仮想マシンキュー(VMQ)とIPsecタスクのオフロード、およびオフロードされるSA(セキュリティアソシエーション)の最大数を指定できます。

    Hyper-V仮想マシンキューは、ハードウェア仮想化技術であり、直接ネットワークデータをVM共有メモリに転送します。 IPsecは、ネットワークデータ交換の暗号化に使用されるセキュリティプロトコルです。

    IPsecタスクのオフロードを有効にすると、ネットワークアダプターにIPsec関連のタスクをオフロードしてハードウェアリソースを過剰に使用しないようにできます。

  2. 適用をクリックして変更内容を保存します。
  3. 高度な機能を選択して、仮想ネットワークアダプター上の高度な機能を設定します。これにはMACアドレス、DHCPガード、ルーターガード、保護されたネットワーク、ポートミラーリング、NICチーミングが含まれます。各機能には、その使用方法の簡単な説明が付属しています。それらを読んで、有効にすべき機能を決定します。
  4. 必要なチェックボックスをチェックして、変更内容を保存するには適用をクリックします。

PowerShellを使用したHyper-Vネットワークアダプターの管理

わかるように、Hyper-Vマネージャーでの構成オプションはかなり限られています。さらに、GUIを使用しても、Hyper-VネットワークアダプターをゲストVM用にのみ設定でき、管理OS用には設定できません。このため、PowerShellを使用してより高度な機能と複数の構成オプションを提供することができます。PowerShellでHyper-Vネットワークアダプターを管理する方法を見てみましょう。

Hyper-Vネットワークアダプターを作成する

PowerShellのコマンドレットが機能するには、管理者モードでPowerShellを実行する必要があります。これを行うには、検索バーにPowerShellと入力し、PowerShellアイコンを右クリックし、管理者として実行を選択します。

Add-VMNetworkAdapterコマンドレットを挿入して、Hyper-V VMに新しい仮想ネットワークアダプターを追加します。以下は、このコマンドレットを使用する方法の例です:

Add-VMNetworkAdapter -VMName DemoVM -SwitchName DemoVSwitch –Name ‘Demo Network Adapter’

以下の例は、管理 OS に第二の仮想ネットワーク アダプターを追加する方法を示しています:

Add-VMNetworkAdapter -ManagementOS -Name ‘Second Network Adapter’

Hyper-V ネットワーク アダプターの接続または切断

Connect-VMNetworkAdapter コマンドレットを使用すると、仮想ネットワーク アダプターを選択した仮想スイッチに接続できます。以下の例では、1 つの仮想スイッチ(デフォルト スイッチ)を 2 つの VM(DemoVM と New Virtual Machine)に同時に追加する方法を示しています。両方の VM が実行されていないことを確認してください。

Connect-VMNetworkAdapter -VMName DemoVM, ‘New Virtual Machine’ -SwitchName ‘Default Switch’

Hyper-V ネットワーク アダプターを仮想スイッチまたはイーサネット リソース プールから切断するには、Disconnect-VMNetworkAdapter コマンドレットを使用します。次のスクリプトでは、名前が DemoVM の単一の VM からすべてのネットワーク アダプターを切断できます:

Disconnect-VMNetworkAdapter -VMName DemoVM

この PowerShell スクリプトは、Hyper-V 環境のすべての VM でデフォルト スイッチに接続されているすべての仮想ネットワーク アダプターを切断するために使用できます。デフォルト スイッチ

Get-VMNetworkAdapter -VMName *| Where-Object {$_.SwitchName -eq 'Default Switch'} | Disconnect-VMNetworkAdapter

PowerShell を使用すると、構成をさらに細かく設定できます。特定の VM(DemoVM)で実行されている特定の仮想スイッチ(デフォルト スイッチ)に接続されているすべてのネットワーク アダプターを切断する場合は、以下のコマンドレットを使用してください:

Get-VMNetworkAdapter -VMName DemoVM | Where-Object {$_.SwitchName -eq ‘Default Switch’} | Disconnect-VMNetworkAdapter

これらのPowerShellスクリプトは、特定のVM、管理OS、または仮想環境で実行されているすべてのVM、および管理OSに存在する仮想ネットワークアダプタに関する情報にアクセスするために使用できます。以下にすべてのコマンドレットが示されています:

  • 単一のVMの場合:

Get-VMNetworkAdapter –VMName DemoVM

  • 管理OSの場合:

Get-VMNetworkAdapter -ManagementOS

  • Hyper-V環境内のすべてのVM、管理OSを含む:

Get-VMNetworkAdapter -All

最終スクリプトが適切に実装されている場合、次の画面が表示され、Hyper-Vネットワークアダプタに関する情報が表示されます:

Hyper-Vネットワークアダプタを削除する

このコマンドレットは、VMから1つ以上の仮想ネットワークアダプタ、および管理OSから削除するために使用されます。

次の例では、VM名がのVMからネットワークアダプタNewNetworkAdapter を削除します:

Remove-VMNetworkAdapter -VMName DemoVM -VMNetworkAdapterName NewNetworkAdapter

以下の例は、管理OSからネットワークアダプタSecondaryを削除する方法を示しています:

Remove-VMNetworkAdapter -ManagementOs -Name Secondary

Hyper-Vネットワークアダプタの名前を変更する

Rename-VMNetworkAdapter -VMName DemoVM -NewName ‘ネットワークアダプター2019’

Hyper-V Managerで、DemoVMという名前のすべての仮想マシンのネットワークアダプターが正常に名前が変更されたことを確認できます。

特定の仮想マシン(DemoVM)のネットワークアダプター(ネットワークアダプター2019)に新しい名前を付けるには、次のスクリプトを実行します。

Rename-VMNetworkAdapter -VMName DemoVM -Name ‘ネットワークアダプター2019’ -NewName ‘Hyper-Vネットワークアダプター’

次のコマンドレットを使用して、管理OSのネットワークアダプターの名前を変更できます。

Rename-VMNetworkAdapter -ManagementOs -Name アダプター -NewName ‘通信チャネル’

Hyper-Vネットワークアダプターの設定

このセクションでは、Hyper-V VMまたは管理OSのHyper-Vネットワークアダプターの機能を構成するために使用できるさまざまなコマンドレットがリストされています。すべての構成オプションを十分に探索するには多くの時間がかかる可能性があります。そのため、PowerShellを介して有効にできるいくつかの機能についてのみ議論します。

たとえば、次のスクリプトを実行してDHCPガードを有効にできます。 DHCPガードは、ゲストOS側からの未承認のアクセスからシステムを保護するために使用されます。

Set-VMNetworkAdapter -VMName DemoVM -DhcpGuard On

さらに、ポートミラーリングを有効にすることができます。これにより、1つの仮想ネットワークアダプタのネットワークパケットをコピーして別のアダプタに送信することができます。2つのミラーリングモードがあります。ソースモードとデスティネーションモードです。ソースモードを選択することで、この特定のネットワークアダプタのネットワークトラフィックがコピーされ、監視用のVMに送信されることに同意します。そのVMのネットワークアダプタはデスティネーションミラーリングモードに割り当てられます。この機能を使用するためには、各ソースネットワークアダプタにデスティネーションネットワークアダプタを割り当てる必要があります。

ソースモードでポートミラーリングを有効にするには、次のスクリプトを実行します:

Set-VMNetworkAdapter -VMName DemoVM –Name ‘Hyper-V network adapter’-PortMirroring Source

このコマンドは、DemoVMという名前のVMでポートミラーリング機能を有効にし、その仮想ネットワークアダプタにソースの役割を割り当てます。

次の例では、モニタリングという名前の仮想ネットワークアダプタがポートミラーリングの宛先ポイントとして構成されています。その結果、DemoVM(’ソース’)という名前のVMは、「New Virtual Machine」(宛先)という名前のVMのすべてのネットワークトラフィックを監視します。

Set-VMNetworkAdapter -VMName ‘New Virtual Machine’-Name Monitoring -PortMirroring Destination

以下のコマンドレットは、VLAN識別の有効化および特定のVLAN IDの割り当てに使用できます:

Set-VMNetworkAdapterVlan -VMName DemoVM -VMNetworkAdapterName ‘Hyper-V network adapter’ -Access -VlanId 20

特定のHyper-Vネットワークアダプター(Hyper-Vネットワークアダプター)にVLANタグ付けを有効にします。このアダプターは特定のVM(DemoVM)に接続されています。

または、VLANタグ付けを無効にする場合は、次のコマンドレットを入力してください:

Set-VMNetworkAdapterVlan -VMName DemoVM -VMNetworkAdapterName ‘Hyper-Vネットワークアダプター’ -Untagged

PowerShellコマンドレットの主な利点は、自由に配置して包括的なスクリプトを作成できることです。これらのおかげで、Hyper-V環境の管理と設定のプロセスを大幅に最適化できます。

NAKIVO Backup&ReplicationでHyper-V環境を保護する方法

NAKIVO Backup&Replicationは、仮想環境の24/7保護を提供する信頼性の高いコスト効果の高いソリューションです。これにより、最も重要なデータやミッションクリティカルなアプリケーションを、災害の場合でも迅速に回復できます。NAKIVO Backup&Replicationには、高速かつ効率的なバックアップ、レプリケーション、およびシステムの復旧を可能にする包括的なツールセットが含まれています。

このソリューションを使用すると、インフラストラクチャ内のネットワーク操作を最適化することで、バックアップとレプリケーションのジョブのパフォーマンスを大幅に向上させることができます。そのため、NAKIVO Backup&Replicationは次の機能を提供しています:

  • ネットワークの加速は、トラフィック削減とデータ圧縮ツールを適用し、WANを介して転送されるデータ量を大幅に減らすことができます。これらの結果は、ソースとターゲットの両方にインストールされた2つのトランスポータを使用して達成されます。ソースサイトのトランスポータは、ネットワークを介して送信される前にVMデータを圧縮し、一方、ターゲットサイトのトランスポータは受信したデータを解凍します。その結果、VMのバックアップおよびレプリケーションジョブの速度を大幅に向上させ、ネットワーク負荷を軽減できます。
  • 高度な帯域幅制御を使用すると、特定のデータ保護ジョブで使用される帯域幅を制限するデータ転送速度制限を設定できます。このためには、バックアップ操作中にどれだけの帯域幅が消費されるかを制御するグローバルまたはジョブごとのルールを作成する必要があります。これらのルールは、異なるデータ保護ジョブや異なるスケジュールに適用できます。この機能を使用すると、ネットワークがビジネス時間中でも過負荷にならないようにすることができます。
  • ネットワークマッピングとRe-IPは、ソースサイトとターゲットサイトが異なるネットワークに接続され、異なるIPアドレスを持つ場合に、レプリケーション、フェイルオーバー、およびサイトリカバリージョブで使用されます。災害復旧中に問題が発生しないようにするには、ネットワークマッピングとRe-IPルールを作成する必要があります。これらのルールにより、ソース仮想ネットワークを適切なターゲット仮想ネットワークにマッピングし、災害復旧イベント中にソースIPアドレスをターゲットIPアドレスにマッピングできます。これらの機能により、ネットワーク構成のプロセスを効率的に最適化し、自動化することができます。

Source:
https://www.nakivo.com/blog/hyper-v-network-adapters-what-why-and-how/