2025年9月20日土曜日

AHV上の仮想マシンでHyper-Vを稼動させる(Nestedの方法)

AHV環境においてPrismから仮想マシンを作成したデフォルト状態の場合、Hyper-Vをインストールしようとすると、以下のようなエラーメッセージが表示され、Hyper-V機能をインストールすることはできません。


AHVには、 「hardware_virtualization」という機能設定を有効化することでHyper-Vをインストールすることができます。AOS7.3で確認する限り、「cpu_passthrough」パラメーターであっても、Hyper-Vをインストールすることができます。

元々、Nestedの場合、「cpu_passthrough」が使用されておりましたが、このパラメーターではHyper-Vは動作しませんでした。(ESXiのNestedは、cpu_passthroughパラメーターで動作します)
Nutanixが、WSL2の対応を行う際に「hardware_virtualization」パラメーターが新たに追加されました。WSL2が、内部的にHyper-Vエンジンを内部で利用しているため、「hardware_virtualization」パラメーターを有効化することで、Hyper-Vの動作に対応したというのがその背景にあります。

では、この「hardware_virtualization」を有効化する方法をご紹介します。

まず、CVMにSSH等でシェルにログインします。

以下のコマンドを実行します。

acli vm.update <仮想マシン名> hardware_virtualization=true

※該当の仮想マシンは、パワーオフの状態で実行してください。


コマンド実行完了後、通常通り仮想マシンを起動し、Hyper-Vを有効化します。

これで、Hyper-Vを動作させることができます。

vSphere ESXiの場合は、仮想マシンが仮想スイッチを通じて外部ネットワークと疎通する場合、仮想スイッチの無差別モード(プロミスキャスモード)の設定変更が必要であったりしますが、AHV環境の場合は、仮想スイッチの設定変更などは特に必要ありません。

AOS 7.0以降は、Nestedの仮想マシンのライブマイグレーションにも対応したことから、利便性が増したと言えるかと思います。

AHV上の仮想マシンにさらにハイパーバイザーをインストールし仮想マシンなどを動作させるNestedに関しては、サポートに制限があります。
Nested環境でサポートされるのは、以下の2つの機能のみとなります。

  • Credential Guard
  • WSL2(Linux 用 Windows サブシステム 2)

上記機能以外は、サポートされていないことから、Hyper-VをAHV上の仮想マシンで動作させることは、サポート対象外となりますので、検証目的など一時的な環境として利用される場合にご利用ください。

(参考)ネスト化された仮想化は AHV でサポートされていますか?

(参考)Windows Subsystem for Linux (WSL2) Support on AHV





 

0 件のコメント:

コメントを投稿