Pular para o conteúdo

Criando compartilhamentos na rede com NFS

Dica publicada em Linux / Configuração
Alexandre Guimarães Sarmento alex_sarmento
Hits: 33.669 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Criando compartilhamentos na rede com NFS

Suponha que temos temos em nossa rede local 01 (um) modem externo do tipo ADSL desses fornecidos pelos provedores como Velox, Speed, Ajax, Turbo e etc com o ip 192.168.1.1 e mais outros 03 (três) micros. Veja a tabela abaixo:
=====================
Micro    Endereço IP
=====================
router   192.168.1.1 (Modem adsl/gateway)
Jamira   192.168.1.2
Josenda  192.168.1.3
Jembas   192.168.1.7
=====================
O que desejamos fazer é permitir que os micros da jamira e josenda acessem e compartilhem os dados que estão no micro do jembas, mais explicitamente, dentro da pasta (arquivos), ou seja, /home/jembas/arquivos.

Configurando o micro jembas (servidor de arquivos)

1) Abra uma janela de terminal

2) Passe para root:

$ sudo su

ou apenas:

$ su

3) Crie o diretório que será compartilhado:

# mkdir /home/jembas/arquivos

4) Mude as permissões para esse diretório de forma que qualquer usuário possa ler, gravar e executar comandos:

# chmod 777 /home/jembas/arquivos

5) Instale o programa nfs que fará todo o compartilhamento funcionar:

# apt-get update
# apt-get install nfs-kernel-server
(o nfs do debian e derivados)
# apt-get install nfs-user-server
# apt-get install nfs-common
# apt-get install portmap


6) Edite o arquivo /etc/exports e acrescente a linha conforme mostrado abaixo:

/home/jembas/arquivos 192.168.1.*(rw)

7) Salve o arquivo /etc/exports e reinicie o nfs:

# /etc/init.d/nfs-kernel-server restart
# /etc/init.d/portmap restart


Ou apenas:

# exportfs -a -v

Pronto! No micro servidor de arquivos não temos mais o que fazer.

OBS: O comando "exportfs -a -v" é um refresh do arquivo de configuração /etc/exports, que atualiza tudo sem precisar restartar o serviço do nfs.

Configurando os micros clientes

Agora os procedimentos a seguir deverão ser realizados em todos os demais micros da rede, no caso, nos micros da jamira e da josenda, escolha um micro por onde começar e digite num terminal (como root) conforme mostrado abaixo:

1) Se o nfs não estiver instalado nos micros clientes, repita o passo 5 (cinco) da configuração do micro servidor e depois restarte o serviço.

2) # mkdir /media/arquivos

No comando acima estamos definindo o ponto de montagem para o compartilhamento, ou seja, o local ou o diretório que irá conter os dados compartilhados do micro servidor, o micro jembas. Você pode usar qualquer outro local de sua preferência. Para usuários do kurumin, geralmente os pontos de montagem são criados no diretório /mnt ao invés do /media, isso tudo é apenas uma questão de gosto, você pode definir o ponto de montagem para ser criado até no seu desktop, na raiz do disco (muito inseguro) e assim por diante.

3) # mount -t nfs -o soft 192.168.1.7:/home/jembas/arquivos /media/arquivos

Pronto!

Comentários:

O comando acima monta o compartilhamento da pastas arquivos do micro 192.168.1.7 no diretório local (ponto de montagem), ou seja, no micro jamira, p.ex., na pasta /media/arquivos.

Agora se você abrir o seu gerenciador de arquivos (nautilus para usuários gnome e konqueror para usuários kde) e indicar o caminho /media/arquivos, poderá visualizar os dados do micro jembas, e, como foi definido no servidor o acesso a leitura e gravação (rw) a usuária jamira poderá criar, alterar,excluir e visualizar arquivos do diretório arquivos compartilhados no micro jembas.
  • -t nfs

    É o tipo de partição a ser montada.

  • -o soft

    Garante que caso o micro servidor caia, os gerenciadores de arquivo dos micros clientes não travem, ao invés disso, emitam aviso de indisponibilidade do compartilhamento, o que é muito melhor.

  • 192.168.1.7:/home/jembas/arquivos

    A partição, o local, o conteúdo do que será montado (origem)

  • /media/arquivos

    Onde será montado o conteúdo acima (destino)

OBS: Algo muito importante a ser realizada pelo micro jembas (servidor): Depois de disponibilizar arquivos na pasta (arquivos), mude as permissões dos arquivos para que os demais usuários da rede possam modificá-los, para tal, use, p.ex. "chmod -R 777 /home/jembas/arquivos/*".

Antes de desligar qualquer um dos micros cliente desfaça o ponto de montagem usando o comando "umount /media/arquivos".

Montando automaticamente o compartilhamento durante o boot:

Edite em qualquer um dos micros cliente o arquivo /etc/fstab e acrescente a linha conforme mostrado abaixo:

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
192.168.1.7:/home/jembas/arquivos   /media/arquivos   nfs   defaults   0  0

Gerenciando melhor:

Você também pode desejar que o compartilhamento não seja montado automaticamente durante o boot, mas sim, que você possa montá-lo facilmente e rapidamente, usando um simples mount e umount. Para tal, mudaremos a linha que foi mostrada no exemplo acima para:

192.168.1.7:/home/jembas/arquivos   /media/arquivos   nfs   noauto,users,exec   0  0

Agora o micro não mais irá montar o compartilhamento automaticamente, mas sim, quando o usuário digitar "mount /media/arquivos" e irá poder desmontar digitando "umount /media/arquivos".

Usando dessa forma, acredito que tudo ficará mais simples. Você pode criar um script para realizar esses procedimentos e colocá-los no seu desktop, mas isso é outra história, em outro artigo.

Por enquanto isso é tudo. Até mais.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Instalando impressoras no Linux via CUPS

Configurando o teclado Toshiba

Vendo quem está logado no servidor de FTP

1024x768 no modo texto do seu laptop

MP3 no K3b

Configurando Gerenciador de Impressora no Ubuntu GNOME 13.10

Instalando Virtualbox 4 no fedora 15 e resolvendo problemas

Solucionando problema de resolução máxima de 640x480 no Ubuntu e similares

Habilitando e desabilitando o IPv6 no Debian

CUPS reescreve o printers.conf adicionando AuthInfoRequired username,password

#1 Comentário enviado por LesleyRibeiro em 04/08/2008 - 10:22h
Olá amigo,
uso ubuntu 8.4, em um laboratorio de info.
segui os passos so servidor ok.
no passo 3 do cliente deu erro:
"root@maq17-desktop:~# mount -t nfs -o soft 10.0.0.20:/home/maq20/compartilhado /media/compartilhado/
mount.nfs: mount to NFS server 'rpcbind' failed: RPC Error: Program not registered
mount.nfs: internal error"
o ip do servidor é 10.0.0.20
e dos clientes 10.0.0.*

Parabéns pelo tópico.
#2 Comentário enviado por joaquimjuniors em 13/07/2009 - 16:50h
metroid, tive o mesmo problema no ubuntu server. Resolvi assim:

altere no arquivo:
/etc/default/nfs-kernel-server

mude
RPCNFSDCOUNT=0

para
RPCNFSDCOUNT=8
#3 Comentário enviado por flandatico em 29/01/2010 - 10:59h
Olá amigos!

Estou tendo o mesmo problema que o LesleyRibeiro

Tenho duas máquinas e estou tentando criar um compartilhamento da máquina1 para máquina2 e a mensagem de erro na maquina2 é:

root@root:/# mount -a
mount.nfs: mount to NFS server 'rpcbind' failed: RPC Error: Program not registered
mount.nfs: internal error

O nfs-common e o portmap já estão instalados e, conforme sugerido pelo joaquimjunior e outros posts, já verifiquei o arquivo /etc/default/nfs-kernel-server e a linha está assim: RPCNFSDCOUNT=8, porém o problema persiste.

Alguém tem alguma sugestão?

Estou tentando resolver isso, mas estou sendo cauteloso por que é uma máquina muito importante e não posso instalar algumas bibliotecas e nem mexer muito.

Viva o Linux, viva a liberdade!
#4 Comentário enviado por vjocafernandes em 16/09/2010 - 09:47h
flandatico,

Eu estava com o mesmo problema no Red Hat Enterprise Linux AS 5, veja como resolvi:

~]# mount -t nfs 10.0.3.10:/home /home/
mount: mount to NFS server '10.0.3.10' failed: RPC Error: Program not registered.

Verifique no Network File Server (NFS), os seguintes arquivos: /etc/hosts.allow e /etc/hosts.deny
No meu caso, eu precisei incluir a seguinte configuração no meu arquivo "/etc/hosts.allow":

ALL:10.0.3.0/255.255.255.0

Conforme for, utilize: echo "ALL:10.0.3.0/255.255.255.0" >> /etc/hosts.allow

Existem diversos artigos e tutorias na Internet, onde a máscara de rede é configurada da seguinte forma: ALL:10.0.3.0/24
Neste caso, não funcionará pelos testes realizados! Estou procurando alguma documentação (lógica é claro!) para isto ;)

Veja o exemplo do meu arquivo: "/etc/hosts.deny":

# Created by JOCA
portmap: ALL
lockd: ALL
mountd: ALL
rquotad: ALL
statd: ALL

Após realizar as alterações, faça um reload no serviço de NFS e portmap!

Abs!
Joca!

Contribuir com comentário

Entre na sua conta para comentar.