请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站
联系我们
查看: 2457|回复: 0

OpenStack删除Cinder盘失败解决办法

[复制链接]

141

主题

144

帖子

601

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
601
发表于 2017-4-17 23:32:20 | 显示全部楼层 |阅读模式

问题Openstack Mitaka版本,终止了云主机之后,发现无法删除对应的云硬盘,删除提示报错为云硬盘的状态不是错误或者可用状态
思路1 切换至admin用户,进入数据库手动更新云硬盘的状态至错误状态
2 针对lvm,可以用命令lvdisplay列出所有卷的信息,如果现在应用命令lvremove来删除相应的卷,则会提示要删除的卷正在使用中,所以我们使用命令lsof查看相应卷所占用的进程,然后kill这个进程;
3 应用命令lvremove来删除相应的卷.
这里只针对第一种方法实践
操作查看云硬盘状态:
1
cinder list | grep error  



命令行删除,提示报错说还有依赖的快照
cinder delete XXX
123
Delete for volume XXX failed: Invalid volume: Volume still has 1 dependent snapshots. (HTTP 400) (Request-ID: req-5ba025fb-5a61-422b-b00a-556e19083bd5)ERROR: Unable to delete any of the specified volumes.



方法有很多,这里介绍一种简单的。采取暴力手段,进入元数据库。

show databases;

use cinder;
show tables;

select找到出错的数据

删除元数据库中的数据,不过不能简单得把这个cinder盘的数据删除,以为数据库有外键依赖,而是要把cinder盘的error—deleting改成deleted

再次查看云硬盘状态:

发现已经成功得删除了出错的cinder盘
总结:
1、删除的时候注意id和volume-id两个字段,不要弄混掉了;2、测试环境,暴力解决问题还是不太好,注意检查日志来对症下药。
3、不要简单得去删除表中数据,而是需要更改状态

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表