文章目录
说明
- openstack的dashboard界面创建云主机、修改云主机规格、重建等操作都会导致虚拟机状态错误,错误界面如下,并且这种状态是真实的错误,即使在底层把错误状态修复了,虚拟机依然是不能正常使用的。
- 我这遇到的报错分几种,因为我每处理一次,报错就会变化,下面依次展示不同报错的处理方式。
报错内容及处理
- 下面所有报错我均以创建实例为准,但只要创建实例正常了,其他功能也会正常。
报错Build of instance…note rescheduling.
- 具体报错如下图
- 此时在项目所属的所有计算节点重启了2个服务【我后面单独说 查看项目所属的计算节点哈】:
我这放历史命令
983 systemctl status openstack-nova-compute.service
984 systemctl restart openstack-nova-compute.service
985 systemctl status libvirtd.service
986 systemctl restart libvirtd.service
987 systemctl status libvirtd.service
- 上面执行后新建虚拟机报下面错误,继续往下看
报错No valid host was found. …
-
详细报错见下图
-
此时怀疑是这个项目空间的计算资源不足导致的,所以这里给这个项目空间新增了一个计算节点
如下:我现在在safe_domain
域下操作的,这个域之前只有2个计算节点【computer01,02】,我现在把computer29节点加入到这个域中了,查看方式如下图【dashboard也可以看】,查看和添加方式不会的自行百度。
-
然后再次创建虚拟机的 时候,有了新的报错,继续往下看
报错Exceeded maximum number of retries…must note be all numeric. Neu].
- 具体报错如下图
- 解决方法:
重启所在项目的所有所属计算节点的【是不是懵了? 下面我会单独说明的,别慌】 下面3个服务
ps:我放的是历史命令。
982 systemctl status openstack-nova-compute.service
983 systemctl restart openstack-nova-compute.service
984 systemctl status libvirtd.service
985 systemctl restart libvirtd.service
986 systemctl status libvirtd.service
987 exit
# 因为之前重启过上面2个服务,所以我现在之重启下面1个服务即可
988 systemctl | grep neu # 这个方法可以查服务哦
989 systemctl status neutron-linuxbridge-agent.service
990 systemctl restart neutron-linuxbridge-agent.service
991 systemctl status neutron-linuxbridge-agent.service
- 到此,问题解决,创建实例正常,报错消失。
查看所处项目以及项目所属计算节点
- 查看所处项目,dashboard中这显示的是即为所处项目空间。
- 查看所处项目空间计算节点有哪些
- dashboard
切换到admin,系统-主机聚合里面即可看到
- 底层命令
可以通过group过滤的哈
- dashboard
创建实例指定多张网卡孵化报错
- 因为一个虚拟机有2张网卡的需求。
- 额,就是我创建实例的时候,指定了2个网络接口,创建的时候就报错了,报错内容和上面第一个一致,只是多了一个network什么的,没保存,也懒得再这么折腾一遍,反正就是,只要添加多个网卡接口创建实例报错和上面第一个一样,解决方法就是,创建实例的时候只指定一个网络接口,然后虚拟机创建好了再绑定新的接口就可以拉~~
创建windows实例报错linux正常
- 这个环境和上面的不是同一个,是我在后面的运维中发现的问题,一并归纳到这了而已。
问题:创建linux没有错,创建windows虚拟机就会报错,报错内容如下
- 原因
这个windows镜像创建系统卷时间太长,超过创建虚机的等待时间了。 - 解决方法
因为该云已经纳入云管了,再云管上创建并不会报错,底层创建报错是因为该套openstack是卷虚拟机,所以我们创建虚拟机的时候不要创建新卷就可以了,下面方法不是将镜像转为虚拟机,也不会导致镜像不在,放心使用。
报错消失,虚拟机正常创建。
总结
- 遇到这种报错呢,重启这个项目的所有计算节点的下面这3个服务即可,可能是啥消息排队了没有及时通信导致的错误,重启以后释放一下就好了。
如,我的这个safe项目有3个计算节点,那么我在3个计算节点都重启下面3个服务即可。
982 systemctl status openstack-nova-compute.service
983 systemctl restart openstack-nova-compute.service
984 systemctl status libvirtd.service
985 systemctl restart libvirtd.service
986 systemctl status libvirtd.service
987 exit
988 systemctl | grep neu # 这个方法可以查服务哦
989 systemctl status neutron-linuxbridge-agent.service
990 systemctl restart neutron-linuxbridge-agent.service
991 systemctl status neutron-linuxbridge-agent.service