无法删除打开的逻辑卷


20

当我尝试删除逻辑卷时,收到消息

#lvremove /dev/my-volumes/volume-1 
Can't remove open logical volume "volume-1"

#lvchange -an -v /dev/my-volumes/volume-1 
Using logical volume(s) on command line
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
Deactivating logical volume "volume-1"
Found volume group "my-volumes"
LV my-volumes/volume-1 in use: not deactivating

#lvremove -vf /dev/my-volumes/volume-1 
Using logical volume(s) on command line
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
Can't remove open logical volume "volume-1"

#lvs
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
LV              VG           Attr   LSize   Origin Snap%  Move Log Copy%  Convert
volume-1        my-volumes   -wi-ao  50.00g  

如何强制删除此卷?

谢谢,埃弗里特

Answers:


13

逻辑卷包含什么?它是文件系统(我不小心写了分区)吗?可以安装吗?在这种情况下:

umount /dev/my-volumes/volume-1

它有活动的快照吗?

编辑:尝试lvchange -an -v /dev/my-volumes/volume-1lvremove -vf /dev/my-volumes/volume-1

编辑2:请张贴“ lvs”。

编辑3:尝试其他有问题的卷。这不是最干净的选择,但是根据该站点的说法,它可能会起作用,并且比重新启动问题要少。

dmsetup remove my--volumes-volume--number
lvremove /dev/my-volumes/volume-number

它不包含任何东西。它不是分区。它没有安装(不再)。没有活动的快照。
Everett Toews,

好吧,您是用它做什么的?它可能为我们提供了可能出问题的线索。
Eduardo Ivanec

已将您要求的信息添加到问题中。它被用作OpenStack Compute(又名Nova)的卷。我实际上设法通过去核并重新引导计算机然后执行lvremove来删除它。比我想做的要激烈得多。我还有其他一些卷可以挂掉,而无需重新引导就可以删除,因此,您能提供的任何帮助将不胜感激。
Everett Toews

我添加了一些内容供您尝试其他问题卷。
Eduardo Ivanec

试了一下 没运气。我还尝试了wiki.davidjb.com/…的所有内容(因此在我的某些输出中出现了“ / dev / dm-1:读取失败...”),但是那也不起作用。
Everett Toews

9

如果您无法卸载或lvremove逻辑卷,请验证没有任何进程包含LV

找到您要删除的逻辑卷的主要/次要数字,例如:vol0

# dmsetup info -c | grep vol0

注意第5列(指示卷是否为“打开”),第2列和第3列分别是主要ID和次要ID。

通过搜索上面发现的主要和次要ID,找到与此卷相关的任何进程:

# lsof | grep "major,minor"

关闭或终止仍在访问该卷的任何进程以继续卸载和移除。

然后尝试lvremove


对我来说没有帮助。lsof,fuser不显示任何用法。dmsetup说设备正忙。设备已卸载(可以随时安装)。只有重新启动硬件才有帮助:/
John

5

您可能正在运行iet或tgt(这取决于您iscsi_helper在/etc/nova/nova.conf中的值,默认值为iet),并且该服务具有打开的文件句柄。您可以通过执行以下操作来检查哪一个(在我的情况下是tgt)

# fuser /dev/nova-volumes/volume-00000001
/dev/dm-5:           19155

# lsof | grep /dev/dm-5
tgtd      19155            root   12u      BLK              252,5         0t0    2531554 /dev/dm-5

如果是,请通过执行以下操作停止服务:

service iscsitarget stop

如果是tgt,请执行以下操作停止服务:

service tgt stop

然后,您应该能够删除卷。


这为我解决了OpenStack的问题
juanluisrp 16/09/16

5

我遇到了类似的情况,但是删除LV被阻止了,因为我正在使用mount -o bind。

下面的文章有很多帮助,将lsof与主要/次要LV一起使用时,表明进程保持打开了LV,在我的情况下为smbd。

比只是cat / proc / mounts | grep LV_name使我得出结论,为什么lvremove或dmsetup删除垃圾以摆脱未安装的LV。

http://kb.eclipseinc.com/kb/why-cant-i-remove-a-linux-logical-volume/


2

通过config关闭使用文件系统的LXC容器:lxc.mount.entry


1

如果您无法删除lvm,请按照以下步骤操作:

  1. 卸载分区:

    #卸载/ dev / sda8

    (例如,我已将分区安装在上/dev/sda8

  2. 尝试lvm像这样删除:

    #lvremove / dev / vgname / lvname

如果收到类似“ 无法在linux中删除打开的逻辑卷 ”之类的错误,请尝试通过以下命令停用LVM,然后将其删除:

 # lvchange -an  /dev/vgname/lvname

 # lvremove /dev/vgname/lvname

让我们知道您是否遇到任何问题。


0

我有一个来自iSCSI设备上3个PV的LV的问题(带多路径)。

没有解决方案,只能重新启动!(在fstab中将其注释掉,因此不会再次挂载)

也许可以帮助某人。


0

这也可能被RHEL中的nfslock服务锁定,只需停止该服务,您就可以进行了。


0

我有一个类似的问题。我尝试删除的lv是一个VM块设备,其中包含一个卷组。该卷组已在lvm.conf中过滤,但是较早创建了一些dev映射器项。

要弄清楚该设备是否被某个设备持有,请查看其次要编号(253,??ll /dev/<vg>/<lv>指向../dm-??

然后ls -la /sys/dev/block/253:??/holders会为您提供-> ../../dm-xx在设备上中继的vg(ex )链接(以pv格式)

dmsetup remove /dev/dm-xx(确保未使用那些dm)将其删除。然后,应删除/ dev //,它不再是某个地方的“ pv”


林我的情况下,这是dmsetup remove /dev/dm-36,但我得到的错误device-mapper: remove ioctl on vg0-snap--tmp--vm06.docker--disk failed: – Device or resource busy – Command failed见:serverfault.com/questions/926681/...
rubo77

0

您可以断开LV与DM设备的链接:

热熔器-kuc / dev / my-sample-volumes / volume-sample-1

/ dev / dm-21:2400ce(根)2739ce(根)4793ce(根)

ls -l / dev / my-sample-volumes / volume-sample-1

lrwxrwxrwx 1 root root 8 Aug 15 02:53 / dev / my-sample-volumes / volume-sample-1-> ../dm-21

取消链接/ dev / my-sample-volumes / volume-sample-1

lvremove / dev / my-sample-volumes / volume-sample-1


大家好 我认为lvremove以后不会继续工作unlink,您能澄清一下那部分吗?只需编辑您的答案。
kubanczyk

它应该工作。我已经测试过了 它只会取消链接到其软链接。LV应该仍然存在,您可以使用lvremove将其删除。
零零

0

就我而言,我在容器中运行cAdvisor,这似乎阻止了启动时安装的任何块设备的移除。我的解决方法是:

  1. 卸载LVM卷
  2. 重新启动cAdvisor容器(docker restart $CONTAINER_ID
  3. 再次尝试删除

-1

我和你有同样的问题。我尝试了以下命令并解决了:swapoff -a

lvremove ...


可能导致某人盲目尝试您的命令。最好指出一点,如果使用LV进行交换,则先交换掉lv,不仅如此-a
roothahn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.