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博客
随机推荐
- Power Strings(poj 2406)
题意:求字符串中循环节出现的次数 KMP!!! #include<cstdio> #include<iostream> #include<cstring> #def ...
- PostGreSQL最简安装
A.先用yum安装服务器和客户端 yum install postgresql yum install postgresql-server B.初始化数据库并启动服务 service postgres ...
- 面向服务的体系结构(SOA)——(1)目标与核心概念
什么是SOA? 常常听到人们拿OOP和SOA一起来说事,诸如SOA是否可以代替面向对象(OOP)或者两者比哪个更加有优势?直接回答有难度举个例子可能显得答案更容易理解.小孩子问你该认真写作业呢?还是高 ...
- android 拨号
public class CallActivity extends Activity { @Override public void onCreate(Bundle savedInstanceStat ...
- Codeforces Gym 100203G G - Good elements 标记暴力
G - Good elementsTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/ ...
- MySQL用户与权限管理
执行mysql select 查询报错: SELECT command denied to user 'root'@'localhost' for table "xxx" 问题原因 ...
- Android 编程下 App Install Location
从 API 8 开始(参考官方文档:App Install Location | Android Developers),你可以将你的应用安装在外部储存中(例如,安装到设备的 SD 卡上).这是一个可 ...
- Xamarin.iOS模拟器调试找不到资源文件
Xamarin.iOS模拟器调试找不到资源文件 在Visual Studio 2015中,运行Xamarin.iOS项目,出现找不到资源文件的错误.错误信息:System.IO.FileNotFoun ...
- Codeforces Round #294 (Div. 2)
水 A. A and B and Chess /* 水题 */ #include <cstdio> #include <algorithm> #include <iost ...
- DFS+模拟 ZOJ 3861 Valid Pattern Lock
题目传送门 /* 题意:手机划屏解锁,一笔连通所有数字,输出所有可能的路径: DFS:全排列 + ok () 判断函数,去除一些不可能连通的点:) */ #include <cstdio> ...