哪个设备正在使用该逻辑卷?

哪个设备正在使用该逻辑卷?

我正在尝试删除 LVM 逻辑卷,我认为该逻​​辑卷目前尚未使用。

但是,当我尝试删除它时,出现错误:

# lvremove /dev/vg_service1/lv_home 
  Logical volume vg_service1/lv_home is used by another device.

它肯定没有安装,因为这不会返回任何内容:

# mount | grep lv_home

有什么方法可以知道什么在使用这个逻辑卷吗?

答案1

使用 lsof(8):

# lsof /dev/vg_service1/lv_home

目前我无法访问 Linux 机器来验证其输出,但在我的 Mac 上它是这样的:

# lsof /dev/disk1 | head
COMMAND    PID           USER   FD   TYPE DEVICE  SIZE/OFF    NODE NAME
launchd      1           root  cwd    DIR   14,4      1564       2 /
launchd      1           root  txt    REG   14,4    415248 7402611 /sbin/launchd
launchd      1           root  txt    REG   14,4     59504 7399166 /usr/lib/libauditd.0.dylib
launchd      1           root  txt    REG   14,4    599232 7402371 /usr/lib/dyld
launchd      1           root  txt    REG   14,4 289054720 8865364 /private/var/db/dyld/dyld_shared_cache_x86_64
launchd      1           root   20r   DIR   14,4       170 7402529 /private/var/tmp
launchd      1           root   24r   REG   14,4         0 9885226 /private/var/run/socketfilterfw.launchd
launchd      1           root   25r   DIR   14,4      2040 7393527 /private/var/db

您应该在系统上看到类似的内容。

答案2

事实证明,逻辑卷本身就是卷组的一部分。它没有出现在 /proc/mounts 或 lsof 的输出中。我能够发现这一点的唯一方法是通过“pvdisplay”命令,它显示为物理卷:

# pvdisplay 

...

  --- Physical volume ---
  PV Name               /dev/vg_service1/lv_home
  VG Name               nova-volumes
  PV Size               179.91 GiB / not usable 4.00 MiB
  ...

答案3

还有另一个难以理解的原因导致您的 LVM 快照可能很忙

运行时grub-update,它将用于grub-mount挂载设备并检查它们是否包含操作系统,并可能将它们添加到启动菜单中;但grub-update有时会无法卸载它们,在这种情况下将无法删除快照。

请注意,grub-update安装新内核时将自动运行,这可能是由于自动安全更新而发生的。

到目前为止最好的选择是添加到,GRUB_DISABLE_OS_PROBER=true 这样/etc/default/grubgrub-update不会安装任何东西。无论如何我都推荐它。

回到最初的问题:如果您无法卸载快照,请尝试umount /var/lib/os-prober/mount/

请注意,当/如果快照完全满时,快照将无效,并且上述命令可能会失败,在这种情况下,您唯一的机会将是重新启动。

答案4

就我而言,我也有同样的问题。经过一番搜索,有人谈到了nfs文件共享的服务。

所以这种情况只需要重启nfs服务然后尝试移除逻辑卷磁盘:

service nfs-kernel-server restart
lvremove -f /dev/vg_service1/lv_home

相关内容