Piter Punk's HomePage - Artigos
 
English version
Slackware NFS mini-HOWTO

Piter PUNK

Pequeno resumo de como configurar o Slackware Linux para trabalhar como servidor NFS. Com este pequeno resumo é possível desmistificar completamente a noção de que o Slackware é uma distribuição difícil e para experts.

1. Introdução

O Network FileSystem, mais conhecido como NFS, é o principal sistema de compartilhamento de arquivos em redes utilizando *nix. Ele foi criado pela Sun Microsystems para se tornar o sistema padrão de compartilhamento de arquivos e tem algumas grandes vantagens:

  • Simples configuração;
  • Alta padronização e;
  • Grande flexibilidade.

Com o NFS funcionando, é possível fazer um intercâmbio de seus arquivos para qualquer computador rodando Linux, *BSD, SCO Unix, Solaris, SunOS, IRIX, AIX, HP-UX, True64, OS/2, etc... abrangendo uma grande quantidade de plataformas e sem a necessidade de configurações complicadas ou de programas adicionais.

Para efetuar as operações cobertas por este artigo, é necessário que no seu Slackware estejam presentes os pacotes:

  • portmap
  • nfs-utils

Também deverão ser editados dois arquivos, sendo que os dois já devem existir na sua máquina, um deles vem com o próprio portmap e outro é criado na instalação do sistema.

  • /etc/exports (no caso do servidor)
  • /etc/fstab (na máquina cliente)

E, antes de começar o artigo propriamente dito, é sempre bom lembrar que este é um mini-HOWTO, nem de longe cobre todas as potencialidades e recursos do NFS, o que daria para escrever um livro inteiro.

2. O Servidor

A configuração do servidor é um pouco mais complexa que a do cliente, mas ainda assim é extremamente simples de ser efetuada, bastando iniciar o NFS e definir os diretórios a serem exportados.

2.1. Ativando o Serviço

Para que o portmap e o nfsd sejam iniciados no boot da sua máquina, você deve tornar o script rc.nfsd executável:

	# chmod +x /etc/rc.d/rc.nfsd

Com isso, você estará iniciando os rpc.portmap, rpc.rquotad, rpc.nfsd, rpc.mountd, rpc.lockd e rpc.statd. Se você quiser iniciar o NFS manualmente, pode fazer:

	# /etc/rc.d/rc.nfsd start

Obviamente isso só vai funcionar se o rc.nfsd estiver como executável. Se você não gostar de usar os scripts, basta executar todos os programas citados no parágrafo anterior um a um. E, se você quiser parar ou reiniciar o serviço de NFS, pode usar o /etc/rc.d/rc.nfsd stop ou restart.

2.2. O quê exportar?

Este é o arquivo que define quais sistemas de arquivos serao exportados, existe uma grande quantidade de opções, mas, basicamente o que se deve fazer é incluir uma entrada como esta no interior do arquivo:

	/home 192.168.0.2(sync,rw)

Isto quer dizer que o diretorio /home será exportado para a máquina 192.168.0.2 e que ele poderá ser tanto lido quanto escrito.

Com base nisso, torna-se simples deduzir a sintaxe, para cada linha é colocado um diretório a ser exportado, ficando assim:

	diretório_a_ser_exportado   quem_pode_montar(opções)

Este quem_pode_montar pode ser tanto um IP como o nome de uma máquina, ou até um domínio inteiro, cada IP ou faixa pode ter opções diferentes, veja:

	/projetos  *.developer.mycorp.com(sync,rw),*.manager.mycorp.com(sync,ro)

O diretório projetos está liberado para todos os membros do domínio developer.mycorp.com para escrita e leitura e para os da rede manager.mycorp.com apenas para leitura (afinal, o que um gerente vai fazer editando os arquivos de programa?)

Acho que deu para pegar o esquema. Existem varias opções no exports. As mais usadas são o ro e rw mesmo. Para ter acesso a todas as opções (e explicações mais detalhadas) veja a página de manual do exports.

Toda vez que você fizer uma modificação no arquivo /etc/exports é necessário reexportar os diretórios da sua máquina. Faça assim:

	# exportfs -r

E pronto! Suas novas configurações já estão funcionando. No final deste texto existe um exemplo de /etc/exports.

3. Configurando o Cliente

Assim que o sistema é ligado, o Slackware monta todos os diretórios NFS que constam no /etc/fstab. Então, se você pretende montar sempre estes diretórios, é uma boa idéia colocá-los no /etc/fstab.

Para isso basta colocar uma linha com a seguinte sintaxe:

ip.do.servidor.nfs:/diretório_no_servidor  /diretório_local  nfs  defaults  0 0

Coloque uma linha para cada um dos diretórios que serão importados. Existem também várias opções de montagem, consulte as páginas de manual apropriadas se você pretende fazer algo mais ``complexo''.

Se você a qualquer momento pretender montar ou desmontar todos os seus diretórios NFS, você pode fazer isso com o seguinte comando:

# mount -a -t nfs
# umount -a -t nfs

O primeiro monta e o segundo desmonta. Para fazer o mesmo com um diretorio individual, use a sintaxe comum do mount.

O sistema irá iniciar o rpc.portmap automaticamente, mas se você não quiser ver uma mensagem de erro avisando que o rc.portmap não está acionado toda vez que sua máquina for inicializada, torne o rc.portmap executável com o comando: chmod +x /etc/rc.d/rc.portmap

4. Exemplos

4.1. /etc/exports

# 
# Exemplo de /etc/exports no servirodor 192.168.0.1 na rede
# com o domínio bluecup-microsystems.com
# 
# Exporta o diretório /usr para uma máquina em somente leitura:
/usr   192.168.0.4(sync,ro)
# Exporta o /usr/local para todas máquinas da rede, somente leitura:
/usr/local   *.bluecup-microsystems.com(sync,ro)
# Exporta o /home para que as outras máquinas da rede utilizem:
/home   *.bluecup-microsystems.com(sync,rw)
# Compartilha um /temp para troca rápida de arquivos na rede:
/temp   *.bluecup-microsystems.com(sync,rw,insecure,all_squash)
# Libera o /cdrom pra galera...
/cdrom   (sync,ro,insecure,all_squash)

4.2. /etc/fstab

# 
# Exemplo de /etc/fstab contido na máquina 192.168.0.4 acessando
# o servidor descrito no exemplo acima
#
/dev/hda1          swap   swap   defaults                   0  0
/dev/hda2          /      ext2   defaults                   1  1
192.168.0.1:/usr   /usr   nfs    defaults                   0  0
192.168.0.1:/home  /home  nfs    defaults                   0  0
192.168.0.1:/cdrom /cdrom nfs    users,noauto,nodev,noexec  0  0

5. Mais informações

Se você for exportar o /home, lembre de manter o mesmo UID e GID nas máquinas cliente e no servidor. Isso fica bem mais fácil usando NIS. O NIS exporta várias informações para a sua rede, poupando um monte de trabalho.

Para maiores informações, consulte:

  • NFS-HOWTO
  • NIS-HOWTO
  • man exports
  • man fstab
  • man nfs

Em último caso, é possível me contactar via e-mail: piterpk@terra.com.br


Links Principal Artigos Piter Punk Dicas Programas
 
Powered by Slackware Linux - Written in VIm (the best one!) Last Update: 30 Oct 2004