KVM 开启嵌套虚拟化
发布日期:2021-06-30 10:10:17
浏览次数:3
分类:技术文章
本文共 1468 字,大约阅读时间需要 4 分钟。
问题
在 CentOS KVM 上启动虚拟机来部署 OpenStack 测试环境,在启动具有 CPU 绑定、NUMA 亲和的虚拟机时触发错误:
libvirtError: Requested operation is not valid: cpu affinity is not supported
这是因为 Nova 使用了 qemu virt_type,而 Qemu 是通过模拟来实现 CPU、内存虚拟化的,所以自然也就不支持 cpu affinity 了。要使用 KVM 硬件虚拟化才可以支持 CPU 绑定,于是修改 nova.conf:
[libvirt]...virt_type=kvm
重试,又出现错误:
libvirtError: invalid argument: could not find capabilities for domaintype=kvm
这是因为我的 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/nestedY
启用 Nested:
echo 'options kvm_intel nested=1' >/etc/modprobe.d/kvm-nested.conf# 卸载内核模块modprobe -r kvm_intel# 重新加载内核模块modprobe kvm_intel
NOTE:如果无法重载内核模块,可以考虑直接重启
如果希望已经存在的虚拟机支持嵌套虚拟化,还需要重新编辑虚拟机的 XML 文件,修改其 cpu mode。
# 关机$ virsh shutdown domain-xxx# 编辑$ virsh edit domain-xxx# 开机$ virsh start domain-xxx
登录入虚拟机检查是否有 CPU 穿透:
[root@overcloud-ovscompute-0 ~]# egrep '(vmx|svm)' /proc/cpuinfoflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms xsaveopt
转载地址:https://is-cloud.blog.csdn.net/article/details/88556934 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月27日 13时08分08秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
WebService的简单案例记录(Java)
2019-04-30
Html利用PHP与MySQL交互
2019-04-30
dos简单命令
2019-04-30
mysql的安装与卸载与Navicat远程连接
2019-04-30
java实现稀疏数组及将稀疏数组存入硬盘中
2019-04-30
2021-05-18
2019-04-30
Flutter 使用插件打开相册、相机
2019-04-30
libuv实现tcp代理服务器
2019-04-30
libuv使用不当导致的内存泄漏
2019-04-30
libuv实现ping包发送和接收
2019-04-30
基础架构系列篇-CENTOS7安装NGINX
2019-04-30
基础架构系列篇-系统centos7安装docker+COMPOSE
2019-04-30
基础架构系列篇-系统centos7中docker安装rabbitmq
2019-04-30
基础架构系列篇-NGINX部署VUE
2019-04-30
个人电商项目,基于uni-app+ springcloud +VUE技术
2019-04-30
基础架构系列篇-系统centos7安装kafka
2019-04-30
基础架构系列篇-系统centos7中docker安装分布式文件存储服务minio
2019-04-30
知识点记录-java判断系统是linux或windows
2019-04-30
知识点记录-springboot静态资源映射路径
2019-04-30
知识点记录-vue-cli+webpack打包运行图标显示异常
2019-04-30