논리 볼륨을 사용하는 것이 무엇인지 확인하는 방법은 무엇입니까?

논리 볼륨을 사용하는 것이 무엇인지 확인하는 방법은 무엇입니까?

아마도 내가 달성하려는 것을 달성하는 더 좋은 방법이 있을 수 있으므로 전체 문제를 설명하겠습니다. 내 디렉토리 //home디렉토리는 별도의 LV에 있습니다. 문제가 발생하여 /LV에 공간이 부족해졌습니다. 그런 다음 백업 /home하고 크기를 조정할 수 있도록 삭제해 보았습니다 /. 그러나 루트 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 쉘이 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이러한 방문도 볼 수 있습니다.

관련 정보