OpenStack手动从数据库中删除实例 - ugyn109的专栏 - 博客频道 - CSDN.NET
由于某种原因我将OpenStack的一个计算节点移除了,但移除前并没有删除在其上运行的实例,后来想通过dash删除这些实例,于是N天过去了,我的dash还显示如下内容:
很碍眼是不是?于是我打算手动从数据库中删除它们!
1.数据库中与删除实例相关的表
数据库中与删除实例相关的表如下:
fixed_ips记录给实例分配的fixed ip,floating_ips显然与实例分配的floating ip有关,但我在实验中一直没有使用过floating故不作评断,instance_actions我这里是空的不管,instance_faults记录与实例有关的错误不管,instance_info_caches与实例的网络设置缓存有关,instance_metadata实例的元数据有关不管,instance_type_extra_specs与instance_types与flavor设置有关不管,instances显然是实例的主表,volumes与实例的volumes有关。我的实验中没有floating ip也没有volumes故我只关注fixed_ips,instance_info_caches,instances三个表。
2.OpenStack的删除策略
通过观察发现Nova中的表中基本都有如下字段:
OpenStack在删除对象时并不删除数据库中的记录,只是修改deleted_at和deleted字段。
3.操作数据库
删除实例的操作主要集中在instances,instance_info_caches,fixed_ips三个表。
3.1操作instances表
下图是我的数据库中曾经删除了的test3(右边)与现在无法删除的test3(左边)的对比:
因此我的操作如下:
[sql]view plaincopy
- update instances set
- deleted_at = updated_at,
- deleted = 1,
- power_state = 0,
- vm_state = "deleted",
- terminated_at = updated_at,
- root_device_name = NULL,
- task_state = NULL
- where id = 9;
3.2操作instance_info_caches和fixed_ips
这两个操作简单,在前一步操作后已经在dash中看不到被删除的实例了,这两步操作主要是释放被删除实例所占用的网络资源,直接上代码:
[sql]view plaincopy
- update instance_info_caches set
- deleted_at = updated_at,
- deleted = 1
- where id = 9;
- update fixed_ips set
- instance_id = NULL,
- allocated = 0,
- virtual_interface_id = NULL
- where id = 7;
OK,如法炮制又删除了另一个实例,总算在dash中不用看那两个讨厌的实例了。
OpenStack手动从数据库中删除实例 - ugyn109的专栏 - 博客频道 - CSDN.NET的更多相关文章
- java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET
java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET 亲,“社区之星”已经一周岁了! 社区福利快来领取免费参加MDCC大会机会哦 Tag功能介绍—我们 ...
- 知道创宇爬虫题--代码持续更新中 - littlethunder的专栏 - 博客频道 - CSDN.NET
知道创宇爬虫题--代码持续更新中 - littlethunder的专栏 - 博客频道 - CSDN.NET undefined 公司介绍 - 数人科技 undefined
- 采集爬虫中,解决网站限制IP的问题? - wendi_0506的专栏 - 博客频道 - CSDN.NET
采集爬虫中,解决网站限制IP的问题? - wendi_0506的专栏 - 博客频道 - CSDN.NET undefined
- 在MyEclipse8.6中设置jQuery自动提示 - 肖飞figo的云计算专栏 - 博客频道 - CSDN.NET
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- Excel 2003 中如何用VBA 代码访问单元格里的值及操作单元格 - 唐诗宋词的专栏 - 博客频道 - CSDN.NET
在Excel 中编写VBA 代码,最常做的事可能就是操作表单中单元格里的数据. 我这里总结一下如何从VBA 代码中操作单元格的数据. 在VBA 代码中操作单元格需要用到Range 对象,Range 是 ...
- C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET
C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET C++ STL中Map的相关排序操作:按Key排序和按Value排序 分类: C ...
- 数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较
数据库删除语句的分别介绍: Delete:用于删除表中的行(注:可以删除某一行:也可以在不删除表的情况下(即意味着表的结构.属性.索引完整)删除所有行) 语法:删除某一行:Delete From 表名 ...
- MySQL_(Java)使用JDBC向数据库中删除(delete)数据
MySQL_(Java)使用JDBC向数据库发起查询请求 传送门 MySQL_(Java)使用JDBC向数据库中插入(insert)数据 传送门 MySQL_(Java)使用JDBC向数据库中删除(d ...
- myssql数据库表名转驼峰 - PLAY - ITeye博客
原文:myssql数据库表名转驼峰 - PLAY - ITeye博客
随机推荐
- 基于gitosis的Git云端服务器配置
(本文需要自己实践,由于时间关系,我仅仅是做了整理和快速的练习,至于笔记中的账号和ip域名都是我参考文章中的.如果读者有任何问题欢迎留言和发邮件到luoquantao@126.com) 硬件:云端阿里 ...
- java单例,懒汉&饿汉
* 单例模式Singleton * 应用场合:有些对象只需要一个就足够了,如皇帝 * 作用: 保证整个应用程序中某个实例有且只有一个 * 区别: 饿汉模式的特点是加载类时比较慢,但运行是比较快 ...
- php封装练习
<body> <?php class jisuan { private $a; private $b; function __construct($a,$b) { $this-> ...
- 4.抽象工厂模式(Abstract Factory)
using System; using System.Reflection; namespace ConsoleApplication1 { class Program { static void M ...
- .net学习之.net和C#关系、运行过程、数据类型、类型转换、值类型和引用类型、数组以及方法参数等
1..net 和 C# 的关系.net 是一个平台,C#是种语言,C#语言可以通过.net平台来编写.部署.运行.net应用程序,C#通过.net平台开发.net应用程序2..net平台的重要组成FC ...
- adbWireless 简单教程
adbWireless:无线使用ADB(siir.es.adbWireless) 下载: http://www.coolapk.com/apk/siir.es.adbWireless >> ...
- wp8 导航方法
全局跳转 (App.Current.RootVisual as PhoneApplicationFrame).Navigate(new Uri("/Tools/SpatialQueryCha ...
- OracleDBConsoleorcl是具体管什么的服务(转)
这个服务是oracle EM的就是oracle企业管理器这个工具可以通过网页的方式监控数据库,对数据库参数等做修改.里面还有oracle本身对于当前系统内存,SQL,参数等的建议.DBA可以根绝这些建 ...
- C++的那些事:函数全解析
一.函数的结构 函数在C++中可能出现在三种地方,一是函数的定义,它包括了如上图的结构:二是函数的声明,它与函数的定义相比,没有了函数体部分:三则是函数的调用.当然,不同的函数定义可以还会稍有不同,比 ...
- 【转】HADOOP HDFS BALANCER介绍及经验总结
转自:http://www.aboutyun.com/thread-7354-1-1.html 集群平衡介绍 Hadoop的HDFS集群非常容易出现机器与机器之间磁盘利用率不平衡的情况,比如集群中添加 ...