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:
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
|