您的位置:首页 > 运维架构

关于lvremove删除openstack cinder volume所对应的逻辑卷的方法

2014-01-09 00:00 232 查看
按照我的理解,openstack里的cinder volume创建、管理磁盘实际是用tgtadm管理的来自网络中的lvm磁盘。

有时cinder volume一直处于creating状态或者deleting状态,下层磁盘用不了也删不掉,占了很大的磁盘空间。既然它是用lvm管理的所以可以用lvm相关的工具来删除它。

先找到要删除的volume的lvm路径,我的是:/dev/cinder-vol/volume-725230c0-558a-422a-b9aa-5f309ed42798

直接lvremove /dev/cinder-vol/volume-725230c0-558a-422a-b9aa-5f309ed42798

结果报错:device-mapper: remove ioctl on failed: Device or resource busy。好吧设备繁忙。

再看:dmsetup info -c /dev/cinder-vol/volume-725230c0-558a-422a-b9aa-5f309ed42798

Name Maj Min Stat Open Targ Event UUID

cinder--vol-volume--725230c0--558a--422a--b9aa--5f309ed42798 252 5 L--w 1 1 0 LVM-CMpL6mPY7LjVj3tIuF3YNvDyBtXqsmymJRiBrju5UXaoeWXxPqvAx9cLX3DlNTZI

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

看看是谁打开的:

fuser -m /dev/cinder-vol/volume-725230c0-558a-422a-b9aa-5f309ed42798

/dev/dm-5: 5214

它对应的下层块设备是/dev/dm-5,可能是因为它被mount了所以尝试:umount /dev/dm-5

umount: /dev/dm-5: not mounted

结果是没mount。。

看来应该是因为tgtd使用了这个逻辑卷,查看一下:

tgtadm --op show --mode target|grep 7252

Target 3: iqn.2010-10.org.openstack:volume-725230c0-558a-422a-b9aa-5f309ed42798

Backing store path: /dev/cinder-vol/volume-725230c0-558a-422a-b9aa-5f309ed42798

果然,删除之:tgtadm --op show --mode target --op delete --tid 3

再来看看文件打开状态

dmsetup info -c /dev/cinder-vol/volume-725230c0-558a-422a-b9aa-5f309ed42798

Name Maj Min Stat Open Targ Event UUID

cinder--vol-volume--725230c0--558a--422a--b9aa--5f309ed42798 252 5 L--w 0 1 0 LVM-CMpL6mPY7LjVj3tIuF3YNvDyBtXqsmymJRiBrju5UXaoeWXxPqvAx9cLX3DlNTZI

好了现在可以删除了:

lvremove /dev/cinder-vol/volume-725230c0-558a-422a-b9aa-5f309ed42798
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: