KVM — 开启嵌套虚拟化

在尝试在CentOS KVM上部署OpenStack测试环境时,遇到CPU绑定和NUMA亲和性错误。原因是Nova使用了不支持这些特性的qemu。通过修改nova.conf启用KVM硬件虚拟化,但随后发现HostOS未开启KVM Nested。解决方案涉及启用Linux内核的Nested功能,确保虚拟机具有与物理机相同的CPU特性。这需要Linux内核版本大于3.x,并可能需要重启。成功后,还需编辑虚拟机XML文件以修改cpu mode,确保CPU穿透。
摘要由CSDN通过智能技术生成

目录

文章目录

问题

在 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 是一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

范桂飓

文章对您有帮助就请一键三连:)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值