zoukankan      html  css  js  c++  java
  • openstack新建实例各种报错解决

    最近自己装了下Openstack,零基础安装,参照了网上不少教程。

    吃了百家饭的后果,就是出现了一堆不明问题...openstack安装比较复杂,很多配置文件,一个地方配置不正确,可能会导致后面的功能不可用。

    仅以此文记录安装结束后,启动实例时候遇到的一系列错误及排查过程。

    BUG 1: No valid host

    报错

    No valid host was found. There are not enough hosts available.
    

    解决方法

    网络节点执行

    [root@openstack-controller-dev ~]# vim /etc/sysctl.conf 
    

    增加下面内容:

    net.ipv4.ip_forward=1
    net.ipv4.conf.all.rp_filter=0
    net.ipv4.conf.default.rp_filter=0
    

    验证是否生效

    [root@openstack-controller-dev ~]# sysctl -p
    net.ipv4.ip_forward = 1
    net.ipv4.conf.all.rp_filter = 0
    net.ipv4.conf.default.rp_filter = 0
    

    BUG 2: Unable to convert image to raw

    报错

    69ad3af8-3253-4a35-a6f1-ee5bcd1e37f2 aborted: Image 8f9cf451-764e-4219-ba0b-2edb93a9e63e is unacceptable: Unable to convert image to raw: Image /var/lib/nova/instances/_base/9b2bd71aef84e92d7147d0eb3697710afd403a4a.part is unacceptable: Unable to convert image to raw: Unexpected error while running command.
    2019-11-15 01:12:18.776 162849 ERROR nova.compute.manager [instance: 69ad3af8-3253-4a35-a6f1-ee5bcd1e37f2] Command: qemu-img convert -O raw -f qcow2 /var/lib/nova/instances/_base/9b2bd71aef84e92d7147d0eb3697710afd403a4a.part /var/lib/nova/instances/_base/9b2bd71aef84e92d7147d0eb3697710afd403a4a.converted
    2019-11-15 01:12:18.776 162849 ERROR nova.compute.manager [instance: 69ad3af8-3253-4a35-a6f1-ee5bcd1e37f2] Exit code: 1
    2019-11-15 01:12:18.776 162849 ERROR nova.compute.manager [instance: 69ad3af8-3253-4a35-a6f1-ee5bcd1e37f2] Stdout: u''
    2019-11-15 01:12:18.776 162849 ERROR nova.compute.manager [instance: 69ad3af8-3253-4a35-a6f1-ee5bcd1e37f2] Stderr: u'qemu-img: error while reading sector 17280: Input/output error
    '
    

    排查过程

    面向百度进行开发后,在openstack的官网QA上找到了答案:镜像上传不完整.

    参考链接: Image is unacceptable: Unable to convert image to raw.

    于是重新上传,上传后发现新的问题...

    BUG 3: CPU feature spec-ctrl not found

    报错

    internal error: process exited while connecting to monitor: 2019-11-15T09:42:49.789389Z qemu-kvm: CPU feature spec-ctrl not found
    

    分析及排查

    经过百度查看多篇文章后,发现下面这篇说的很在理。

    参考链接: OpenStack这张嘴能否吞得下SkyLake这条热狗

    排查相应计算节点的nova-compute日志时发现,日志中有错误信息

    qemu-kvm: CPU feature spec-ctrl not found
    

    该日志传达了几点信息:

    • Libvirt的获取宿主机的CPU指令集列表中包含该特性
    • qemu-kvm不支持CPU特性spec-ctrl

    解决方案

    • 升级libvirt和qemu来适配新款CPU
    • 修改计算节点libvirt获取到的指令集列表cpu_map.xml,屏蔽虚拟化组件不支持的CPU特性。备份cpu_map.xml文件,然后修改/usr/share/libvirt/cpu_map.xml,将和spec-ctrl相关的特性删除

    最后把libvirt服务重启生效。

    因考虑到升级libvirt和qemu影响较大,升级过后可能会影响部分逻辑和功能,故推荐第二种解决方法。

    像这样的配置

    <model name='Haswell-noTSX-IBRS'>
      <model name='Haswell-noTSX'/>
      <feature name='spec-ctrl'/>
    </model>
    

    改为

    <model name='Haswell-noTSX-IBRS'>
      <model name='Haswell-noTSX'/>
    </model>
    

    这样的直接删掉

    <feature name='spec-ctrl'>
      <cpuid eax_in='0x07' ecx_in='0x00' edx='0x04000000'/>
    </feature>
    

    重启libvirt

    [root@openstack-compute-dev ~]# systemctl restart libvirtd.service
    

    上面的操作执行完后,再次新建实例,有可能还会报下面的错误:

    internal error: process exited while connecting to monitor: 2019-11-15T11:02:14.259953Z qemu-kvm: CPU feature stibp not found
    

    执行和上面针对spec-ctrl一样的操作就可以了。

  • 相关阅读:
    CCF CSP 题解
    CCF CSP 2019032 二十四点
    CCF CSP 2018121 小明上学
    CCF CSP 2019092 小明种苹果(续)
    CCF CSP 2019091 小明种苹果
    CCF CSP 2019121 报数
    CCF CSP 2019031 小中大
    CCF CSP 2020061 线性分类器
    CCF CSP 2020062 稀疏向量
    利用国家气象局的webservice查询天气预报(转载)
  • 原文地址:https://www.cnblogs.com/laolieren/p/solve_openstack_create_instance_error.html
Copyright © 2011-2022 走看看