みち草

Azure中心にまとめる技術情報ブログ

Azure仮想マシンでNested Hypver-Vを構築してみる!Part1

はじめに

全3パート中の今回、Part1では以下の内容を記載します。

Nested(入れ子の) Hyper-Vとは、Hyper-V基盤上に構成されている仮想マシンをホストとし、さらにHyper-V環境を構築することです。Hyper-Vの上でHyper-Vをたてることになります。

2016でサポートされ、Azureでもv3シリーズの登場により可能となりました。

azure.microsoft.com

今回はAzureの仮想マシンを使用して、Nested Hyper-Vを構築してみます。

最終的には外から Nested Hyper-V 上の VM と自由にやり取りできるようにはなっていないのですが、できた範囲で備忘として記載しています。外から中への疎通がどうしても構成できなかったので、最終的にはポートフォワーディングで接続させています。

2021/04/07: スイッチ作成部分について、PowerShell で実施するよう書き換え

目次

続きは以下

www.michikusayan.com

www.michikusayan.com

事前準備

最終構成は図のイメージで、仮想ネットワーク上のマシンとNested Hyper-V上の仮想マシンで疎通が取れるようにしてみたいと思います。

docs.microsoft.com

Nested Hyper-VのホストおよびゲストOSには条件があります。条件は以下

Intel の場合

  • 4GB以上の物理メモリであること。 現在記載なし
  • Hyper-V ホストは Windows Server 2016/Windows 10 以降であること。
  • VM 構成バージョン 8.0 以上。
  • VT-x および EPT テクノロジを使用する Intel プロセッサ。。

AMD EPYC/Ryzen プロセッサ以降の場合

  • Hyper-V ホストは、Windows Server 2022 または Windows 11 以降
  • VM 構成バージョンが 10.0 以降

これに加えて、AzureでNested Hyper-Vのホストになるマシンは、ハイパースレッドが有効なVMサイズを使用する必要があります。現在はDv3シリーズ、Eシリーズ、Fsv2シリーズ、Lsv2シリーズ、Mシリーズのみです。

ということで以下の仮想マシンを用意しました。どちらも日本語化済みです。

  • ホスト用仮想マシン(WS2016/D4v3/追加ディスク1TB1本)*1
  • 接続テスト用仮想マシン(WS2016/A2v2/)*1

Hyper-Vの有効化

ホスト用VMにログインし、Hyper-V機能を有効化します。

以下の GitHubに公開されているスクリプトでの設定と手動設定の2種類がありますが、今回は手動で有効化しました。

github.com

PowerShellにて以下のコマンドを実行します。 仮想マシンが再起動し、Hyper-Vマネージャーの有効化は完了です。

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

実行結果

NAT スイッチの作成

ゲスト仮想マシンがインターネットへ出られるように、NAT用仮想ネットワークスイッチを作成し、 NATを設定します。

IP アドレスは任意に変更ください。
ここでは、192.168.100.1 を Nested Hyper-V 上の VM のデフォルトゲートウェイとして構成しています。

New-VMSwitch -Name VmNAT -SwitchType Internal
New-NetNat –Name LocalNAT –InternalIPInterfaceAddressPrefix “192.168.100.0/24”
Get-NetAdapter "vEthernet (VmNat)" | New-NetIPAddress -IPAddress 192.168.100.1 -AddressFamily IPv4 -PrefixLength 24

実行結果

Windows Server2016評価版ダウンロード

Part1の最後は、ゲストマシン構築用のWindows Server2016評価版ダウンロードです。

評価版のISOは以下からダウンロードできます。

www.microsoft.com

ISOを選択し、必須事項を入力してダウンロードしましょう。

今回はここまでとして、ゲストマシンの構築はPart2に続きます。

www.michikusayan.com