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