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で修正されました。

関連情報