Como o NFS lê o trabalho do cache no Debian?

12

Estou planejando usar o NFS para distribuir muitos arquivos pequenos. Eles serão lidos com muita frequência para que o cache do lado do cliente seja crucial. O NFS lida com isso? Existe uma maneira de aumentar o cache do lado do cliente de alguma forma?

... ou devo procurar outra solução? Sincronizar usando rsync ou uníssono periodicamente não é uma opção, já que os arquivos são modificados no lado do cliente de tempos em tempos.

    
por Ztyx 30.03.2010 / 12:30

1 resposta

6

Primeiro, o NFS não fornece coerência de cache, portanto, se você precisar disso, deverá procurar em outro lugar.

O que o NFS especifica é um modelo mais fraco chamado consistência próxima à abertura. Isso significa que quando um arquivo é fechado, qualquer dado sujo é liberado para o servidor. Por outro lado, quando um arquivo é aberto, uma verificação de atributo é executada, o que significa que, se o cliente tiver páginas armazenadas em cache desse arquivo, ele verificará se essas páginas ainda são válidas.

Embora não esteja na própria especificação, a maioria dos clientes NFS tem algo chamado timeout de cache de atributo, ou seja, quantos anos os atributos de um diretório ou arquivo aberto podem ser antes que o cliente entre em contato com o servidor para revalidá-los. No Linux, veja as opções de montagem actimeo = etc. Valores mais altos permitem caching mais agressivo, mas aumentam o risco de usar dados antigos se algum outro cliente tiver atualizado o arquivo nesse meio tempo.

    
por 03.04.2010 / 14:37