Criando compartilhamentos na rede com NFS

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

[ Hits: 33.089 ]

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

Acesso SSH

MP3 no K3b

Reinstalando (recuperando) o Grub

Trabalhando com arquivos DEB

Vendo quem está logado no servidor de FTP

Leitura recomendada

Terminal do GNOME 3.8.3 com fundo transparente

Webcam do Dell Inspiron 1525 no Slackware 12.2 Linux

Adicionando suas rádios preferidas no Rhythmbox

Configurando SIS 671|72 no Ubuntu 14.04

Limitando a banda no Linux usando o shaper e CBQ

  

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