Hyper-Vのネストされた仮想化-最初のステップ

記事の著者-ミハイル・コマロフ、MVP-クラウドおよびデータセンター管理


こんにちは この記事の目的は、Hyper-Vプラットフォームでの組み込み仮想化の実装について説明することです。 他のメーカーとは異なり、Hyper-Vがネストされた仮想化をサポートしなかったことは秘密ではありません。 新しい機能を試してみたい人向けのWindows Server 2016 Technical Preview 4(TP4)のアセンブリのリリースにより、状況は変わりました。 組み込み仮想化のデモは、レポート「 1つのレポート、1つのラップトップ、1つのデータセンター 」イベントMicrosoft TechDay 2015の記録で見ることができます。







すべてのデモは、Intel Xeon E5 2670コアプロセッサと32 GBのRAMを搭載したHP Blade Gen 8で開催されました。



このシステムの選択は、仮想化技術を導入するためのしきい値がどれだけ低いかを示したいという願望によるものでした。 一般的に、今日の標準では通常のシステムで、ほとんどの家にはIntel Core i3以上が搭載されており、RAMの量は8GBから始まります。 これは、必要に応じてネストされた仮想化を使用できることを意味します。



建築



仮想化のクラシックバージョンを思い出してください。 チップセットおよびプロセッサレベルで仮想化テクノロジーをサポートし、BIOSに必要なオプションを備えた物理ホストがある場合、次の図が表示されます。







ゼロレベルには物理ホストがあり、最初のレベルにはハイパーバイザーと呼ばれるソフトウェアの薄い層があります。 また、最初のレベルには、ルートオペレーティングシステムのパーティションと仮想マシンのパーティションがあります。 Mark RussinovichのCoreInfoユーティリティを使用して、仮想化に関連するプロセッサパラメータの動作を説明します。 この表は、CoreInfoユーティリティの最初の数行を示しています。







Hyper-Vの役割がオペレーティングシステムに含まれる前に、仮想化に関連するプロセッサパラメーターが渡されました。 これは、表の左側の2行に表示されます。 最初のパラメーターはハイパーバイザーがないこと、2番目は仮想化を担当するフラグです。 ハイパーバイザーの役割を有効にした後、ルートパーティションのプロセッサプロパティを再度調べて、ハイパーバイザーがオンになり、仮想化関連フラグがルートオペレーティングシステムパーティションに変換されないことを確認します。 また、マイクロプロセッサのシグネチャの値にも注意してください。この例では、0000710であり、物理プロセッサに関連付けられています。



ネストされた仮想化に移りましょう。







図から、仮想化に関連するフラグをゲストOSに転送する必要があることがわかります。 つまり、一般的に、仮想マシンの共有プロセッサで仮想化サポートを有効にする必要があることを、第1レベルのハイパーバイザーに通知する必要があります。 これを行うには、仮想マシンの一部のプロパティを変更するスクリプトを実行します。 スクリプトが変更する主なプロパティの1つは、仮想マシンプロセッサの動作です。 // Set-VMProcessor -VMName $ vmName -ExposeVirtualizationExtensions $ true //。 他のパラメーターについては少し後で説明します。 仮想マシンでの仮想化に関連するプロセッサパラメータの動作を説明します。 この表は、CoreInfoユーティリティの最初の数行を示しています。







この表は、仮想マシンがハイパーバイザーの下から機能するものを「理解」していることを示しています。 ただし、スクリプトを実行する前に、仮想化に関連するフラグは送信されません。 次に、仮想マシンとそのプロセッサのプロパティを変更するスクリプトを作成し、仮想化に関連するフラグが表示されました。 次に、Hyper-Vの役割をオンにしました。その後、シン仮想化レイヤーが表示され、オペレーティングシステムがルートパーティションに移動すると、仮想化フラグが消えました。 また、マイクロプロセッサのシグネチャの値にも注意してください。この値は、プロセッサの仮想化を示すFFFFFFFFになりました。 次に、仮想マシン内に仮想マシンを作成し、実験の純度のために、CoreInfoユーティリティを起動しました。







一般的に、期待される結果は、ハイパーバイザーの存在と、最初の段階での仮想化フラグの不在、および2番目の段階での仮想化フラグの存在です。 その結果、このような解決策があります。







設定と制限



次に、仮想マシンの第1レベルに含まれる組み込み仮想化に関するTP4のこのテクノロジーの制限について説明します。



ステップバイステップの説明は次のようになります。

  1. 仮想化オプションを有効にして、アセンブリを物理ホストにインストールします。
  2. 仮想化を有効にする仮想マシンを作成します。 このマシンに少なくとも4GBのRAMを割り当てることをお勧めします。そうしないと、スクリプトを微調整する必要があります。 仮想マシンをオフにする必要があります!
  3. 以前に作成した仮想マシンの名前を指定して、物理ホストでスクリプトを実行します。 スクリプトへのリンクは記事の最後にあります。
  4. 仮想マシンでHyper-Vの役割を有効にします。
  5. 以前に作成した仮想マシンでHyper-Vマネージャーを使用して、新しい仮想マシンを作成します。


その結果、1つの物理ホストで多くのことを実行できるソリューションがあります。 たとえば、Hyper-Vホストから組み立てられたクラスターは、自宅と教室の両方で使用される機器の量を削減します。



資源



Windows Serverテクニカルプレビュー

製品グループからのネストされた仮想化のサポートの発表

CoreInfoユーティリティへのリンク

GitHubのスクリプトへのリンク



ご清聴ありがとうございました

ミハイル・コマロフ

MVP-クラウドとデータセンターの管理



All Articles