由于某些原因,导致在通过nova delete删除虚拟机后,其task_state 一致处于deleting状态, 但是始终无法删除。由于虚拟机还没有分配到节点等信息,还没有拷贝镜像,所以可以直接从数据库中将其删除。可以执行以下脚本 delete_zombie.sh

#!/bin/bash
mysql -uroot -ppassword << EOF
use nova;
DELETE a FROM nova.security_group_instance_association AS a INNER JOIN nova.instances AS b ON a.instance_uuid=b.uuid where b.uuid='$1';
DELETE FROM nova.instance_info_caches WHERE instance_uuid='$1';
DELETE FROM nova.instance_system_metadata WHERE instance_uuid='$1';
DELETE FROM nova.virtual_interfaces WHERE instance_uuid='$1';
DELETE FROM nova.instances WHERE uuid='$1';
EOF

./delete_zombie.sh a23c85eb-27a8-4594-9e7e-b1ca1b410235

参数为虚拟机的UUID

解释:

Mysql 中产看表之间的关联性

SELECT * FROM information_schema.KEY_COLUMN_USAGE a WHERE a.TABLE_NAME='virtual_interfaces';

其中红色部分为索要查询的表

虚拟机的信息是储存在nova.instances 表中,由于表间的一些键之间的关联性,导致直接从instances表中删除数据,mysql会报错,所以要删除关联表中数据。

在Openstack 的G版本中,所关联的数据较以前版本多了些。

另外在执行脚本后需要修改配额信息,将改tenant_id 的配额进行相应的更改,更改数据库中nova.quota_usages的相应的值,否则会导致写脏数据

[Openstack][Grizzly] Mysql删除僵尸实例的更多相关文章

  1. 如何删除 OpenStack Nova 僵尸实例

    转自:http://www.vpsee.com/2011/11/how-to-delete-a-openstack-nova-zombie-instance/ 前天强制重启一台 OpenStack N ...

  2. Openstack的error僵尸实例的解决办法

    在我们对集群环境进行各种调整的情况下,很容易产生一些僵尸实例. 僵尸实例主要是没有该主机,但是在dashboard上,数据库中存在,解决办法网络上有的人给出了繁杂的修改数据库的方法,其实按照下面的命令 ...

  3. openstack 后期维护(四)--- 删除僵尸卷

    前言: 在长时间使用openstack之后,删除虚机后,经常会有因这样那样的问题,导致卷处于僵尸状态,无法删除! 状态一: 虚机已近删除,然而卷却挂在到了 None上无法删除 解决办法: 1.# ci ...

  4. openstack中彻底删除计算节点的操作记录

    在使用openstack的过程中,我们经常会添加好几台计算节点来部署虚拟机,在后续使用中由于某些原因,一些计算节点出现了问题,需要将这些出了问题的计算节点从openstack的控制节点中踢出去!但是很 ...

  5. MySQL 删除数据表

    MySQL 删除数据表 MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失. 语法 以下为删除MySQL数据表的通用语法: DROP TA ...

  6. MySQL 删除数据库

    MySQL 删除数据库 使用 mysqladmin 删除数据库 使用普通用户登陆mysql服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库. 所以我们这边使用root用户登录,root用 ...

  7. mysql初学,mysql修改,mysql查找,mysql删除,mysql基本命令

    Mysql 下载地址https://dev.mysql.com/downloads/mysql/ 1.连接Mysql格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYS ...

  8. mysql触发器trigger 实例详解

    mysql触发器trigger 实例详解 (转自 https://www.cnblogs.com/phpper/p/7587031.html)   MySQL好像从5.0.2版本就开始支持触发器的功能 ...

  9. MySQL增量备份与恢复实例【转】

    小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,就不太可能每天进行一次完整备份了,这时候就可以使用增量备份.增量备份的原理就是使用了mysql的binlog日志.本次操作的 ...

随机推荐

  1. matlab怎么同时显示imshow 两幅图片

    matlab怎么同时显示imshow 两幅图片 matlab怎么同时显示imshow 两幅图片 方法一:subplot()函数 subplot(2,1,1); subplot(2,1,2); 分上下或 ...

  2. csuoj 1353: Guessing the Number

    这个题我想到要用kmp找到循环节: 但是后面的我就不会做了: 看到题解才知道是字符串的最小表示: #include<cstdio> #include<cstring> #inc ...

  3. 如何使用 Xcode Targets 管理开发和生产版本?

    在开始此教程之前,我们假设你已经完成了应用程序的开发和测试,现在准备提交生产发布.问题是,某些 Web 服务 URLs 指向测试服务器,而 API keys 则为测试环境而配置.在提交应用程序给苹果审 ...

  4. ActionBar官方教程(3)更改标题处的图片

    Using a logo instead of an icon By default, the system uses your application icon in the action bar, ...

  5. Notification 多次传递参数 一直都是旧的 解决

    参考 :http://blog.163.com/caoguoqiang_dlut/blog/static/10658914220114167219320/ 问题描述: 在service中获取到数据,通 ...

  6. windows 上rails3.2 + ruby1.9环境搭建

    题外话:本文是通过参考网友资料,亲自尝试过后写的,有不对之处,还请网友指正! 1.搭建环境 准备ruby1.9.3 下载地址: 下载地址:http://rubyforge.org/frs/?group ...

  7. bzoj2527

    首先环可以变成链来处理,对于l>r的情况就是修改区间[1,r],[l,mx]然后不难想到整体二分,二分答案k,然后算1~k场流星雨对国家的贡献然后判定将国家划分变成子问题解决,没什么难的终于不是 ...

  8. Charles使用问题, iOS7的http代理(http proxy)配置不生效问题

    Charles配合iOS7使用时, 发现iOS7的http代理(http proxy)配置不生效, 代理信息写完后, 系统没有自动保存. 解决方法: 将些wifi忽略, 重新连接, 再配置代理就好了.

  9. 【转】 Xcode基本操作 -- 不错

    原文网址:http://blog.csdn.net/phunxm/article/details/17044337 1.Xcode IDE概览 说明:从左到右,依次是“导航窗格(Navigator)- ...

  10. 让人爱不释手的13套精美 Web 应用程序图标素材(转)

    图标用于向用户传递信息,不管是在网页还是 Web 应用程序中都非常需要.这些小小的图标元素能够告诉用户怎么到下一页,如何添加.删除和取消等等各种操作.设计精美的图标不仅能增加界面的美观,也能够让应用程 ...