Lvm

如何檢查正在使用邏輯卷的內容?

  • February 12, 2022

也許有更好的方法來做我想要實現的目標,所以讓我描述一下整個問題。我的//home目錄位於單獨的 LV 上。它發生了,所以/LV 離開了空間。然後我備份我的/home並嘗試將其刪除以調整大小/。但是,當我登錄到 root tty 並嘗試解除安裝時/homelvchange -a n /dev/trixxxy-vg/home我得到提示,該邏輯卷正在使用中。

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

My.emacs.d.bashrcin/root是相關的連結/home/user/,所以我認為這可能會導致問題,但是在我刪除它們之後,什麼都沒有改變。

我想有一種我不知道的方法來檢查目前正在使用特定邏輯卷的內容。還是一種力量可以刪除這樣的分區?

您通常可以使用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看到了這些訪問。

引用自:https://unix.stackexchange.com/questions/455229