別の仮想マシンで仮想マシンを設定する方法。ネストされた仮想化の説明

日常的に複数のオペレーティングシステムを使用する必要がある場合、仮想マシン (VM) は非常に役立ちます。つまり、それらは使いやすいかもしれませんが、さまざまな種類があり、適切なものを選択するのは難しい場合があります。

あまり見かけない特殊なタイプの仮想化は、ネストされた仮想化と呼ばれます。その名前が示す通りのもので、設定は少し複雑ですが、探しているのがそのようなものなら非常に役立ちます。

ネストされた仮想化とは何ですか?

最も単純な形で、ネストされた仮想化は、ある仮想マシン内で別の仮想マシンを実行することを意味します。つまり、仮想化されたハードウェアとソフトウェアの独自のセットを持つ仮想マシンを実行するホストコンピューターとオペレーティングシステムがあり、その中で別の VM が実行されています。

これは本質的にハイパーバイザーに別のレイヤーの仮想化を追加し、VM をホストマシンから 2 つの別々のレイヤーで分離できます。これには多くのユースケースがあり、特に、ソフトウェアフレームワーク、アプリ、コードベースなどをテストするための隔離された環境が必要な開発アプリケーションで役立ちます。

ネストされた仮想化を使用するために必要な要件は何ですか?

使用するハイパーバイザーに応じて、ネストされた仮想化環境を実行するためのソフトウェアとハードウェアの要件は異なる場合があります。つまり、ハードウェアの要件は、全体としてほぼ同じになります。ソフトウェアに関しては、さまざまなプログラムには、ネストされた仮想化をサポートする独自のバージョンがあります。

VMware VirtualBox の場合、ネストされた仮想化のサポートは、AMD CPU 用のバージョン 6.0 で導入されました。Intel CPU は、バージョン 6.1 で追加されました。したがって、本当に必要なのは、VirtualBox の最新バージョンを実行していることを確認することだけで、準備は完了です。

なぜネストされた仮想化を使用する必要があるのですか?

前述のように、ネストされた仮想化は主に、隔離された環境でソフトウェアフレームワークやコードベースをテストするための開発シナリオで使用されます。ただし、そのユースケースはそれだけにとどまりません。

ネストされた VM は、追加のマシンに物理的な機器を追加する必要がないため、非常に費用対効果が高くなります。それらは移動も容易なので、(または組織が) ローカルサーバーからクラウドにマシンを移動する場合、プロセスは VM ファイルをエクスポートして別のコンピューターまたはクラウドハイパーバイザーにアップロードするのと同じくらい簡単です。

これ以外にも、ネストされた VM が提供する柔軟性により、ユーザーは複数のハイパーバイザーを実行するオプションも得られます。すべてのハイパーバイザーが同じように構築されているわけではなく、場合によっては一方を選択する必要がある場合があります。たとえば、VMware の VirtualBox でホストされている Windows VM 上で Windows Hyper-V を実行し、同時に 2 つのハイパーバイザーを実行することが可能です。

最後に、それらはニーズに応じて簡単に拡張することもできます。必要なのは、ホストマシンにストレージ、RAM、またはより強力な CPU を追加するだけで、VM とネストされた VM はほんの数回のクリックで追加のリソースを使用できるようになります。

ネストされた VM を設定する方法

ネストされた VM の設定は、使用するハイパーバイザーによっては実際には難しい場合があります。ただし、VirtualBox では、プロセスはチェックボックスをクリックするのと同じくらい簡単です。

  1. VMware VirtualBox を開き、VM を選択したら上部にある設定アイコンをクリックします。
  2. システムセクションに進み、プロセッサタブをクリックします。ネストされた VT-x/AMD-V を有効にするオプションを確認すると、準備完了です。

一部のシステムでは、ネストされた VT-x/AMD-V を有効にするチェックボックスがグレー表示されている場合があります。VBoxManageツールを使用してこれを上書きできます。方法は次のとおりです。

  1. コマンドプロンプトを開き、次のコマンドを使用して VirtualBox インストールディレクトリに進みます。コマンドはデフォルトのインストールディレクトリを使用することに注意してください。VirtualBox を別の場所にインストールした場合は、変更する必要があります。
    cd C:\Program Files\Orcale\VirtualBox
  2. 次のコマンドを使用して、使用可能な VM のリストを出力します。変更する VM の名前がすでにわかっている場合は、この手順をスキップできます。
    VBoxManage list vms
  3. 最後に、次のコマンドを入力して Enter キーを押し、選択した VM でネストされた仮想化を有効にします。
    VBoxManage modifyvm "VM Name" --nested-hw-virt on

ネストされた仮想化を有効にするプロセスは、Windows、Linux、macOS のいずれを使用している場合でも同じように機能します。これには、VirtualBox とともにインストールされるターミナルコマンドも含まれます。さらに、VBoxManageは、ネストされた仮想化を有効にする以上のことができます。ここでは、VM の管理に使用できる 6 つの便利な VirtualBox コマンドについて説明しています。

Windows でネストされた仮想化を有効にするための追加のトラブルシューティング手順

Windows の組み込みの仮想化機能が、ネストされた仮想化で問題を引き起こす場合があります。GUI とコマンドラインの方法でシステムでネストされた仮想化を有効にできない場合は、仮想マシン プラットフォーム機能を無効にする必要があります。

  1. Windows キーを押し、Windows の機能の有効化または無効化を検索し、対応する検索結果をクリックします。
  2. リストで仮想マシン プラットフォーム機能を見つけ、その前のチェックボックスをオフにして、右下のOKボタンをクリックします。

PC の再起動を求められる場合があります。完了したら、上記の「コマンド プロンプト」コマンドを試して、VM でネストされた仮想化を有効にすることができます。オペレーティング システムとプロセッサによっては、特定の問題が発生する可能性があることに注意してください。予想されるように、これらにはホスト環境とハードウェアに固有のソリューションが必要です。

つまり、ほとんどの一般的な問題は、アップデートによって修正されているか、解決策を簡単に見つけられるほど十分に議論されています。これは、それらを構成するときに問題が発生したという理由だけで、ネストされた VM を試すことを思いとどまらせるべきではないという意味ではありません。なぜなら、ほとんどの場合、そのような問題を解決するには、少しの調査と実験を行うだけで済むからです。繰り返しますが、最新バージョンの VirtualBox を使用していて、Intel または AMD のいずれであっても新しい CPU を使用している場合、そのような問題の多くを回避することもできます。

ネストされた VM は便利である可能性があります

ネストされた VM を作成できるだけでなく、適切に行うと実際にはかなり有益になる可能性があります。確かに、特定のニッチなワークロードには適していますが、適切なユーザーにとっては、柔軟性と拡張性、および利便性は、パフォーマンスのわずかな低下に見合う価値があります。