NFS 마운트에서 심볼릭 링크를 읽을 때 일시적인 "입력/출력 오류"가 발생하는 이유는 무엇입니까?

NFS 마운트에서 심볼릭 링크를 읽을 때 일시적인 "입력/출력 오류"가 발생하는 이유는 무엇입니까?

scp를 사용하여 일부 파일을 파일 서버 호스트의 로컬 XFS 파티션에 복사하고 SSH를 통해 로컬에서 새 배포 파일에 대한 심볼릭 링크를 만들었습니다. 파티션은 NFS를 통해 내보내지고 여러 호스트에 마운트됩니다.

scp new-file-version fileserver:/nfs/exported/path
ssh fileserver ln -s new-file-version /nfs/exported/path/file

파일 서버에서 로컬로 배포된 파일과 심볼릭 링크를 확인하면 모든 것이 정상입니다.

fileserver$ ls -l /nfs/exported/path
lrwxrwxrwx  1 root root  56 Oct 30 12:30 file -> new-file-version
-rwxr-xr-x 11 root root 220 Oct 30 12:34 new-file-version
-rwxr-xr-x 11 root root 220 Oct 30 12:12 previous-file-version

그러나 배포된 파일을 보거나 NFS를 통해 복사하려고 하면 방금 만든 심볼릭 링크에서 일부 입력/출력 오류가 발생합니다.

nfsclient$ ls -l /nfs/mounted/path
ls: cannot read symbolic link /nfs/mounted/path/file: Input/output error
lrwxrwxrwx  1 root root  56 Oct 30 12:30 file
-rwxr-xr-x 11 root root 220 Oct 30 12:34 new-file-version
-rwxr-xr-x 11 root root 220 Oct 30 12:12 previous-file-version

NFS 마운트 경로의 stat 명령은 다음 정보를 보고합니다.

nfsclient$ stat /nfs/mounted/path
  File: '/nfs/mounted/path'
  Size: 175             Blocks: 0          IO Block: 32768  directory
Device: 2ch/44d Inode: 560507638   Links: 3
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-11-02 14:25:04.677606317 +0100
Modify: 2018-11-02 14:25:28.630755680 +0100
Change: 2018-11-02 14:25:28.630755680 +0100
 Birth: -

참고로 디렉토리 내용만 읽었음에도 접근 시간은 수정/변경 시간보다 빠릅니다.

작업을 다시 시도하면 몇 번 시도한 후에 결국 성공합니다.

nfsclient$ ls -l /nfs/mounted/path
lrwxrwxrwx  1 root root  56 Oct 30 12:30 file -> new-file-version
-rwxr-xr-x 11 root root 220 Oct 30 12:34 new-file-version
-rwxr-xr-x 11 root root 220 Oct 30 12:12 previous-file-version

그런 다음 stat는 이 정보를 보고하고 액세스 시간을 업데이트합니다.

nfsclient$ stat /nfs/mounted/path
  File: '/nfs/mounted/path'
  Size: 175             Blocks: 0          IO Block: 32768  directory
Device: 2ch/44d Inode: 560507638   Links: 3
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-11-02 14:25:30.925774294 +0100
Modify: 2018-11-02 14:25:28.630755680 +0100
Change: 2018-11-02 14:25:28.630755680 +0100
 Birth: -

왜 이런 일이 발생하는지에 대한 단서가 있습니까?

답변1

글쎄요에 따르면https://bugzilla.redhat.com/show_bug.cgi?id=1416532, 이는 우리가 사용하고 있는 버전인 RHEL7.3의 버그입니다.

커널 kernel-3.10.0-562.el7에서 수정되었습니다.

관련 정보