NFS 마운트 디렉토리 강제 마운트 해제 [닫힘]


163

중단 된 Linux 시스템에 NFS 마운트 디렉토리가 있습니다. 마운트 해제를 강제로 시도했지만 작동하지 않는 것 같습니다.

$ umount -f /mnt/data
$ umount2: Device or resource busy
$ umount: /mnt/data: device is busy

" mount"를 입력 하면 디렉토리가 더 이상 마운트되지 않은 것처럼 보이지만 " ls /mnt/data"를 수행하면 마운트가 중단 되고 마운트 포인트를 제거하려고하면 다음과 같은 결과가 나타납니다 .

$ rmdir /mnt/data
rmdir: /mnt/data: Device or resource busy

컴퓨터를 재부팅하는 것 외에 다른 방법이 있습니까?


3
나는이 문제를 심각하게 혼란에 빠뜨리기로 투표 한 사람에 동의합니다. 이 문제는 몇 년 동안 저를 괴롭 혔으며 Linux의 경우 umount -l은 내가 찾은 첫 번째 해결책입니다.
Lizardx

1
알았지 만 수퍼 유저에서 찾을 수 있습니다. 왜 질문이 닫힌 대신 이동되지 않았는지 알 수는 없습니다.
15:30에

언 마운트를 들어 --force마운트 해제에 열심히 노력 할 것이다 -v또는 -vvv마운트에 문제가 무엇인지 더 발표 할 예정도. 그래서 시도하십시오 :umount -vvv --force /badmount
gaoithe

5
@deeenes이 질문은 2008 년 9 월에 요청되었고 2009 년 7 월까지 수퍼 유저가 시작되지 않았기 때문에 ;-)
Martin Tournoij

@Carpetsmoker 있지만 2013 년 오프 주제로 표시되었다
hintss

답변:


254

게으른 마운트 해제를 시도 할 수 있습니다.

umount -l

3
이것은 모든 곳에서 구현되지 않습니다. 예를 들어 FreeBSD에는 없습니다.
Daniel Papasian

28
@Daniel : 확실하지만 입니다 리눅스 질문 (예 :도로 태그가), 및 Linux를 가지고있다.
위르겐 A. 에르하르트

5
우분투 에서이 명령을 시도했지만 작동하지 않았습니다.
키어런 앤드류스

1
이것은 나를 위해 일했습니다 (Slackware 14.0). NFS가 아닌 CIFS 마운트를 사용하여 모든 것을 포함하고있었습니다 (포함 lsof). 작성중인 백업 스크립트를 중단하여 문제가 발생했습니다. 스크립트는 디렉토리를 마운트 및 마운트 해제하지만 rsync마운트 를 엉망 으로 만드는 것에 관한 것입니다 . 게으른 마운트 해제에 대해 몰랐습니다. 모든 문제를 일으키는 NAS 장치 일 수 있습니다. 성공적으로 마운트를 해제 한 후 다시 마운트하기 전에 장치를 재부팅해야한다는 것이 밝혀졌습니다.
paddy

10
@KieranAndrews와 Ubuntu의 다른 사람은 시도하십시오 fusermount -uz /path/to/file. 나를 위해 매력을 일했다! :)
Matt Fletcher

78

NFS 서버가 사라져 온라인으로 되돌릴 수없는 경우, 사용하는 한 가지 트릭은 NFS 서버의 IP (이 예에서는 192.0.2.55)로 인터페이스에 별칭을 추가하는 것입니다.

리눅스

그 명령은 대략 다음과 같습니다.

ifconfig eth0:fakenfs 192.0.2.55 netmask 255.255.255.255

여기서 192.0.2.55는 사라진 NFS 서버의 IP입니다. 그런 다음 주소를 ping 할 수 있어야하며 파일 시스템을 마운트 해제 할 수도 있습니다 (unmount -f 사용). 그런 다음 별칭이 지정된 인터페이스를 삭제하여 더 이상 트래픽을 기존 NFS 서버로 라우팅하지 않도록해야합니다.

ifconfig eth0:fakenfs down

FreeBSD 및 이와 유사한 운영 체제

명령은 다음과 같습니다.

ifconfig em0 alias 192.0.2.55 netmask 255.255.255.255

그런 다음 제거하십시오.

ifconfig em0 delete 192.0.2.55

자세한 내용은 man ifconfig (8)를 참조하십시오!


5
ifconfig eth0:fakenfs ...' and umount -f -l / my / mount / dir ' 의 조합으로 문제가 해결되었습니다.
pts

1
나도 언 마운트 문제로 인해 랩톱이 일시 중지되지 않으므로이 솔루션이 정말 유용합니다. 나도 자동화 할 스크립트를 만들었습니다.
albfan

따라서 리눅스에서 별칭을 제거하는 것이 ifconfig eth0:fakenfs delete좋을까요? 아니면 다른 것을 찾고 있습니까? 처럼 ifconfig eth0 delete 192.0.2.55?
Ehtesh Choudhury

2
@Shurane Linux에서 별칭을 제거 ifconfig eth0:fakenfs down하면 트릭을 수행해야합니다.
Sven

1
고마워, 화려한 작업! 내 경우에는 NFS 서버가이 속임수를 썼는지, 그것을 언 마운트 할 수 없습니다 온라인 아직도 돌아왔다, 환호
nmirceac

20

달리기

lsof | grep /mnt/data

/ mnt / data에 액세스하는 프로세스가 마운트 해제되지 않도록하는 프로세스를 나열해야합니다.


1
확실히 도움이되었지만 완전히 저를 구하지 못했습니다. 하지만 도움이되었습니다.
제임스 T 스넬

2
lsof가 영원히 중단되면 "lsof -b"를 시도하십시오 (NFS에 lsof 버그가 있습니다 (예 : bugzilla.redhat.com/show_bug.cgi?id=962755 )).
dr0i

11

나는 똑같은 문제가 있었고 umount /path -f, 어느 것도 umount.nfs /path -f, 어느 것도 fuser -km /path작동 하지 않았다 .

마침내 나는 간단한 해결책을 찾았습니다.>. <

sudo /etc/init.d/nfs-common restart그런 다음 간단한 umount;-)


5
나를 위해 일했다umount -f -l ...
mivk

우분투 서버 14.04에서 나는해야 sudo service nfs-kernel-server restart했지만, 당신의 대답은 분명히 올바른 길로 인도했습니다. 감사합니다!
Murmel

4

NFS 서버가 사라졌습니다.

NFS 서버가 돌아 오는 것이 가장 좋습니다.

그렇지 않은 경우 "umount -f"가 트릭을 수행 했어야합니다. 항상 작동하지는 않지만 종종 작동합니다.

NFS 파일 시스템을 사용하는 프로세스를 알고있는 경우 해당 프로세스를 종료하려고 시도하면 마운트 해제가 작동 할 수 있습니다.

마지막으로 재부팅해야 할 것 같습니다.

또한 NFS 드라이브를 소프트 마운트하지 마십시오. 하드 마운트를 사용하여 작동하는지 확인하십시오. 글을 쓰는 경우 필요합니다.


소프트 대 하드 마운팅은 사용 사례의 문제인 것 같습니다. 예, 소프트 마운트로 인해 NFS 서버가 어떤 이유로 다운되면 현재 기록중인 파일이 손상되어 시스템에 중요한 디렉토리가 아닐 수 있지만 음악 및 영화와 같이 중요하지 않은 파일이있는 드라이브의 경우 작동합니다 괜찮아
zrajm

4

실제 답변을 찾을 수 없습니다. 그러나 리눅스에서는 "umount.nfs4 / volume -f"를 실행하면 확실히 마운트 해제됩니다.


4
umount.nfs4가 umount의 하위 명령이 아닙니까? 즉, umount -f /some/mountpoint와 동일합니다 umount.nfs4 /some/mountpoint -f.
Ville

1
흥미 롭군 내 편에서 (NFS- 서버가 사라진 후) : umountcalls umount.nfs는 옵션에 관계없이 영원히 중단됩니다. umount.nfs4 /mnt -f꽤 오래 걸리지 만 완료됩니다. umount.nfs4 /mnt -l프로세스를 기다리지 않기 때문에 즉시 완료됩니다.
Tino
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.