KVM仮想マシンのネストの問題を解決するためにkollaインストールに基づくOpenStack


一、問題


kollaベースでOpenStack Queensバージョンをインストールします.1つの制御ノード、2つの計算ノードは、いずれも物理X 86サーバである.コンピューティングノードでKVM仮想マシンを起動します.
必要なのは、KVM仮想マシンでKVM仮想マシンを再起動し、他の実験検証を行うことです.
まず、コンピューティングノードの物理サーバ上で構成を変更し、KVM仮想マシンのネストをサポートします.詳細は「openstack kvm仮想マシンネストを開く」を参照してください.
次に、関連コンテナを再起動します.
docker restart nova_libvirt
docker restart nova_compute

次に、仮想マシンを起動します(物理サーバの構成を変更する場合は、上で実行している仮想マシンを先に閉じる必要があります).次のエラーが表示されます.
Exception during message handling: libvirtError: internal error: process exited while connecting to monitor: Could not access KVM kernel module: Permission denied
2018-07-28T15:19:33.415996Z qemu-kvm: failed to initialize KVM: Permission denied

権限の問題であることがわかります.

二、解決


計算ノードのqume構成の表示
cat /etc/kolla/nova-libvirt/qemu.conf
stdio_handler = "file"
user = "nova"
group = "nova"

ユーザーもグループもnova
/dev/kvmの権限を見て、他のユーザーとグループにはrw権限がありません.
ls -al /dev/kvm
crw-rw---- 1 root 42427 10, 232 Jul 28 11:31 /dev/kvm

権限を設定し、他のユーザーやグループにもrw権限を持たせる
chmod a+rw /dev/kvm
ls -al /dev/kvm
crw-rw-rw- 1 root 42427 10, 232 Jul 28 11:31 /dev/kvm

仮想マシンを起動し、エラーは発生しません.
仮想マシンにアクセスし、kvmがサポートされていることを確認します.
egrep -c '(vmx|svm)' /proc/cpuinfo
4

表示は4、説明CPUは4コア、kvm対応
問題が解決する.