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


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

    解决办法:

    更改配置文件的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
    
  • 相关阅读:
    C#使用cookie记住密码 逆水行舟
    Datable快速转换为List集合 逆水行舟
    C# EF 使用 (CodeFirst模式) 逆水行舟
    第一道用结构体解决的问题
    特殊回文数字
    简单贪心题(看最多的电视节目)
    Where is the Marble? (寻找大理石上的数字)
    关于Application Designer的概述
    怎样学习Peoplesoft byl vhonglei
    group by的使用说明
  • 原文地址:https://www.cnblogs.com/mrwuzs/p/10299166.html
Copyright © 2020-2023  润新知