也许有更好的方法来实现我想要实现的目标,所以让我描述整个问题。我的/
和/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
也可以看到这些访问。