[Openstack][Grizzly] Mysql删除僵尸实例
由于某些原因,导致在通过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的相应的值,否则会导致写脏数据
最新文章
- FWaaS 实践: 允许 ssh - 每天5分钟玩转 OpenStack(119)
- 測試大型資料表的 Horizontal Partitioning 水平切割
- 从网络上下载文件到sd卡上
- lca入门———树上倍增法(博文内含例题)
- [友盟微博分享]does not contain bitcode. You must rebuild it with
- view的onFinishInflate()何时调用的?
- MySQL中UNION和UNION ALL的使用
- 浅谈 qmake 之 shadow build(就是将源码路径和构建路径分开)
- c++内存对齐 转载
- Collections.sort的两种用法
- 转:【Java集合源码剖析】TreeMap源码剖析
- 四、Linux的常用命令
- fedora 26 安装 mplayer smplayer
- 关于CUDA,cuDNN,TF,CUDA驱动版本兼容问题
- Jsonpath的基本使用
- 【前端vue开发】vue知识点超链接学习笔记
- ZH奶酪:CSS中限制span显示字数
- Android 8 声音调整过程
- 浏览器是怎样工作的:渲染引擎,HTML解析
- js限制上传图片类型和大小
热门文章
- 1319-n皇后问题
- *[topcoder]AstronomicalRecords
- sql 日期时间格式转换
- ☀【动画】过渡 transition
- 【转】“/usr/bin/ld: cannot find -lz”
- (转载)PHP 下 CURL 通过 POST 提交表单失败的原因之一与解决办法
- HashSet的实现原理
- 都说ConcurrentDictionary<;TKey, TValue>;有陷阱
- 【CSS】Beginner1:Applying CSS
- x&;-x