Nfs – Network File System (completo)
NFS (acrônimo para Network File System) é um sistema de arquivos distribuídos desenvolvido inicialmente pela Sun Microsystems, Inc., a fim de compartilhar arquivos e diretórios entre computadores conectados em rede, formando assim um diretório virtual. O protocolo Network File System é especificado nas seguintes RFCs: RFC 1094, RFC 1813 e RFC 3530 (que tornou obsoleta a RFC 3010).
O NFS é um protocolo e serviço depende de alguns daemons em funcionamento, como o nfsd (daemon NFS, que atende requisições dos clientes NFS), mountd (daemon de montagem NFS, que executa as solicitações que o nfsd lhe passa.), e o portmap (muito utilizado na integração nas versçoes 2 que eram usados no SunOS 2.0 e 3 do NFS o daemon portmapper, permite que clientes NFS descubram qual porta o servidor NFS está utilizando.), statd e o lockd (utilizados nas versões 4).
Entao verificamos com o comando abaixo as portas do NFS que são registrados aos progrmas RPC:
#rpcinfo -p
Levamos em consideração suas instalações de pacotes em versões do UNIX e distribuições LINUX.
*Vamos verificar a disponibilidade dos pacotes:
(solaris)#pkginfo | grep “nfs”
(hp-ux)#swlist -v nfs
(freebsd)#pkg_info | grep nfs
(redhat)#rpm -qa | grep -i “nfs”
(debian)#dpkg -l | grep -i “nfs”
Lembramos tambem que para distribuição Linux ou versões do Unix existe tambem a disponibilidade dos daemons.
(red hat) /etc/rc.d/init.d/nfs
(debian) /etc/init.d/nfs-kernel-server
(solaris) /etc/init.d/nfs.server
(hp-ux) /etc/init.d/nfs.server
Em sistemas Solaris vc pode criar um compartilhamento de uma forma rápida com o comando share ja em sistemas Linux vc pode criar compartilhamentos com o NFS utilizando o exprotfs.
(solaris)#share -F nfs -o rw -d “descricao” /diretorio
ou editar o seu arquivo de configuracao /etc/dfs/dfstab em sistemas Linux vc pode utilizar o comando exportfs para criar tais compartilhamentos:
(linux)#exportfs -v -o rw 10.0.0.2:/dados
Ou entao editar o seu arquivo de configuração em /etc/exports (este mesmo arquivo é o arquivo de configuração do HP-UX). O comando exportfs NO LINUX é utilizado para exportar OU re-exportar qualquer compartilhamento que se encontra criado no /etc/exports. Sua utilização é devida após vc escrever no arquivo /etc/exports onde utilizaremos este comando com as seguintes opções: -a para exportar tudo em exports, -r para re-exportar, -v para saida de verbose , -o para devidas opções que vc encontra no artigo abaixo e -u onde vc tem a possibilidade de un-exportar.
No sistema FreeBSD é necessario adcionar ao seu script /etc/rc.conf a auto inicializacao dos daemons correspondentes ao uso do NFS. Por exemplo:
portmap_enable=”YES”
nfs_server_enable=”YES”
mountd_flags=”-r”
No cliente, deve ser adicionada a seguinte linha ao /etc/rc.conf:
nfs_client_enable=”YES”
Ja no sistema OpenBSD devemos adcionar no seu arquivo /etc/rc.conf OU /etc/rc.conf.local (caso o seu openBSD trabalhe com o rc.conf.local de preferencia a ele), adcione as seguintes linhas:
portmap=YES
nfs_server=YES
Vale lembrar que no OpenBSD nao existe o diretorio de daemons para vc reinicar serviços, vc pode iniciar o NFS e a rede
atraves do seus daemons de acesso ao processo como vimos acima com o comando nfsd OU a rede pelo script /etc/netstart.
#sh /etc/nestart
#nfsd
NOTA UNIX: Em sistemas OpenBSD, FreeBSD, Solaris, HPUX, para aumentar o número de servidor NFS em operação , edite o seuo script de inicialização como o caso do /etc/rc.local e coloque o número desejado de serviços após o processo nfsd. Por exemplo, para instruir o servidor NFS para começar com oito processos, seria utilizado: nfsd 8
Para que esta alteração tenha efeito, reinicie o daemon utilizando para o servidor de NFS de acordo com o seu sistema (como acima).
Caso vc venha editar a configuracao do seu servidor de NFS no arquivo /etc/exports (Linux e HP-UX) e /etc/dfs/dfstab (Solaris), interessante é vc saber as devidas opções:
rw –> Os associados nome_do_caminho é leitura / gravação para todos os clientes, o que é o comportamento padrão, se nenhuma opção é fornecida (Este comportamento padrão é para Solaris)
rw = client_host (dfstab) –> Um sistema cliente pode ser especificado com o NFS mediante a sua permissão. Para Linux, a sintaxe inclui apenas “HOST(rw)”.
ro –> Os caminhos é só de leitura para todos os clientes.
ro = client_host (dfstab) –> Um sistema cliente nome pode ser especificado com o NFS e permissão. Para Linux, a sintaxe inclui apenas “HOST(ro)”.
root_squash –> Mapas quaisquer pedidos a partir do usuário root (UID de 0) para o UID anônimos.
secure –> exige que os pedidos originários NFS cliente em uma rede porta que é inferior a 1024. Por padrão esta opção está ativada. (Desabilitar)
anon=uid –> Define o UID do servidor para a conta do usuario ” desconhecido ou anonimo”. Por padrão, todos os usuários são desconhecidos dado o UID de 60001, ja no sistema Linux os UIDs de usuarios desconhecidos ou ” nobody” é fornecido com o numero de 65534, configurado ambos no arquivo /etc/passwd.
log –> Geralmente no Solaris é utilizado para habilitar o suporte aos logs do servidor NFS sendo despojados normalmente.
(concluindo…)
Assim que vc terminar todos os procedimentos em Linux e Unix vamos então montar o NFS pela rede:
#mount <host> <ponto de montagem>
ex: #mount 10.0.0.2:/home/aprigio /mnt/nfs -v
#mount —> para se certificar se realmente montou ;)
Note que vc tambem pode utilizar o comando df para se certificar dos pontos de montagens e quanto eles ocupam. Ja no HP-UX o comando correto é o bdf, o HPUX nao trabalha com o df e sim com o Beskley DF.
Valeu pessoal, é o poder!
Aprígio Simões




