openstack虚拟机内核崩溃问题解决

openstack对接的kvm虚拟化环境,创建虚拟机后无法进如系统,一直卡在call Trace

94bdeb1fly1fze6c9lmsnj20rk0fajry.jpg

解决办法:

更改配置文件的cpu-model,libvirt_cpu_mode = custom

ps:

两种方式请求主机CPU模型

  • “host-model” - 这会导致libvirt识别与上述列表中的主机最匹配的指定CPU模型,然后请求额外的CPU标志来完成匹配。这应该提供接近最大功能/性能,如果将guest虚拟机迁移到具有稍微不同主机CPU的其他主机,则可保持良好的可靠性/兼容性。请注意,由于libvirt检测主机CPU的方式,使用主机模型创建的CPU配置可能无法按预期工作。来宾CPU可能会混淆客户操作系统(即使引起内核崩溃),使用CPU功能和其他不起作用的参数(如CPUID级别)的组合。

  • “host-passthrough” - 这会导致libvirt告诉KVM无需修改即可通过主机CPU。与主机模型的区别在于,而不是仅仅匹配功能标志,主机CPU的每个最后细节都是匹配的。这提供了绝对最佳的性能,对于某些检查低级别CPU详细信息的应用程序而言非常重要,但它的成本与移植成本相当。guest虚拟机只能迁移到完全匹配的主机CPU。

关于CPU模型的libvirt功能范围非常广泛,并在http://berrange.com/posts/2010/02/15/guest-cpu-model-configuration-in-libvirt-with-qemukvm/中进行了描述。nova.virt.libvirt.connection中的'cpu_compare'方法已经处理了检查主机之间CPU兼容性的问题,以允许调度程序确保在迁移期间正确放置guest虚拟机。因此Nova的主要缺失功能就是配置客户CPU模式+模型的能力

在大多数情况下,主机管理员在每个主机配置文件(/etc/nova/nova.conf)中指定来宾CPU配置就足够了。这将通过引入两个新的配置参数来实现

  • libvirt_cpu_mode = custom | host-model | host-passthrough
  • libvirt_cpu_model = ... /usr/share/libvirt/cpu_map.xml中的一个命名模型....(此参数仅在libvirt_cpu_mode = custom时有效 )

eg1

 libvirt_cpu_mode =主机模型

eg2

libvirt_cpu_mode = custom 
 libvirt_cpu_model = Opteron_G3

转载于:https://www.cnblogs.com/mrwuzs/p/10299166.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值