Eu uso o scp para copiar alguns arquivos para uma partição local do XFS em um host do servidor de arquivos e criar um link simbólico para novos arquivos implantados localmente através do SSH. Essa partição é exportada através do NFS e montada em vários hosts.
scp new-file-version fileserver:/nfs/exported/path
ssh fileserver ln -s new-file-version /nfs/exported/path/file
Se eu verificar os arquivos implantados e o link simbólico localmente no servidor de arquivos, tudo ficará bem:
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
Mas quando eu tento ver os arquivos implantados ou copiá-los através do NFS, recebo vários erros de entrada / saída nos links simbólicos criados:
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
O comando stat no caminho montado do NFS informa essa informação:
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: -
Observe que o tempo de acesso é anterior ao tempo de modificação / alteração, apesar de eu ter acabado de ler o conteúdo do diretório.
Se eu tentar novamente a operação, ela finalmente terá sucesso após algumas tentativas:
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
E, em seguida, stat informa essas informações com o tempo de acesso atualizado:
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: -
Qualquer pista sobre por que isso está acontecendo?