NFS rápido e direto usando Slackware 12

Excelentes contribuições tem sido disponibilizadas na Internet sobre NFS, esta é apenas mais uma (modesta) que visa contribuir de forma direta e prática de como configurar e colocar em funcionamento um servidor NFS e usando um cliente para testar seu funcionamento correto. Este artigo foi um trabalho que apresentei na  época da graduação.

O servidor

Vamos lá!

Para colocarmos o servidor em funcionamento iremos habilitar alguns serviços necessários caso estes ainda não estejam em funcionamento. São eles:

  • rc.nfsd
  • rc.portmap

Localização: /etc/rc.d (Slackware)

Como ativar os serviços?
Assim: Logado como root, dê permissão de execução para os serviços listados acima para que eles sejam ativados na inicialização.

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

Agora voltemos nossa atenção para o arquivo de configuração necessário para exportarmos nossos diretórios compartilhados no servidor NFS. O arquivo a ser configurado é o seguinte:

  • exports

Localização: /etc/

Como?
Assim: Logado como root e usando o seu editor de texto preferido, siga este modelo ou altere-o de acordo a sua necessidade. Abra o arquivo:

# mcedit /etc/exports

Adicione esta linha no final do mesmo.

#Minha alteração para uso do NFS
/nfsgtech 192.168.100.*(rw,sync, root_squash)

Breve explicação dos parâmetros utilizados:

  • /nfsgtech – é o nome e o path do meu diretório que ficará disponível no servidor NFS;
  • 192.168.100.* – É o range de ip que terá acesso ao meu servidor NFS, o asterisco informa que qualquer ip (na faixa entre 1 e 254) da rede 192.168.100 poderá acessar este diretório;
  • (rw,sync,root_squash) – rw são permissões de leitura e escrita, o sync se refere a sincronização durante o armazenamento dos dados e o root_squash evita que o root cliente tenha direito de root sobre os diretórios do servidor.

Criando os diretórios a serem usados: vamos criar os diretórios que especificamos no arquivo exports e suas permissões necessárias:

Como?
Assim: Logado como root, crie o diretório a seguir na raiz da árvore de diretórios do seu disco rígido:

# mkdir /nfsgtech (cria o diretório)
# chmod 777 nfsgtech (dá permissão total ao diretório, para todos os usuários)

E no diretório /mnt vamos criar um diretório do mesmo jeito e como o mesmo nome:

# mkdir /mnt/nfsgtech
# chmod 777 /mnt/nfsgtech

Iremos agora inicializar os serviços no servidor e verificar se os mesmos estão corretos:

Como?
Assim: Logado como root execute estes comandos no terminal:

# sh /etc/rc.d/rc.portmap start (não retorna nada na tela)
# sh /etc/rc.d/rc.nfsd start (vai retornar algumas informações)

Verifiquemos agora se os serviços estão realmente funcionando.

Como?
Assim: Logado como root execute estes comandos no terminal:

# rcpinfo -p
(verifique se os serviços “portmapper”, “mountd” e “nfs” foram listados)

# showmount -e localhost
(ele vai te retornar as informações do arquivo exports, caso o serviço esteja correto)

Poderemos agora montar nosso diretório NFS em nosso servidor e posteriormente se for necessário adicioná-lo ao FSTAB.

Como?
Assim: Logado como root, execute em seu terminal os seguintes comandos:

# mount -t nfs 192.169.100.110:/nfsgtech /mnt/nfsgtech

OBS: Lembrando que o ip aí é o ip do meu servidor, no caso altere-o para o seu ip e suas configurações pessoais.

Verifique agora com o comando:

# mount

E ele retornará seus mountpoints configurados, inclusive o “/nfsgtech”.

Pronto! Servidor funcionando com seus serviços necessários.

No próximo passo veremos como configurar o cliente e acessarmos o nosso servidor NFS remotamente.

O cliente NFS

Vamos agora configurar o cliente NFS para acessar o servidor e poder estar armazenando dados remotamente como se fosse num disco local.

Precisaremos habilitar os mesmos serviços que o servidor. São eles:

  • rc.nfsd
  • rc.portmap

Localização: /etc/rc.d/

Damos a eles a permissão de execução durante a inicialização.

Como?
Assim: Logado com root no terminal digite estes comandos:

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

OBS: Dica IMPORTANTE. Caso não consiga encontrar o rc.portmap no diretório rc.d, você poderá iniciá-lo também chamando o serviço rc.rpc que funciona do mesmo jeito.

Criaremos nossos diretórios para montagem dos diretórios remotos do servidor NFS.

Como?
Logado como root crie o diretório a seguir na raiz da árvore de diretórios do seu disco rígido:

# mkdir /nfsgtech (cria o diretório)
# chmod 777 nfsgtech (dá permissão total ao diretório, para todos os usuários)

E no diretório /mnt vamos criar um diretório do mesmo jeito e como o mesmo nome:

# mkdir /mnt/nfsgtech
# chmod 777 /mnt/nfsgtech

Iremos agora inicializar os serviços no servidor e verificar se os mesmos estão corretos:

Como?
Assim: Logado como root execute estes comandos no terminal:

# sh /etc/rc.d/rc.portmap start (não retorna nada na tela)
# sh /etc/rc.d/rc.nfsd start (vai retornar algumas informações)

OBS: Caso o rc.portmap não esteja lá, utilize o rc.rpc start.

Verifiquemos agora se os serviços estão realmente funcionando.

Como?
Assim: Logado como root execute estes comandos no terminal:

# rcpinfo -p
(verifique se os serviços “portmapper”, “mountd” e “nfs” foram listados)

# showmount -e 192.168.100.100

Ele vai te retornar as informações do arquivo exports do servidor NFS (lembre-se de que esse é o meu ip, não custa nada lembrar a você que troque pelo seu endereço ip). ;-)

Agora é a hora da verdade! Vamos montar nosso diretório remoto a partir do nosso cliente NFS.

Como?
Assim: Logado como root digite este comando no terminal:

# mount -t nfs 192.168.100.100:/nfsgtech /mnt/nfsgtech

Ok! Montado com sucesso nosso diretório NFS.

Use o comando mount para listar os mountpoints atuais. Ele irá mostrar no final da saído do comando isso aqui:

192.168.100.100:/nfsgtech on /mnt/nfs type nfs (rw,addr=192.168.100.100)

Feito! Agora é só ler os manuais do NFS para implementar as questões relativas a segurança e outras opções de funcionamento mais aperfeiçoadas.

Boa Sorte! ;)