Criando compartilhamentos na rede com NFS

Publicado por Alexandre Guimarães Sarmento em 27/06/2007

[ Hits: 33.078 ]

Blog: http://www.3dnet.com.br

 


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:

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.

Outras dicas deste autor

Instalando impressoras no Linux via CUPS

Reinstalando (recuperando) o Grub

Trabalhando com arquivos RPM

Acentuando corretamente suas mensagens no cliente de email Evolution

1024x768 no modo texto do seu laptop

Leitura recomendada

Debian - Criando seu próprio Sources.List

Fedora como Linux Mint

Ativar NumLock ao iniciar o XFCE

Driver da NVidia compatível com Xorg 1.7

Internet no Slackware via modem roteado

  

Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts