《转》openstack中删除虚拟主机,状态一直deleting

Posted mfmdaoyou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《转》openstack中删除虚拟主机,状态一直deleting相关的知识,希望对你有一定的参考价值。

一、我重新启动了该机器。之后想删除没有创建成功的虚拟机(没有打开cpu的vt),结果发现状态一直为deleting状态。在这个状态下创建虚拟机也失败。

 

二、分析:在/var/log/nova/nova-compute.log的log找到例如以下的信息:

---------------------------------------------------------------------------------------------------------

2012-08-13 14:30:45 CRITICAL nova [-] Instance instance-00000002 could not be found.

---------------------------------------------------------------------------------------------------------

接着又发现nova-compute(service nova-compute status)的状态为stop。重新启动不能成功。

 

三、处理:

最后我改动了nova数据库中的instance-00000002的deleted,把它变成1。

mysql> select * from instances\G
mysql> update instances set deleted=1 where uuid=‘ ****‘;   (注意:依据不同的版本号deleted的值不定。有些版本号会改成相应的ID号。)

之后,dashboard的页面中发现已经删除了。

重新启动nova-compute,再次创建虚拟机,状态都为active。

 

问题的思考方向:虚拟机的操作(创建、删除等)一定跟nova-compute有关。


----------------------------------------------------------------------------------------------------
2014年3月25日更新
在依照以上操作后。发现尽管实例已经删除,例如以下图:



假设要手动删除一个instance:
技术分享
 
技术分享
技术分享
 



可是在概况中依旧出现了该实例占用内存、cpu的信息:例如以下图的windows7-vm。这个instance已经做了上面的操作进行删除。可是这里还在显示。

 
然后,为了避免干扰測试。正确删除了testwin后。ssh连接上主机。打开mysql数据库,进入nova数据库。

使用show tables命令找到以下三个表:
quota_classes      #打开发现为空表
quota_usages      #这里面的内容表示为上图中的图饼。
quotas                   #这里面表示的是一些配额的限制值。

这时候,查看quota_usages表
select  *  from quota_usages;
技术分享
 
将表中的in_use 的值改为0,再刷新dashboard,就看到正常的图饼了。

技术分享

 

 删除完成。











以上是关于《转》openstack中删除虚拟主机,状态一直deleting的主要内容,如果未能解决你的问题,请参考以下文章

部署OpenStack问题汇总--openstack中删除虚拟主机,状态一直未deleting

OpenStack源码级深入了解删除虚拟机操作

Openstack 虚拟机修改error状态为active

Openstack_通用模块_Oslo_vmware 创建 vCenter 虚拟机快照

openstack 修改卷状态

OpenStack删除Cinder盘失败解决办法