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

Lor*_*ein 7 rhel lvm

我正在尝试删除一个 LVM 逻辑卷,我认为它目前没有被使用。

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

# lvremove /dev/vg_service1/lv_home 
  Logical volume vg_service1/lv_home is used by another device.
Run Code Online (Sandbox Code Playgroud)

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

# mount | grep lv_home
Run Code Online (Sandbox Code Playgroud)

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

che*_*cbs 5

使用 lsof(8):

# lsof /dev/vg_service1/lv_home
Run Code Online (Sandbox Code Playgroud)

目前我无法访问 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
Run Code Online (Sandbox Code Playgroud)

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


Lor*_*ein 4

事实证明,逻辑卷本身就是卷组的一部分。它没有出现在 /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
  ...
Run Code Online (Sandbox Code Playgroud)

  • `pvdisplay`之后,如何释放它? (11认同)