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一样的操作就可以了。

  • 相关阅读:
    判断一本书是否值得买
    【Python】对我自己的博客进行统计,看看哪年哪月发帖量最大
    在python中使用正则表达式(转载)
    【English】What is a Java StringWriter, and when should I use it?(转帖)
    【Java】利用java.io.PrintWriter写出文本文件
    [MySql]当虚拟机的IP地址自动更换后,JDBC使用原来的配置连不上MySql数据库时所报的异常。
    java中的lastIndexOf( )函数是什么意思
    day63_SpringMVC学习笔记_01
    day62_Mybatis学习笔记_02
    day61_Mybatis学习笔记_01
  • 原文地址:https://www.cnblogs.com/laolieren/p/solve_openstack_create_instance_error.html
Copyright © 2011-2022 走看看