Proxmox VT-x ネスト仮想化を有効にする

サーバー

ネスト仮想化

ProxmoxのVMとしてProxmoxやその他ハイパバイザー、KVMを動かす場合、
VMの上で仮想化する必要がある。

自分の場合はココ最近でESXiからProxmoxに移行する際にeve-ngも移行した。
移行後に動作確認をしているとeve-ngのqemuマシンが動かなかった。

デフォルトではVM上での仮想化は無効化されているため、有効化する必要あり。

要件

細かいことはドキュメントに書いてある。
VMはハードウェア支援の仮想化拡張機能にアクセス出来るようにする必要があり、
そのためにはProxmoxで有効化する必要がある。

・kernel >= 3.10
・AMDCPUもしくはIntelCPUを利用

ネスト仮想化を有効化する

まずはホストであるProxmox VEにてネストが有効化されているか確認する。

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

“N”と表示される場合は有効化されていない。
有効化するためには、”/etc/modprobe.d/kvm-intel.conf”を新たに作成し、
オプションを書き込む。”options kvm-intel nested=Y”

#echo "options kvm-intel nested=Y" > /etc/modprobe.d/kvm-intel.conf

AMDの場合はkvm-amd.confに書き込む

#echo "options kvm-intel nested=1" > /etc/modprobe.d/kvm-amd.conf

続いてKernel moduleを再起動もしくは再読み込みする。

#modprobe -r kvm_intel
#modprobe kvm_intel

自分の環境ではrオプション側はエラーが出た。

#modprobe -r kvm_intel
modprobe: FATAL: Module kvm_intel is in use.

ここで再起動を行う。
再起動後もう一度ネストが有効化されているか確認する。

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

VMを作成時にCPUの設定は「KVM」から「host」に変更する

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