当我尝试删除逻辑卷时,我收到消息
#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
Run Code Online (Sandbox Code Playgroud)
如何强制删除此卷?
谢谢,埃弗雷特
Edu*_*nec 14
逻辑卷包含什么?它是一个文件系统(我不小心写了分区)?会不会是装的?在这种情况下:
umount /dev/my-volumes/volume-1
它有任何活动快照吗?
编辑:尝试lvchange -an -v /dev/my-volumes/volume-1
和lvremove -vf /dev/my-volumes/volume-1
。
编辑2:请发布'lvs'。
编辑 3:尝试使用其他一些有问题的卷。这不是最干净的选择,但根据此站点,它可能会起作用,并且无论如何都比重新启动问题少。
dmsetup remove my--volumes-volume--number
lvremove /dev/my-volumes/volume-number
Run Code Online (Sandbox Code Playgroud)
小智 13
如果您无法卸载或 lvremove 逻辑卷,请验证没有进程持有 LV
找到您要删除的逻辑卷的主要/次要编号,例如:vol0
# dmsetup info -c | grep vol0
Run Code Online (Sandbox Code Playgroud)
请注意第 5 列,它表示一个卷是否“打开”,以及第 2 和第 3 列,分别是主要和次要 ID。
通过搜索上面发现的主要和次要 ID 来查找附加到此卷的任何进程:
# lsof | grep "major,minor"
Run Code Online (Sandbox Code Playgroud)
关闭或终止任何仍在访问该卷的进程以继续卸载和删除。
然后尝试lvremove
您可能正在运行 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
Run Code Online (Sandbox Code Playgroud)
如果是 iet,请通过执行以下操作来停止服务:
service iscsitarget stop
Run Code Online (Sandbox Code Playgroud)
如果是 tgt,请通过执行以下操作来停止服务:
service tgt stop
Run Code Online (Sandbox Code Playgroud)
然后您应该能够删除您的卷。
小智 5
我遇到了类似的情况,但是 LV 的删除被阻止了,因为我使用的是 mount -o bind。
下面的文章有很大帮助,使用 lsof 和 LV 的主要/次要编号显示进程保持打开的 LV,在我的情况下是 smbd。
不仅仅是简单的 cat /proc/mounts | grep LV_name 让我得出结论,为什么 lvremove 或 dmsetup remove 拒绝摆脱未安装的 LV。
http://kb.eclipseinc.com/kb/why-cant-i-remove-a-linux-logical-volume/
归档时间: |
|
查看次数: |
112932 次 |
最近记录: |