Hyper-Vのネスト型仮想化について
Hyper-Vのネスト型仮想化は、Windows Server 2016およびWindows 10で初めて導入された機能であり、サーバーだけでなくワークステーションでも利用可能です。この機能の導入により、Microsoft Hyper-Vハイパーバイザーの適用範囲が拡大されました。このブログ記事では、ネスト型仮想化とは何か、およびMicrosoft Hyper-Vにおけるネスト型仮想化のユースケース、要件、制限事項について解説します。
ネスト型仮想化とは何か?
Microsoft Hyper-V のネスト型仮想化は、Hyper-V ホスト上で実行されている他の Hyper-V 仮想マシン (VM) 内に、さらに仮想マシン (VM) を作成できる機能です。VM 内で実行されるこれらの仮想マシンは、ネスト型 VM と呼ばれます。なお、 VMware では、ネスト型仮想化も設定可能です 環境。
ユースケース
仮想環境におけるネスト型仮想化のユースケースには、以下のようなものがあります:
Creating isolated environments. この機能を使用すると、隔離された仮想ネットワークを介して相互に接続されたネストされた仮想マシンを作成できます。これにより、通常の仮想マシンやネットワークに影響を与えない、完全に隔離された環境を構築することが可能です。Training/testing/development. トレーニングは、新規ユーザーや管理者にソフトウェアを習得してもらうため(あるいは既存のユーザーや管理者に新しいソフトウェアを習得してもらうため)に有用です。しかし、本番環境でのトレーニングは、システムの不安定化や、場合によっては障害につながる可能性があります。ネスト型仮想化を利用すれば、実際の本番環境に影響を与えることなく、ネストされたVM上で本番環境をシミュレートすることができます。管理者向けのトレーニングに加え、QAスペシャリスト(テスター)や開発者も、テストや開発の目的でこの種の環境を必要とする場合があります。その利点は、追加の専用ハードウェアを購入することなく、既存の仮想環境内でネストされたVMをこれらの目的に利用できることです。
Building a private cloud. ユーザー向けのセルフサービスポータルを備えた本格的なプライベートクラウドの導入には、多額の費用と多大な労力がかかります。ネスト型仮想化を利用すれば、そのようなクラウドと同一の機能を備えた疑似プライベートクラウドを構築できます。たとえば、Hyper-V Server がインストールされた仮想マシン(VM)を作成し、256 GB の RAM を割り当てることができます。ユーザーは、Hyper-VがインストールされたVM内で、必要に応じてネストされたVMを作成・構成できますが、メモリ制限を超えることはできず、256 GB以上のRAMを消費することはできません。Hyper-VがインストールされたVMには、ホットアド機能を使用して、ダウンタイムなしでメモリや仮想ネットワークアダプタを追加できます。
要件および制限事項
Hyper-V でネスト型仮想化を実装するには、以下の要件を満たす必要があります。
- ホストオペレーティングシステムは、以下の条件を満たしている必要があります。 Windows Server 2016 または Windows 10(アニバーサリー・アップデート)以降。
- Hyper-V 仮想マシンはバージョン 8 以降である必要があります。
- 物理サーバーには、適切な仮想化機能をサポートする互換性のあるCPUが搭載されている必要があります。
- Windows Server 2016、Windows Server 2019、および Windows 10 において、ネスト型仮想化をサポートしているのは、VT-x および EPT テクノロジーを搭載した Intel プロセッサのみです。
- AMD-V 仮想化機能を備えた AMD プロセッサを使用している場合、Hyper-V のネスト型仮想化をサポートするには、Windows Server 2022 または Windows 11 を使用する必要があります。
- 最新のWindowsバージョンは、AMDおよびIntelのプロセッサの両方をサポートしています。
- VMを実行するには、十分な物理メモリが必要です。
- VMは~であってはならない 動的メモリの使用.
- 必須ではありませんが、SSDディスクを使用することをお勧めします。 VMのパフォーマンスを向上させる、ディスクの転送速度が低いとパフォーマンスが大幅に低下するためです。
ネストされたVM(以下、”最内側のゲスト”とも呼ばれます)をホストするVMには、いくつかの制限があります:
- チェックポイント 実行中のVMには適用できません。
- その仮想マシンのライブマイグレーションが失敗しました。
- 実行時のメモリサイズ変更が機能しません。
注: 上記の3つの制約に関連する特徴 できる 最も親しいゲストのために用意される。
ネストされたVT-x/AMD-Vとは何ですか?
Intel VT-x および AMD-V は、ハードウェア仮想化を可能にするプロセッサ用の命令セットです。ネスト型仮想化を使用する場合、ネストに使用する仮想マシンでこれらの機能のいずれかを有効にする必要があります。そうして初めて、その仮想マシンはプロセッサのハードウェア仮想化機能を利用して、ネストされた仮想マシンを実行できるようになります。
Hyper-Vのネスト型仮想化を有効にし、ネスト型VMを作成する方法
このセクションでは、Windows Server 2019 で Hyper-V のネスト型仮想化を設定する手順について説明します。設定手順は、Windows Server 2016 および Windows Server 2022 でも同様です。
Hyper-V ホストの設定
まず、Hyper-V ホストの設定を行う必要があります:
- 互換性のあるCPU、十分なメモリ、および適切なストレージ容量を備えた物理サーバーを準備してください。
- BIOS で、Intel VT-x などの CPU 仮想化機能が有効になっていることを確認してください。
- Hyper-V Server 2019、Windows Server 2019、または Windows 10 をインストールしてください。
- Hyper-V サーバーの役割を追加する フル機能の Windows オペレーティングシステムを使用している場合は(または Windows 10 で Hyper-V を有効にする). また、グラフィカルユーザーインターフェース(GUI)やサーバーマネージャーを使用することもできます。
ゲストVMの展開
次に、仮想マシンを作成し、ゲストOSをインストールする必要があります:
- Windows Server で Hyper-V 仮想マシンを作成する または Windows 10 で仮想マシンを作成する.
- ゲストVMに、Hyper-Vのネスト型仮想化をサポートするオペレーティングシステムをインストールしてください。具体的には、Windows 10 Anniversary Update以降、またはWindows Server 2016以降をインストールしてください。
この手順では、Windows Server 2016 を使用しています。これより新しいバージョンの Windows を使用することも可能です。
ゲストVMの設定
デフォルトでは、ゲストVMのハードウェア仮想化機能は無効になっています。このVMにHyper-Vロールを追加しようとすると、オペレーティングシステムからエラーが表示されます。
ゲストハイパーバイザーのハードウェア仮想化を有効にするには、PowerShell を使用する必要があります。なお、以下のコマンドを実行するには、ゲスト VM の電源がオフになっている必要があります。
- まず、ゲストVMでハードウェア仮想化が有効になっているかどうかを確認してください。ホストOS(物理マシンにインストールされているもの)で、次のコマンドを実行してください:
Get-VMProcessor -VMName vm_name | fl *“vm_name”の部分には、お使いのVMの名前を指定してください。この例では、VMの名前は”Server2016″です。”WIN2018″は、WindowsとHyper-Vロールがインストールされている物理マシンを表すコンピュータ名です。
- ゲストVM内でハードウェア仮想化を有効にするには、まずVMを停止してから、次のコマンドを実行してください。
Set-VMProcessor -VMName vm_name -ExposeVirtualizationExtensions $true問題がなければ、コマンドを入力した後にメッセージは表示されません。VMが実行中の場合は、次のエラーメッセージが表示されます:
VMのネットワーク接続
次に、VMのネットワーク設定を行う必要があります。ネストされたVMをネットワークに接続するには、次の2つの方法があります: MAC spoofing そして NAT.
- ネストされたVMのネットワーク設定において、実際のローカルエリアネットワーク(LAN)へのアクセスを許可するように構成されている場合、ホストマシンの1つのネットワークアダプタが複数のMACアドレスを保持することになり、これがネットワーク上の問題を引き起こす可能性があります。そのため、
MAC address spoofingこのオプションを有効にする必要があります(このオプションはデフォルトでは無効になっています)。 - 疑似プライベートクラウドが導入されている場合、VMのネットワーク通信においてMACアドレスの偽装は使用できないため、以下の設定を行う必要があります。
NATこの場合。
注: 以下では両方の方法について説明しますが、ここではNAT方式を使用して、Hyper-Vのネスト型仮想化を利用するようにVMを設定します。
MACアドレスの偽装の設定
MACアドレスの偽装を使用する場合は、仮想Hyper-Vホストのネットワークアダプタでこの機能を有効にしてください:
- Hyper-V Server がインストールされている物理マシンで、次のコマンドを入力して MAC アドレスの偽装を有効にします。
Get-VMNetworkAdapter -VMname vm_name | Set-VMNetworkAdapter -MacAddressSpoofing On“”の代わりに、お使いのVMの名前を入力してください。
vm_name. 私たちの場合は、Server2016、前述の通り。
- GUIをご希望の場合は、次の場所へ移動してください。
VM Settings>Network adapter>Advanced featuresそして、Enable MAC address spoofingチェックボックスにチェックを入れ、”OK”をクリックします。
NATの設定
NAT を有効にするには、PowerShell を使用する必要があります。これまでのコマンドはホスト OS で実行されましたが、以下のコマンドはゲスト OS で実行する必要があります。
VM のネットワーク接続で NAT を有効にするには:
- まず、 新しい仮想スイッチを作成する.
New-VMSwitch -Name "SwitchName" -SwitchType Internalの代わりに、ご自身のスイッチ名を使用してください
SwitchName. 私たちは以下を使用していますNAT-Switchこの攻略ガイドでは。
- NATの背後のサブネットを定義し、NATを有効にします。ネットワークアドレスは、既存のネットワーク内のIPアドレスと重複してはなりません。この例では、ネットワーク名は
NAT-netまた、ネットワークアドレスは192.168.2.0/24New-NetNat -Name "network_name" -InternalIPInterfaceAddressPrefix 'ip-address/netmask'
- 次に、NATが有効になっているインターフェースにIPアドレスを割り当てます。
以下のコマンドを実行して、利用可能なアダプタのリストを作成し、その名前を確認します。
Get-NetAdapter | ft -Autosizeこの例では、先ほど作成した仮想スイッチに接続されている仮想ネットワークアダプタの名前は
vEthernet (NAT-Switch).
- 次に、この仮想ネットワークアダプタのIPアドレスを定義する必要があります。このIPアドレスは、作成したネットワークに属している必要があります。ネストされたVMは、このネットワークインターフェースのIPアドレスをゲートウェイとして使用します。この例では、このIPアドレスは192.168.2.1であり、ネットワーク192.168.2.0/24に属しています。
Get-NetAdapter "adapter_name" | New-NetIPAddress -IPAddress ip_address -AddressFamily IPv4 -PrefixLength mask_number
ネストされたVMの設定
ネストされた仮想マシンの作成と設定が可能になりました。この手順では、Windows Server 2016 がインストールされた仮想マシンをネストされた仮想マシンとして使用します。
- [VM]のネットワーク設定で、先ほど作成した仮想スイッチを選択してください。 Hyper-V マネージャー.
- [ ] 内の TCP/IP 設定を構成します。
Network Adapter PropertiesネストされたVMの。仮想ネットワーク内にDHCPサーバーがない場合は、IPアドレス、サブネットマスク、デフォルトゲートウェイ、およびDNSサーバーを手動で割り当ててください。
注: ファイアウォールはネットワーク接続をブロックする可能性があるため、ファイアウォールの設定を確認してください。
これで、ネストされたVMのネットワーク設定が完了し、実行できる状態になりました。
仮想マシン(VM)の保護には NAKIVO Backup & Replication
Hyper-V 仮想環境の信頼性を確保するため、ネストされた仮想マシンを含むすべての仮想マシンをバックアップする必要があります。 NAKIVO Backup & Replication 提供する 信頼性の高いHyper-Vバックアップ Hyper-Vのネイティブ機能である”Resilient Change Tracking(RCT)”技術を活用した、高速な画像ベースの増分バックアップ機能です。このバックアップ機能を使用することで、アプリケーションオブジェクトやファイルの復元、VMの即時起動、Hyper-V VMをVMware vSphere VMとして復元するなど、さまざまな復旧オプションを利用できます。












