如何检查什么正在使用逻辑卷?

如何检查什么正在使用逻辑卷?

也许有更好的方法来实现我想要实现的目标,所以让我描述整个问题。我的//home目录位于单独的 LV 上。事情发生了,所以/LV 空间不足。然后我备份/home并尝试删除它以便能够调整大小/。但是,当我登录到 root tty 并尝试卸载/home时,lvchange -a n /dev/trixxxy-vg/home我收到提示该逻辑卷正在使用中。

Logical volume trixxxy-vg/home contains a filesystem in use.

我的.emacs.d.bashrc目录/root是相关的链接/home/user/,所以我认为这可能会导致问题,但删除它们后没有任何变化。

我想有一种我不知道的方法可以检查当前正在使用特定逻辑卷的文件。或者可以用一种力量来移除这样的分区吗?

答案1

您通常可以使用fuser或等工具lsof来查看当前正在使用哪些文件。这是我将要使用的示例lsof

背景

在这里我有以下设置:

$ mount | grep lvm
/dev/mapper/lvm--raid-lvm0 on /export/raid0 type ext3 (rw)

因此,如果我们运行lsof并 grep 查找该安装/export/raid0

$ lsof | grep '/export/raid0'
$

我们什么也得不到。但是如果我们cd /export/raid0

$ lsof | grep '/export'
bash      32083      root  cwd       DIR              253,2          4096          2 /export/raid0

我们看到 Bash shell 现在正在访问 LVM。现在让我们vi afile仍在目录中/export/raid0

$ lsof | grep '/export'
bash      32083      root  cwd       DIR              253,2          4096          2 /export/raid0
vi        32140      root  cwd       DIR              253,2          4096          2 /export/raid0
vi        32140      root    3u      REG              253,2          4096     278612 /export/raid0/.afile.swp

并且lsof也可以看到这些访问。

相关内容