KVMの入れ子(nested)構成 〜KVM on KVM〜

スポンサーリンク

今回は、KVMの入れ子(ネスト,nested)について紹介します。

KVMとは

 KVMについてはこちらをどうぞ

仮想環境の入れ子(nested)について

入れ子の構成とは、仮想ソフトウェア上に更に仮想ソフトウェアを構築することです。
今回でいうと、KVM上にKVMを構築することですね。
KVMの検証をしようとして、/proc/cpuinfoをcatして、”vmx”が見当たらない経験をしたことがあるかと思います。

ゲスト側で、CPUの仮想化支援機能が有効かを確認する

# cat /proc/cpuinfo | grep vmx ← 何も表示されないはず!

 仮想マシンのLinuxは基本的に、初期状態でCPUの仮想化支援機能が有効になっていません。

ホスト側の設定

  • 仮想マシンの設定ファイルを編集する
$ sudo virsh edit 仮想マシン名
<cpu mode='host-passthrough'> ← cpu modeをhost-passthroughに編集する
ドメイン CentOS7 XML の設定は編集されました

ゲスト側

kvmのネストを有効にする

# echo options kvm_intel nested=1 >> /etc/modprobe.d/kvm-nested.conf

モジュールのリロード

# modprobe -r kvm_intel
# modprobe  kvm_intel

KVMのネストが有効になったのを確認する

# cat /sys/module/kvm_intel/parameters/nested
Y

以上の設定で、ゲスト側でのKVMの環境が準備出来ました。
あとは、KVMを構築するだけです。

最後に

Hyper-Vでも、VMwareでもCUPの仮想化支援機能を仮想ホスト上で、有効にするにはひと手間いるんですよね。
クラウド環境を利用されている方や、virtualboxを利用されている方は仮想環境の入れ子(ネスト,nested)ができなくてお困りの方がいるかと思います。
そんな方は、WindowsをアンインストールしてUbuntuに入れ替えて、KVMでWindowsをインストールしましょう!笑

コメント

タイトルとURLをコピーしました