Google Compute EngineでNested KVMを使えるようにする

本エントリとは直接関連しませんが、まずは宣伝から。

JPOUGのイベントが11月17日にあります
http://www.jpoug.org/2017/09

テーマは「Docker」。Dockerized Sessionのみです。

 

今回は私も、Oracle RAC on Dockerというタイトルで登壇致します。
まだ席に余裕がありますので、興味がある方は是非。

 

さて本題です。
Microsoft Azureに続き、Google Compute EngineでもNested VMが可能になったようです。
https://cloud.google.com/compute/docs/instances/enable-nested-virtualization-vm-instances

 

今回は、Google Compute EngineでNested KVMを試してみようかと思ったのですが、
上記URLを見る限り、そのままではNested KVMはつかえないようです。(専用のイメージ作成が必要)

そこで、Nested KVMが使えるイメージを作成します。
作成手順は以下です。

 

1.仮想化用のライセンスキーを割り当てて、カスタムイメージを作成  今回は、ubuntu 16.04を使用します

gcloud compute images create nested-test --source-image-family=ubuntu-1604-lts --source-image-project=ubuntu-os-cloud --licenses https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx

 

2.カスタムイメージからVMインスタンスを起動

gcloud compute instances create testvm --machine-type g1-small --network "default" --can-ip-forward --maintenance-policy MIGRATE --scopes "https://www.googleapis.com/auth/devstorage.read_write,https://www.googleapis.com/auth/logging.write" --image nested-test --boot-disk-type "pd-ssd" --boot-disk-device-name testvm --boot-disk-size 200 --zone us-central1-c

3.VMインスタンスに接続し、必要なパッケージをインストール

sudo apt-get update
sudo apt-get install kvm virt-manager libvirt-bin bridge-utils

 

lsmod でkvmがロードされていればKVMが使用出来るはずです。


kvm 593920 1 kvm_intel
irqbypass 16384 1 kvm