NFS가 1분 동안 유휴 상태가 되면 지연이 발생하는 이유는 무엇입니까?

NFS가 1분 동안 유휴 상태가 되면 지연이 발생하는 이유는 무엇입니까?

커널 3.10.17이 설치된 Salix 서버에서 버전 4 NFS 서버를 실행하고 있습니다. 다음 명령을 사용하여 NFS 공유를 마운트하고 있습니다.

sudo mount -t nfs 10.0.0.150:/share /mountpoint

내 클라이언트 컴퓨터에서는 최신 버전의 Xubuntu입니다(그러나 지난 몇 년 동안 Ubuntu 클라이언트의 여러 가지 버전과 버전 간의 NFS 공유에서 이 문제가 발생했습니다). 예를 들어 파일 관리자를 통해 처음으로 이 마운트 지점에 액세스할 때(예를 들어 설명했지만 다른 유형의 액세스에도 동일한 증상이 있음) 공유에서 데이터가 로드될 때까지 20초를 기다려야 합니다. 이런 일이 발생하면 최소한 마운트를 절전 모드로 전환할 때까지(즉, 그 아래에 있는 어떤 항목에도 액세스하지 않음을 의미) 약 1분 동안 지연 없이 공유 폴더를 탐색할 수 있습니다. 그 후 다시 지연이 발생합니다. 내 클라이언트도 NFS v4입니다.

nfsstat -m클라이언트의 출력은 다음과 같습니다.rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.0.0.214,local_lock=none,addr=10.0.0.150

SAMBA를 통해 Windows 클라이언트와 서버의 동일한 폴더를 공유하고 있는데 SAMBA 공유에는 문제가 없습니다.

답변1

문제를 발견했습니다. NFS v4 서버의 경우 /proc/fs/nfsd/nfsv4revoverydir 파일이 있습니다(적어도 Slack 기반 Salix의 경우). 폴더의 내용은 다른 경로를 명명하는 텍스트여야 합니다. 이에 대해 내가 찾은 모든 솔루션은 해당 파일에서 찾은 경로를 생성하고 문제를 해결했다고 말했습니다. 제 경우에는 파일이 비어 있었습니다. 이 /proc 파일을 올바르게 채우는 방법을 찾는 대신 NFS 버전 3을 사용하도록 서버를 구성하는 해결 방법을 사용했습니다. /etc/rc.d/rc.nfsd 파일을 편집하고 rpc.nfsd를 시작하는 줄에 "-N 4" 옵션을 추가하여 이 작업을 수행했습니다.

관련 정보