openstack新建实例各种报错解决
最近⾃⼰装了下Openstack,零基础安装,参照了⽹上不少教程。
吃了百家饭的后果,就是出现了⼀堆不明问题...openstack安装⽐较复杂,很多配置⽂件,⼀个地⽅配置不正确,可能会导致后⾯的功能不可⽤。
仅以此⽂记录安装结束后,启动实例时候遇到的⼀系列错误及排查过程。
BUG 1: No valid host
exited►报错
No valid host was found. There are not enough hosts available.
►解决⽅法
⽹络节点执⾏
[root@openstack-controller-dev ~]# vim /f
增加下⾯内容:
net.ipv4.ip_forward=1
f.all.rp_filter=0
f.default.rp_filter=0
验证是否⽣效
[root@openstack-controller-dev ~]# sysctl -p
net.ipv4.ip_forward = 1
f.all.rp_filter = 0
f.default.rp_filter = 0
BUG 2: Unable to convert image to raw
►报错
69ad3af8-3253-4a35-a6f1-ee5bcd1e37f2 aborted: Image 8f9cf451-764e-4219-ba0b-2edb93a9e63e i
s unacceptable: Unable to convert image to raw: Image /var/lib/nova/in stances/_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 novapute.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/_verted 2019-11-15 01:12:18.776 162849 ERROR novapute.manager [instance: 69ad3af8-3253-4a35-a6f1-ee5bcd1e37f2] Exit code: 1
2019-11-15 01:12:18.776 162849 ERROR novapute.manager [instance: 69ad3af8-3253-4a35-a6f1-ee5bcd1e37f2] Stdout: u''
2019-11-15 01:12:18.776 162849 ERROR novapute.manager [instance: 69ad3af8-3253-4a35-a6f1-ee5bcd1e37f2] Stderr: u'qemu-img: error while reading sector 1728 0: Input/output error\n'
►排查过程
⾯向百度进⾏开发后,在openstack的官⽹QA上到了答案:镜像上传不完整.
参考链接:
于是重新上传,上传后发现新的问题...
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
►分析及排查
经过百度查看多篇⽂章后,发现下⾯这篇说的很在理。
参考链接:
排查相应计算节点的nova-compute⽇志时发现,⽇志中有错误信息
qemu-kvm: CPU feature spec-ctrl not found
该⽇志传达了⼏点信息:
Libvirt的获取宿主机的CPU指令集列表中包含该特性
qemu-kvm不⽀持CPU特性spec-ctrl
►解决⽅案
升级libvirt和qemu来适配新款CPU
修改计算节点libvirt获取到的指令集列表l,屏蔽虚拟化组件不⽀持的CPU特性。备份l⽂件,然后修改/usr/share/libvirt/l,将和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⼀样的操作就可以了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。