nfs network file system completo em GNU/Linux, Solaris, FreeBSD,OpenBSD e HP-UX.

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

logo_linux

Leave a Comment

Your email address will not be published.

Powered by Moblie Video for WordPress + Daniel Watrous