O NFS -
Network File System (Sistema de Arquivos em Rede) - é um protocolo para acesso de arquivos remotos desenvolvido pela Sun Microsystems.
É muito utilizado em ambientes
Unix devido à sua praticidade e transparência na transmissão dos dados, estando presente de forma nativa em muitas das distribuições
GNU/Linux.
O presente artigo descreve a configuração de um ambiente de compartilhamento de arquivos utilizando o
NFSv4. Todos os comandos descritos foram testados em uma máquina com
CentOS 6.4.
O NFS possui uma arquitetura cliente/servidor na qual o servidor implementa o sistema de arquivos, lida com seu compartilhamento, gerenciamento de permissões, dentre outros recursos. Enquanto o cliente implementa uma interface com o usuário onde é possível realizar requisições ao servidor utilizando a semântica do sistema operacional local.
Desta forma, o usuário acessa os arquivos presentes no servidor de forma transparente, como se os mesmos estivessem em sua própria máquina.
Ao compararmos as versões 3 e 4 do NFS, observamos que houve um grande avanço nas questões de segurança e confiabilidade, mesmo ainda não garantindo plenamente estas características.
A descrição detalhada sobre a diferença entre estes protocolos, está fora do escopo deste artigo, apesar de algumas características merecem ser citadas. Dentre elas, pode-se destacar o fato de que na versão 3, o servidor não mantinha estados (stateless) e após a versão 4, o servidor agora armazena os estados das operações (statefull).
Também houve uma modificação no protocolo de comunicação utilizado, sendo utilizado na versão 4 o protocolo TCP, enquanto na versão anterior era utilizado o protocolo UDP.
A versão 4 do NFS apresenta também uma melhoria em relação aos seus recursos, incluindo mecanismos de cache eficientes, sistema de criptografia forte e suporte ao acesso paralelo por servidores distribuídos.