Adicionando como resposta com base no seu comentário.
A solução é adicionar lookupcache=none
às suas opções de montagem nfs.
O que acontece é que, na primeira vez em que o cliente lê o arquivo, ele faz uma pesquisa no NFS para obter o ID do arquivo NFS. Em seguida, ele armazena em cache o ID do arquivo NFS e, quando você volta a abrir o arquivo, ele usa o cache. Normalmente, isso não é um problema, pois quando o arquivo é atualizado, seu arquivo permanece o mesmo. Mas, por alguma razão, o arquivo antigo está sendo removido e um novo é criado (ou renomeado, ou algo para o qual não é o mesmo arquivo).
Agora, normalmente, isso não é um problema, pois quando o cliente tenta abrir um arquivo que não está lá, ele recebe um erro do servidor e faz outra pesquisa para obter o novo arquivo. Mas, por alguma razão, o servidor NFS está permitindo que o cliente abra esse arquivo antigo. Talvez outro cliente tenha o arquivo aberto e, portanto, ele não está sendo excluído ainda, eu não sei.
De qualquer forma, a maneira de resolvê-lo é dizer ao cliente para sempre executar uma pesquisa nfs antes de abrir um arquivo usando a opção de montagem nfs lookupcache=none
. A desvantagem disso é que pode ser caro se você estiver abrindo arquivos com frequência, pois adiciona mais tráfego ao servidor NFS.
ls -i
no cliente antes de editar o arquivo no servidor e depois novamente. Veja se os números mudam. Se eles fizerem isso, porque o servidor está substituindo o arquivo e o cliente não notará isso até que ele redefina o diretório. Nesse caso, tente definir a opção de montagemlookupcache=none
e veja se o comportamento muda.