//
you're reading...
Linux

Servidor e Cliente NFS

O sistema de arquivos de rede (NFS – Network File System) foi desenvolvido para permitir máquinas a montarem uma partição em um computador remoto como se fosse um disco local. Por ser nativo do Linux, é talvez o melhor sistema para compartilhamento de arquivos entre estações puramente Linux.

Como a maioria de vocês sabem, o NFS utiliza uma arquitetura cliente-servidor onde uma máquina, chamada servidor, oferece o serviço e as outras máquinas, chamadas clientes, utilizam o serviço;

A configuração do servidor começa com a instalação do módulo NFS:

# aptitude install nfs-kernel-server

Antes de compartilhar um diretório em si, vamos definir qual diretório será compartilhado. Se possível monte um disco rígido à parte apenas para o compartilhamento, assim o seu sistema ficará mais seguro. No meu caso vou utilizar o home mesmo:

# mkdir /home/storage

O primeiro arquivo a ser editado é o /etc/exports. Para o meu exemplo, bastou adicionar a seguinte linha:

/home/storage 10.0.2.0/24(rw,sync) 10.206.36.0/24(ro)

Perceba que pode-se adicionar redes e hosts, bastando deixar um espaço entre um e outro. As opções mais comuns são:

  • rw : permitir leitura e escrita ao diretório compartilhado
  • async : viola o protocolo nfs e responde as requisições antes dos dados serem gravados no disco. Usualmente aumenta a performance ao custo de colocar os dados com o risco de erros.
  • sync : só responde às requisições depois que os dados foram gravados no disco. É o padrão.
  • ro : somente leitura.
  • no_root_squash : o usuário root da máquina cliente tem o mesmo privilégio da máquina local.

Agora vamos configurar os acessos no portmapper. O NFS utiliza o portmapper para controlar quem pode e quem não pode acessar o seu servidor. Na prática isso significa editar os arquivos /etc/hosts.allow e /etc/hosts.deny.

Uma prática comum é negar todos, excluindo os que forem explicitametne liberados. Para tanto, faça como se segue:

# /etc/hosts.allow
portmap: 10.0.2.0/24, 10.206.36.0/24

# /etc/hosts.deny
portmap:ALL

Agora vamos reiniciar os serviços e estará tudo pronto. Primeiro reinicie o portmapper:

# /etc/init.d/portmap restart

Para saber se o NFS está rodando, verifique se existem alguma entrada ativa no RPC:

# rpcinfo -p localhost | grep nfs

Pronto, agora basta atualizar a lista de exportações do NFS. Sempre que forem feitas atualizações no arquivo /etc/exports, execute o seguinte comando:

# exportfs -ra

Vamos configurar agora o lado Cliente. Para tanto basta montar o servidor remoto através do comando mount ou do arquivo /etc/fstab. Primeiro vamos criar um diretório destino:

# mkdir /media/storage

Agora vamos montar a partição em si:

# mount -t nfs 10.0.2.1:/home/storage /media/storage

Se a máquina não possuir permissão, a seguinte mensagem será apresentada:

mount.nfs: access denied by server while mounting 192.168.0.1:/home/storage

Se preferir (eu prefiro) adicionar a montagem para ser feita de forma automática através do /etc/fstab, faça da seguinte forma:

# /etc/fstab

127.0.0.1:/home/storage /media/storage nfs rw,hard,intr 0 0

  • hard : significa que o sistema, em caso de falhas, tenta indefinidamente reconectar. soft significa que só tentará reconectar um número limitado de vezes.
  • intr : ao contrário do noinitr, significa que o sistema aceitará sinais de interrupção durante uma transmissão.

Pronto! Usem e abusem de um sistema de arquivos em rede rápido e eficaz!

Um abraço para todos.

Anúncios

Discussão

Nenhum comentário ainda.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Twitter

Erro: o Twitter não respondeu. Por favor, aguarde alguns minutos e atualize esta página.

%d blogueiros gostam disto: