KVM 开启嵌套虚拟化
【摘要】 问题
在 CentOS KVM 上启动虚拟机来部署 OpenStack 测试环境,在启动具有 CPU 绑定、NUMA 亲和的虚拟机时触发错误:
libvirtError: Requested operation is not valid: cpu affinity is not supported
1
这是因为 Nova 使用了 qemu virt_type,而 ...
问题
在 CentOS KVM 上启动虚拟机来部署 OpenStack 测试环境,在启动具有 CPU 绑定、NUMA 亲和的虚拟机时触发错误:
libvirtError: Requested operation is not valid: cpu affinity is not supported
- 1
这是因为 Nova 使用了 qemu virt_type,而 Qemu 是通过模拟来实现 CPU、内存虚拟化的,所以自然也就不支持 cpu affinity 了。要使用 KVM 硬件虚拟化才可以支持 CPU 绑定,于是修改 nova.conf:
[libvirt]
...
virt_type=kvm
- 1
- 2
- 3
重试,又出现错误:
libvirtError: invalid argument: could not find capabilities for domaintype=kvm
- 1
这是因为我的 HostOS 没有开启 KVM Nested 嵌套虚拟化,即 KVM 虚拟机里面不支持 KVM 虚拟机,因为第一次 KVM 虚拟机没能具有与 HostOS 相同的 CPU 环境。
解决
KVM 嵌套式虚拟 Nested 是一个可通过修改内核参数来启用的功能,它能够使一台虚拟机具相同的有物理机 CPU 特性,支持 vmx|svm(AMD) 硬件虚拟化,该特性需要 Linux 内核版本大于 Linux 3.x。
查看是否启动了 Nested:
[root@virtualbmc ~]# cat /sys/module/kvm_intel/parameters/nested
Y
- 1
- 2
文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。
原文链接:is-cloud.blog.csdn.net/article/details/88556934
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)