![NFS 서버가 일시적으로 연결이 끊어졌습니다. 이제 df, ls 및 umount가 모두 중단됩니다.](https://linux55.com/image/44782/NFS%20%EC%84%9C%EB%B2%84%EA%B0%80%20%EC%9D%BC%EC%8B%9C%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EC%97%B0%EA%B2%B0%EC%9D%B4%20%EB%81%8A%EC%96%B4%EC%A1%8C%EC%8A%B5%EB%8B%88%EB%8B%A4.%20%EC%9D%B4%EC%A0%9C%20df%2C%20ls%20%EB%B0%8F%20umount%EA%B0%80%20%EB%AA%A8%EB%91%90%20%EC%A4%91%EB%8B%A8%EB%90%A9%EB%8B%88%EB%8B%A4..png)
다음 fstab 항목이 있습니다.
machine.local:/srv/files /res/files nfs defaults 0 0
machine.local이 일시적으로 연결이 끊어질 때까지 제대로 작동했습니다. 이제 공유에 액세스할 수 없습니다. df
, umount /res/files
, ls /res
모두 영원히 중단됩니다.
재부팅 외에 무엇을 해야 합니까?
답변1
NFS 서버가 백업되면 실제로 NFS가 다시 연결되어야 합니다. 몇 분 정도 걸릴 수 있습니다(시간 초과에 유의하세요). 이 timeo
옵션을 사용하면 시간 초과를 변경할 수 있습니다.
umount -f /res/files
몇 번 시도하면 공유가 마운트 해제될 수 있습니다(그리고 이를 기다리고 있는 모든 프로세스가 종료됩니다).
이전 커널에서는 를 사용하여 공유를 마운트한 경우 intr
대기 중인 프로세스가 종료될 수 있습니다. 최신 커널(2.6.25+)에서는 이를 사용할 수 있습니다 kill -9
.
NFS 클라이언트 옵션은 nfs(5)
맨페이지에 설명되어 있습니다.
참고: 일부 버전 umount
에는허점마운트 해제하기 전에 파일 시스템 수를 세려고 합니다. 그렇다면 다음과 같은 간단한 C 프로그램이 필요합니다.
#include <sys/mount.h>
int main() {
const char p[] = "/res/files";
umount2(p, MNT_FORCE);
umount2(p, MNT_FORCE);
return 0;
}
답변2
지연 제거를 수행해야 합니다.
umount -l /res/files
mount /res/files
답변3
이를 지원하는 시스템이라고 가정하면 파일 시스템을 강제로 마운트 해제한 다음 다시 설치할 수 있습니다.
umount -f /res/files
mount /res/files