Acesso NFS simultâneo

6

Semelhante a acesso simultâneo a FTP .

Como o acesso a arquivos simultâneos é tratado para o NFS? Digamos que um cliente esteja atualizando / sobrescrevendo um arquivo em um servidor NFS, e um processo no servidor esteja lendo o mesmo arquivo diretamente do sistema de arquivos ao mesmo tempo. Existe algum tipo de manipulação atômica do arquivo de leitura / gravação no NFS / Linux ou eu tenho que trabalhar com arquivos tmp para garantir a consistência dos dados?

Estou preocupado que o processo de leitura do arquivo receba dados corrompidos.

    
por Kristian 01.09.2009 / 13:11

3 respostas

3

Daemons específicos (rpc.statd e rpc.lockd) ajudam com o bloqueio no nível do sistema operacional, mas em geral, você não quer depender dele e, como Josip escreve, muitos aplicativos Unix implementam seu próprio bloqueio em nível de aplicativo. .

Se você vai ter contenção de escrita nos arquivos, a prática padrão é não servir tais arquivos através do NFS.

    
por 01.09.2009 / 13:39
2

Esses conflitos geralmente são resolvidos por meio de bloqueios. É a pedido para garantir o bloqueio adequado. Dito isso, é necessário observar que a maioria dos aplicativos tende a bloquear arquivos, especialmente durante gravações.

    
por 01.09.2009 / 13:13
1

O NFS implementa algo chamado consistência próxima à abertura, que é um modelo de coerência de cache fraco. Consulte a seção 9.3.1 no NFS 4 RFC .

Em outras palavras, quando o cliente que modificou o arquivo fecha o arquivo, o cliente libera os dados gravados no servidor. Se algum outro cliente abrir o arquivo depois disso, ele verá o novo conteúdo. Ou se o outro "cliente" for um processo local no servidor, ele será visto imediatamente, sem necessidade de reabrir.

Se você precisar de um controle mais refinado sobre o armazenamento em cache, precisará usar os bloqueios de intervalo de bytes. Novamente, veja a seção 9.3.2 no RFC do NFS 4. Nesse caso, um cliente NFS liberará dados ao liberar um bloqueio de gravação e revalidará seu cache ao adquirir um bloqueio.

    
por 13.10.2009 / 10:35

Tags