このドキュメントでは、ネストされた仮想化に対する Compute Engine のサポートについて説明します。ネストされた仮想化では、他の VM 内で仮想マシン(VM)インスタンスを実行して、独自の仮想化環境を作成できます。ネストされた仮想化をサポートするために、Compute Engine は VM に Intel VT-x 命令を追加します。これにより、VM を作成すると、その VM 上にあるハイパーバイザは追加の VM を実行できるようになります。
Compute Engine VM は、Google のセキュリティ強化された KVM ベースのハイパーバイザを備えた物理ホストで実行されます。ネストされた仮想化では、物理ホストとそのハイパーバイザはレベル 0(L0)環境にあります。L0 環境には複数のレベル 1(L1)VM をホストできます。各 L1 VM には、レベル 2(L2)VM のインストールに使用するもう 1 つのハイパーバイザがあります。図 1 に、物理ホスト、L1 VM、L2 VM の関係を示します。
ユースケース
ネストされた仮想化の使用では、次のようなシナリオが考えられます。
Compute Engine で実行できない VM があります。たとえば、オンプレミス ワークロードの障害復旧ソリューションが、Compute Engine VM にフェイルオーバーする VM 上で実行されているとします。ネストされた仮想化を実行すると、Compute Engine への VM の移植にかかる時間を短縮できます。
さまざまなバージョンの OS でソフトウェア パッケージの新しいバージョンのテストと検証を行うソフトウェア検証フレームワークがあります。ネストされた仮想化を使用すると、Compute Engine イメージのライブラリを変換して管理する必要がなくなります。
パフォーマンスに関する注意事項
ハードウェア補助によるネストされた仮想化であっても、ネストされた VM で CPU バウンドのワークロードを実行すると、パフォーマンスが 10% 以上低下することがあります。また、入出力バウンドのワークロードでも 10% 以上減少する可能性があります。
制限事項
L1 VM には次の制限事項があります。
Linux ベースの OS を実行する必要があります。Windows Server イメージは使用できません。
E2 および N2D のマシンタイプは使用できません。
Intel Haswell
以降のプロセッサを使用する必要があります。AMD プロセッサはサポートされていません。ゾーンのデフォルトのプロセッサがSandy Bridge
またはIvy Bridge
の場合、そのゾーンの VM の最小 CPU をIntel Haswell
以降に変更してください。各ゾーンでサポートされているプロセッサの詳細については、利用可能なリージョンとゾーンをご覧ください。
L2 VM には次の制限事項があります。
- QEMU を実行できる OS を使用する必要があります。
- ライセンスされた OS の場合、お客様所有ライセンスを使用する必要があります。
テスト済みのオペレーティング システム
次の表に、Google が基本的な起動テストと統合テストを実施する L1 と L2 OS の組み合わせを示します。表にない VM の組み合わせで実行に問題がある場合は、Cloud カスタマーケアに問い合わせる前に、テスト済み OS の組み合わせでテストを行い、同じ問題が発生するかどうか確認してください。L2 VM OS の場合、Google はサポートを提供していないため、お客様所有ライセンスの使用が必要です。
L1 VM OS | L2 VM OS |
---|---|
Debian 9、カーネル バージョン 4.9 | CentOS 6.5、カーネル バージョン 2.6 Debian 9、カーネル バージョン 4.9 RHEL 5.11、カーネル バージョン 2.6 SLES 12 SP3、カーネル バージョン 4.4 Ubuntu 16.04 LTS、カーネル バージョン 4.15 Windows Server 2016 Datacenter |
SLES 12 SP3、カーネル バージョン 4.4 | SLES 12 SP3、カーネル バージョン 4.4 |
Ubuntu 16.04 LTS、カーネル バージョン 4.15 | Ubuntu 16.04 LTS、カーネル バージョン 4.15 |
ネストされた仮想化の使用
ネストされた仮想化を使用するには、次の手順を行います。
ネストされた仮想化が有効になっている VM またはネストされた VM の作成中に問題が発生した場合は、ネストされた仮想化のトラブルシューティングをご覧ください。