Compartilhando arquivos e pastas entre maquinas Linux com o NFS
Eu vejo em muito sites e artigo na internet, autores sempre falando sobre o compartilhamento entre maquinas Windows e Linux. Ironicamente, no mundo Linux é mais difícil você encontrar alguma informação que fale exclusivamente de compartilhamento entre máquinas Linux do que Windows x Linux. É como se todo mundo usasse o Linux apenas naquele computador velhinho do canto da sala e o colocassem em um ambiente totalmente Microsoft.
Enquanto o SAMBA é capaz de compartilhar arquivos entre Windows x Linux e Linux x Linux na mesma rede, o NFS é uma opção só para ligação entre máquinas Linux, porém, o considero muito mais prático e estável para esse serviço (você não pode deixar de estuda-lo, é um recurso muito importante e tenho certeza que irá precisar um dia :-).
Assim como o SAMBA, o NFS terá que ser habilitado manualmente. Algumas distribuições ja vem com ele instalado e as vezes, até com uma interface gráfica para sua configuração. Mas para eu me isentar de qualquer responsabilidade de escrever várias versões deste artigo para cada uma de suas diferentes “abordagens”, eu vou partir para o modo-texto (ou shell, se preferir), que será comum a todos.
No Debian/Ubuntu e seus derivados, o primeiro passo é instalar os pacotes necessários para iniciarmos a configuração da rede.Os pacotes são: nfs-kernel-server e nfs-common portmap.
Em outras distribuições, apenas “nfs”.
Para instalar utilize o seguinte comando:
sudo apt-get install nfs-kernel-server nfs-common portmap
É bastante pequeno, não demorará 1 minuto para ser baixado.
Configurando o servidor
O próximo passo é editar o arquivo “exports”, ele se encontra em:
/etc/exports
Farei o exemplo, utilizando meu editor favorito, o VI. No comando abaixo, substitua o editor VI por um de sua preferência.
sudo vi /etc/exports
Dentro do arquivo, adicione o endereço da pasta que deseja compartilhar e o IP da máquina que irá acessar o compartilhamento seguindo o modelo a seguir:
/home/usuario 192.168.0.100(rw,async)
Simples não?
Se desejar que toda a faixa de IP de sua rede acesse o compartilhamento, ao invés de 1 computador em particular, faça:
/home/marcellino 192.168.0.*(rw,async)
Descrevendo as opções
r = Read, permissão de leitura da pasta.
w = Write, estou dando permissão de escrita no compartilhamento.
E se deseja compartilhar como apenas leitura, use: “ro” no lugar de “rw”
Ja a opção “async” é muito útil em redes locais por que permite que o NFS transfira arquivos de forma “assíncrona”, sem precisar esperar pela resposta do cliente. Sem essa opção a taxa de transmissão em uma rede de 100MB/s fica em torno de 6/7 MB/s, e se ativada, vai para 11 MB/s. Fica limitada apenas à velocidade da rede e obviamente aos HDs do servidor e dos clientes.
Iniciando os serviços
Ja com as devidas alterações feitas no arquivo exports, digite o comando abaixo para fazer com que o arquivo anteriormente editado, seja lido pelo Kernel.
sudo exportfs -a
e inicie os serviços NFS e Portmap com os comandos:
sudo /etc/init.d/portmap start
sudo /etc/init.d/nfs-kernel-server start
Configurando o Cliente
A parte de configuração na máquina cliente é extremamente simples, abra o terminal ou até mesmo graficamente e crie um diretório para ser usado para montarmos o compartilhamento. Por exemplo:
mkdir /home/marcellino/nomedocompartilhamento
e depois monte com o comando:
sudo mount -t nfs 192.168.0.161:/home/usuario /home/marcellino/nomedocompartilhamento
Explicando o procedimento passa-a-passo
mount = Comando usado para montar o compartilharmento.
IP = Espefique o IP do servidor que configurou anteriormente.
/home/usuario = Pasta que foi compartilhada no servidor.
/home/marcellino/compartilhamento = Pasta criada para receber a montagem do compartilhamento.
Na teoria, este tutorial consumiu muitas linhas para exemplificar o uso do NFS, mas a medida que o leitor pega a prática, a velocidade na qual é feita um compartilhamento é incrível. Eu mesmo me peguei inumeras vezes levantando um compartilhamento em questão de pouquíssimos minutos… Experimente!
Arquivado em: Artigos, Linux, Planeta Ubuntu, Tutoriais, Ubuntu




Putz, realmente estava dando trabalho achar alguma coisa do tipo.
Eu instalei no pc velhinho do meu irmão um linux, no caso ficou até mais rapido que o 98 :-O (usei o kurumin 7 com o fluxbox ehhehe).
Agora tenho que montar um compartilhamento do meu pc, para que ele possa ouvir musica no quarto dele, sem ter que copiar as musicas
massa o tutorial,
valews
Muito bom mesmo! Estava procurando algo assim
t+
[...] Marcellino Junior Fonte: http://marcellino.wordpress.com/ [...]
Não seria
sudo exportfs -a
e
sudo mount -t nfs 192.168.0.616:/home/usuario /home/marcellino/nomedocompartilhamento
-t e não -l
Caio,
Você tem razão! Muito obrigado pela colaboração, falha minha! Irei atualizar.
Para saber mais, visite o http://www.guiadohardware.net/artigos/315/ , tem mais sobre o assunto
Adnretyn,
Obrigado pela colaboração. Eu visito o site do Morimoto mas ainda não tinha lido esse artigo. É bem completo, fala até da montagem automática durante o boot.
Sucesso no novo blog!
Muito obrigado! Colocarei o seu no meu blogroll.
o meu compartilhamento NFS não inicia, volta a seguinte mensagem:
* Exporting directories for NFS kernel daemon… exportfs: No options for # /etc/exports:: suggest /etc/exports:(sync) to avoid warning
exportfs: invalid netmask `etc/exports:’ for
[ ok ]
você sabe que erro ocorre?
Muito obrigado por sua contribuição, mas to com dúvida quanto a um aspecto, como faço para que este compartilhamento fique disponível para outros usuários da máquima, porque da forma que fiz ele só dá permissão ao usuário em que foi feito o compartilhamento. Os outros enxergam mas nao podem acessar, e toda vez que reincio o computador perde-se o compartilhamento.
Mais uma pequena dica: Se você quiser que seja montado automaticamente adicione ao arquivo /etc/fstab o seguinte:
192.168.0.616:/home/usuario /home/marcellino/nomedocompartilhamento nfs defaults 0 0
acho que o comentário do felipe diesel tinha que ser adicionado ao post…
Tanto o comentário como o post foram ótimos pra resolver meu problema.
grato
Por que o meu BROffice não consegue editar arquivos através do NFS, montei exatamente como descrito aqui, também tentei algumas variações tal como “sync”, acredito que não afete em nada. Consigo copiar e apagar arquivos com o konqueror mas o BROffice abre os documentos como somente leitura!
Muito obrigado pelo tutorial!
Acabo de fazer mais cópias de segurança, dos meus dados via rede graças a você.
Muitas Felicidades!!!
T+
A passagem onde consta a inicialização do nfs está”sudo /ect/init.d/nfs-kernel-server start”, mas deviria ser “sudo /etc/init.d/nfs-kernel-server start”.
Abraço.
Estou tentando configura o nfs.
Abraço
Pequeno errro de digitação, estarei corrigindo agora.
Muito obrigado pela colaboraçao.
Macellino valeu pelo tutor foi de grande auxilio, mais gostaria de atentar para um pequeno detalhe, não sei se foi apenas no meu caso mais eu utilizo uma distribuição em Debian(ubuntu 7.10) e depois de ter seguido o tudor não conseguia montar o compartilhamento a msg q dava era:
eu@minhamaquina:/media$ sudo mount -t nfs meuservidor:/home/backup /media/home
mount: wrong fs type, bad option, bad superblock on Meuservidor:/home/backup,
missing codepage or helper program, or other error
Em alguns casos informações úteis são encontradas no syslog - tente
“dmesg | tail” ou algo do tipo
Cara passei dois dias tentado imaginar qual seria o erro, e com auxilio de um amigo aqui no trab descobri q era porq eu não tinha instalado no cliente o pacote NFS-COMMON, depois q instalei funcionou q uma blz!!!
Mais uma vez valeu pelas dicas, e apenas uma sugestão
fis tudo conforme mostrado , porém ele fala que ta faltando um tal de HAL , e não monta a partição da maquina que quero acessar.
poderia me ajudar?
Muito bom tutorial, no entanto eu só consigo que funcione com o primeiro usuário que criei no momento que instalo o ubuntu, o outro que criei e quero compartilhar nao funciona, quando entro com o comando mount -t nfs da o seguinte erro: reason given by server: permission denied
Sendo que ja coloquei na pasta permissão para todos. Agradeço pela dica já ajudou bastante.
Caso ocorra a mensagem:
“mount: wrong fs type, bad option, bad superblock on Meuservidor:/home/backup,
missing codepage or helper program, or other error”
Instale o pacote nfs-common no cliente que irá funcionar.
Muito bom o artigo, simples, prático e útil.