OpenStack虚拟机无法删除简单案例

有一个物理节点上一些虚拟机一直无法删除,调用nova接口状态如下

+--------+------------+-------------+
| Status | Task State | Power State |
+--------+------------+-------------+
| BUILD  | deleting   | NOSTATE     |
| BUILD  | deleting   | NOSTATE     |
| BUILD  | deleting   | NOSTATE     |
| BUILD  | deleting   | NOSTATE     |
| BUILD  | deleting   | NOSTATE     |
| BUILD  | deleting   | NOSTATE     |
| BUILD  | deleting   | NOSTATE     |
| BUILD  | deleting   | NOSTATE     |
| BUILD  | deleting   | NOSTATE     |
| BUILD  | deleting   | NOSTATE     |

第一感觉,貌似是在虚拟机创建的时候下达了delete命令,会不会是因为这个而卡住,因此先通过将虚拟机reset成ERROR状态,然后再次试着delete虚拟机,可惜结果依旧是deleting,表中无法清楚,因此就需要看下日志了

通过—debug来delete虚拟机,得到requestID先

RESP: [204] {'date': 'Mon, 10 Oct 2016 02:24:54 GMT', 'connection': 'keep-alive', 'content-type': 'application/json', 'content-length': '0', 'x-compute-request-id': 'req-a942592b-8b6d-433a-97d6-3fcd5e9352cb'}
RESP BODY:

查找nova日志的话,由于服务较多,有api,sch,compute等,要么一个一个节点上去grep这个requestID,然后来定位查询,这里直接通过ELK(ElasticSearch,Logstash,Kibana)来进行定位日志

直接关键字里输入(去掉*)

message: "req-a942592b-8b6d-433a-97d6-3fcd5e9352cb"

当然时间区间Last xxxx,然后下来选中nova-*,表示是nova日志,Selected Fields选中host和message,就会列出对应的message相关日志和所在的host节点,大概就这样

A7c70f27b1f1081125bfc9136c38608a

 

 

 

 

 

 

 

 

 

 

 

 

 

这样就直接上对应的节点,这里只能找到有API节点的日志,而缺少了scheduler和compute日志,这样基本就排除了nova-compute卡住这种问题了,但是从下面api日志里也没看出任何问题,从compute日志最后也找不到GreenPool free size:的相关信息

因此就只能怀疑消息发出去了,但是堵塞住了,因此看下这个节点消息队列的情况,果然是堵塞了

NewImage

 

 

 

 

因此,将消息清掉,然后重启该节点的nova-compute进程,即可恢复正常

 

 

 

 

 

发表评论