Linux lê o cache de disco e o NFS

4

Estou interessado no impacto do cache de disco de leitura no acesso a um arquivo por meio do NFS. Vamos dizer que eu tenho um arquivo no NFS. Eu acesso (faço "cat myfile") de um host linux "A". Se houver RAM suficiente, um arquivo terminará no cache de disco. Agora eu modifico esse arquivo do host "B". Como o sistema operacional no host "A" sabe que precisa invalidar essa parte do cache? Existe algum retorno de chamada do NFS? Ou o cache de disco expira rapidamente?

    
por Janek 08.07.2014 / 20:48

1 resposta

7

A resposta A8 da FAQ do Linux NFS tem uma explicação.

Um resumo: cabe ao cliente pesquisar o servidor para solicitar alterações (verificando os atributos do arquivo para ver se eles foram alterados desde a última vez que o cliente verificou). Os clientes tradicionalmente fazem isso em intervalos regulares, mas também sempre que abrem um arquivo. Eles também descarregam as gravações ao final. Isso significa que você obtém os resultados esperados, desde que garanta que nenhum outro cliente abra um arquivo enquanto um cliente o abrir para gravação.

Esse comportamento geralmente é configurável usando opções de montagem, por exemplo, se você preferir uma consistência de cache mais strong em detrimento do desempenho. Veja por exemplo "man nfs" em um cliente Linux.

    
por 09.07.2014 / 16:08