【运维篇】删除Cinder僵尸卷

删除cinder僵尸卷

 

问题描述:

         最近清理openstack环境,在删除cinder云硬盘时,出现数据删不掉,一直处理于deleteing状态。

【运维篇】删除Cinder僵尸卷_第1张图片

        查询/var/log/cinder下面的日志信息,无报错。于时开始地毯式的搜索解决问题的办法,无意间在网上找到一篇文章,用于处理cinder中僵尸卷。附地址:

http://blog.csdn.net/gaoxingnengjisuan/article/details/20871731

 

解决办法如下:

1、针对lvm,可以用命令lvdisplay列出所有卷的信息,如果现在应用命令lvremove来删除相应的卷,则会提示要删除的卷正在使用中,所以我们使用命令lsof查看相应卷所占用的进程,然后kill这个进程;

2、应用命令lvremove来删除相应的卷;

解决过程如下:

1、通过lvdisplay |grep查询cinder对应的卷地址。

lvdisplay | grep "3a615ad5-5880-4b68-b1af-f9241ecd9287"

2、通过lsof | grep查询占用cinder卷的端口

lsof| grep "3a615ad5-5880-4b68-b1af-f9241ecd9287"
kill-9 76568


3、通过lvremove删除相应的卷

lvremove /dev/cinder-volumes/volume-3a615ad5-5880-4b68-b1af-f9241ecd9287
结果报错: device-mapper: remove ioctl on failed: Deviceor resource busy 。设备繁忙

【运维篇】删除Cinder僵尸卷_第2张图片

4dmsetupinfo -c /dev/cinder-volumes/volume-3a615ad5-5880-4b68-b1af-f9241ecd9287 查看是否被打开


可以看到open4说明它被打开了,所以remove不掉。

5fuser -m /dev/cinder-volumes/volume-3a615ad5-5880-4b68-b1af-f9241ecd9287 查看是谁打开的


我们可以看到有四个进程打开/dev/dm-5

6把占用设备的进程杀掉

kill -9  58638 76788  78918  80050

7 、重新执行第 4 5 步,验证是否还有进程占用

从上图可以看到open0,表示现在没有进程占用

8 、重复第 3 步操作,通过 lvremove 删除相应的卷


删除成功!

9、验证卷是否存在


volume-3a615ad5-5880-4b68-b1af-f9241ecd9287已被删除!

10、进入系统,更改需要删除卷状态为“可用配额,然后“删除卷”

【运维篇】删除Cinder僵尸卷_第3张图片

操作完成!



你可能感兴趣的:(【运维篇】删除Cinder僵尸卷)