서버 A는 NFS 서버였습니다. 서버 B는 그 수출을 시작했다. 모든 것이 괜찮았다. 그런 다음 A는 죽었다. 그냥 껐어 지나간. 사라졌다.
그러나 그 폴더는 여전히 B에 마운트되어 있습니다. 분명히 그 폴더 cd
나 다른 것에 넣을 수 없습니다 . 그러나 umount /mnt/myfolder
그냥 멈추고 마운트되지 않습니다. 어쨌든 B를 다시 시작하지 않고 마운트를 해제해야합니까?
클라이언트와 서버는 모두 Linux 시스템입니다.
서버 A는 NFS 서버였습니다. 서버 B는 그 수출을 시작했다. 모든 것이 괜찮았다. 그런 다음 A는 죽었다. 그냥 껐어 지나간. 사라졌다.
그러나 그 폴더는 여전히 B에 마운트되어 있습니다. 분명히 그 폴더 cd
나 다른 것에 넣을 수 없습니다 . 그러나 umount /mnt/myfolder
그냥 멈추고 마운트되지 않습니다. 어쨌든 B를 다시 시작하지 않고 마운트를 해제해야합니까?
클라이언트와 서버는 모두 Linux 시스템입니다.
답변:
리눅스 가정 :
umount -f -l /mnt/myfolder
문제를 해결할 것입니다 :
-f
마운트 해제 할 수없는 NFS 시스템 인 경우 강제로 마운트 해제하십시오. (커널 2.1.116 이상이 필요합니다.)
-l
게으른 마운트 해제 파일 시스템 계층에서 파일 시스템을 분리하고 더 이상 사용하지 않는 즉시 파일 시스템에 대한 모든 참조를 정리하십시오. (커널 2.4.11 이상이 필요합니다.)
-f
Solaris 및 AIX에도 존재합니다.
umount -f -l nfsserver:/export/thefolder
.
David Pashley가 제공 한 힌트를 자세히 설명 하면
"umount -l"로 문제를 해결하지 않으면 사라진 주소와 동일한 주소로 가짜 서버를 설정할 수 있지만 실제로 새 서버 나 다른 것을 설정할 필요는 없습니다. 차단 / 정지 된 umount 상황에서 가장 쉬운 방법 은 다음과 같이 로컬 별명 IP 인터페이스 를 설정하는 것입니다.
ifconfig eth0:nfstmp 11.22.33.44 netmask 255.255.255.255
umount -l /mnt/deadnfsmount # -l or -f or whichever that gets the job done
ifconfig eth0:nfstmp down
(분명히 11.22.33.44는 (현재 죽은) NFS 서버의 (이전) IP 주소입니다)
중단되거나 충돌 할 수 intr
있는 /etc/fstab
항목에 옵션 을 추가하는 것이 좋습니다 . soft
또는 intr
옵션을 사용하지 않으면 NFS 파일을 호스팅하는 서버가 다운되면 파일이 마운트 된 서버 (클라이언트)가 부팅 할 때 중단 될 수 있습니다.
에 따르면 man 5 nfs
:
soft / hard
NFS 요청이 시간 초과 된 후 NFS 클라이언트의 복구 동작을 결정합니다. 옵션을 지정하지 않거나 hard 옵션을 지정하면 NFS 요청이 무기한 재 시도됩니다. soft 옵션이 지정되면 재전송 재전송이 전송 된 후 NFS 클라이언트가 NFS 요청에 실패하여 NFS 클라이언트가 호출 응용 프로그램에 오류를 리턴합니다.
... 그리고 계속해서 intr
선호하는 soft
것이지만 교수형을 방지하는 비슷한 효과가 있습니다.
따로, automount 를 사용 하면 마운트 해제 할 NFS 공유를 사용할 수 없을 때 처리 할 수 있으므로 나중에이 상황에 빠지지 않습니다.
나는 일을 해 본 적이 없다 umount -f
. 유용한 내보내기는 동일한 내보내기를 마운트하는 다른 서버를 설정하고 이전 서버와 동일한 IP 주소를 제공하는 것입니다. NFS 클라이언트는 모든 것이 정상으로 돌아오고 프로세스 차단이 해제 될 것이라고 생각해야합니다. 그런 다음 마운트 포인트를 정상적으로 마운트 해제하고 임시 NFS 서버에서 IP 주소를 제거 할 수 있습니다.